“We’ve got to teach kids to program, but not as a subject in isolation.”

October 19, 2011 at 11:40 am 37 comments

Mike Goldweber sent me a link to this video at BBC News – Newsnight – Is lack of computer science teaching failing pupils?.  I’m a bit worried about the overall theme of this story, that it’s important to teach UK kids programming in order to save the British gaming industry.  (Are there that many jobs available in gaming?  So much that we should teach every kid in school to program?)  But the quote right at the beginning, around 44 seconds in, is a thought that I’ve been mulling a good bit recently.

We’ve got to teach kids to program, but not as a subject in isolation.

That sentiment is in keeping with Seymour Papert’s original vision for Logo in schools.  In his book “The Children’s Machine,” Seymour critiqued the process of “schooling” that took Logo out of its natural home as a tool for exploration and expression in mathematics and science class, and instead “schoolified” it. Logo was shoved into the lab (far away from the interest of teachers), and made into a separate subject to be taught, after the pre-requisite “Keyboarding Skills” course.  Seymour saw programming as going beyond “the 3 R’s,” in an amazingly prescient Wired piece from 1993, where one can see the seeds of the Open Learning effort and individualized learning support through technology.

This issue of teaching programming in the context of other courses helps to address some of the concerns voiced in the recent discussion about computer science as a liberal art.  It’s a point I hear often from high school teacher advocates.  “The curriculum is too full.  If we put CS in, what comes out?”  Seymour was saying that that’s the wrong way to think about it, and I’m starting to think he was right on this count (among many others–some of his insights take me longer to grok).  It’s not about doing something more.  It’s about teaching what we have now, but in a new and more powerful way.  It’s Andy diSessa’s argument for computing literacy — how much powerful are we when we are as literate with computing as we are with numbers or text?

Set aside the issue of programming being a weird (and arguably, badly designed for the general purpose of insight and expression) notation, and even set aside the technology issue.  Imagine that we had a new form of writing, that wasn’t that much different than English (e.g., it’s not Esperanto), but was significantly more powerful (e.g., more accurate, more understandable, more usable for mapping to theory, more practical for solving problems) for expressing science and mathematics.  And what’s more, once you used that language, you could easily visualize and simulate what you described.  Wouldn’t that be worth teaching to every science and mathematics student, at least at the undergraduate level?  Certainly, we would want that for every graduate student.  Why is it not worth teaching, just because it’s a notation that runs on a computer?

I have advocated for some years now “Computing for Everyone,” that Alan Perlis had it right when he argued in 1961 that everyone on campus should learn to program.  Perlis advocated a required course for everyone, and so have I.  Maybe that’s the wrong end-goal. I understand the argument from CSTA, that it’s hard enough to teach enough CS teachers in high schools — how in the world can we teach every mathematics and science teacher how to use and teach programming?  I totally get that we don’t know how to get there.  But that doesn’t make it the wrong desired goal.  (I’m reading in the middle of Abelard to Apple now, so I might be particularly receptive to learning-with0ut-courses these days.)

How do we get there, where students have true computing literacy and programming is part of science and mathematics?  Are required courses in computing part of the trajectory to the desired state?  Or is there a different path to integrating computing into the rest of the curriculum?

Entry filed under: Uncategorized. Tags: , , , .

More than CS10K: 100Kin10 CS Education Act aims to boost K-12 computer science education: It’s about time

37 Comments Add your own

  • 1. Greg Wilson  |  October 19, 2011 at 11:47 am

    One of the biggest questions (which people are understandably reluctant to address) is what we take _out_ to make room for computing. The number of hours students have is (roughly) a constant; if we want to add computing, are we going to teach less geography, less biology, or have them spend less time in the gym? (It’s tempting to say, “That won’t be an issue — once they know computing they’ll be able to learn everything else much faster,” but that’s not going to fly until we have a _lot_ of proof.)

  • 2. Lisa RL  |  October 19, 2011 at 11:56 am

    The one argument I keep hearing as to why more technology isn’t incorporated into classrooms is “lack of time”. And I agree – some of the courses I teach have a crazy number of curriculum points I have to cover. While programming would definitely help me to teach some of them, I certainly don’t have time to teach the basics of programming + all the math topics.

    I think one way to overcome is to create combination classes with more than one teacher. There could be Math/CS (2 periods), Math/Science/CS (3 periods), or Science/CS (2 periods). The whole block could be assigned to one teacher who is competent in all the subjects (and who would obviously teach fewer other courses), or to 2/3 teachers who would have to work together and collaborate. With these classes combined, the course could be altered to teach the subjects in a much more contextual manner.

    Of course, the scheduling would be a nightmare.

    Oh! Here’s an example of someone already doing this:

  • 3. Bonnie MacKellar  |  October 19, 2011 at 12:00 pm

    The vast majority of computing effort is in the realm of business, not math and science. Why do we want kids to think that computing is only about math? Many of the CS majors at my university choose to minor in business because they see the relationship. They probably would not have chosen the major if they thought that CS was only for math and science.

    I have spoken with people who integrate computing with music, with performance, with medieval studies – all kinds of areas. That is why I am concerned about statements like “natural home as a tool for exploration and expression in mathematics and science”.

    In the end, I still see computer science as an engineering discipline, NOT a liberal art. We don’t study things, we create things. We design and create systems which are useful to people in all sorts of fields.

    • 4. Mark Guzdial  |  October 19, 2011 at 12:21 pm

      We don’t want kids to think that computing is only about math. Seymour Papert did say that he saw computing as being natural in science and mathematics classes, as I referenced. It seems perfectly natural to use it in business, too. I didn’t think that I claimed in this piece that CS was a liberal art. I did say that programming is a powerful tool for expressing and exploring ideas, and I agree that we should teach how to engineer with software, too. I’m not at all talking about CS majors in this piece, though — I’m talking about how to teach computing in schools.

      • 5. Bonnie MacKellar  |  October 19, 2011 at 1:29 pm

        I’m glad you think that, but the tone of the article is heavily tilted towards CS as part of math and science. And it is all too easy for that to happen in K12. Back when I was in high school, the only computing was one sad little course offered by the math department, where they wrote little programs in Basic that solved math problems. I don’t think a single girl ever took that course. I certainly didn’t. I thought of programming as being something like working a calculator. It wasn’t until I hit college and made friends with engineering students that I realized that computers are a tool for designing things. That realization is what sparked my interest.
        As a result, I fear that if we push the CS-as-part-of-math idea too hard, we will end up with high schools where the only computing class will be similar to the one in my high school, turning off everyone but some geeky boys. I know the efforts to redesign the AP course are trying to counteract that – but how many districts have AP computer science? The district that my kids are in, one of the top districts in NY, does not have AP computer science. I have never had an undergrad CS major who took AP computer science in high school. Maybe NY is an anomaly, but there doesn’t seem to be much penetration of AP computer science here.
        I agree that high school students (and younger) should learn some programming and computational problem solving skills, but I think computing should be presented more as a design activity, in which students create applications that have some impact. I’ve been watching the whole AppInventor initiative – it seems to me that this could be a good way to explore the role of design and creativity in computing with students who haven’t learned much programming yet.

        • 6. Mark Guzdial  |  October 19, 2011 at 7:45 pm

          That’s exactly what I would like to avoid, Bonnie. I agree strongly with Alfred — we should be teaching in a much more cross-disciplinary way. Seymour argued for Logo to enable a new kind of a mathematics. He didn’t want to replicate the old, as in creating a calculator with Logo. He wanted to enable exploration of dynamics and geometry in new ways.

          For me, computing (and programming specifically) is a medium. You can create great things with it, and you can do little things with it. It works like language. People can create great novels, and they can write notes to their grandmother, and they can sketch poems on the back of a napkin. I want to see computing in business and in math, and I want to see people do real engineering with it and little bits of exploration that help them try out ideas.

          The hope of CS:Principles is that a new kind of AP would be more attractive, and would get greater penetration.

    • 7. David Sands  |  October 20, 2011 at 8:38 am

      to Bonnie MacKellar – absolutely agree. in the 80s when I had lots of money I gave computers (e.g. PETs) to schools. They went straight to the maths departments much to my chagrin. What about the logic of every day problems, I would say, what about word processing….. It looks like things have not changed.

  • 8. Alfred Thompson  |  October 19, 2011 at 12:43 pm

    I think this points out a larger problem in education which is that we teach almost everything in isolation rather than in context. Cross curriculum is often talked about but not as often actually accomplished in the real world. It’s not so much that it is hard as it is that it means a change. Including CS in more subjects would make both better and more interesting. It is not something that teachers are being prepared to do.

    • 9. gasstationwithoutpumps  |  October 21, 2011 at 3:03 pm

      I think this is a very strong point. Even calculus and physics, which are made for each other, are rarely taught together. As long as we work on slicing the pie finer and finer, we are unlikely to see much penetration of CS into the curriculum.

  • 10. Michael Tobis  |  October 19, 2011 at 1:09 pm

    I don’t know if we can include pen and pencil skills in the curriculum – it’s already so full…

  • 11. Nick Barnes  |  October 19, 2011 at 2:02 pm

    What we take out, in the UK, is “information technology”. This occupies a huge amount of classroom time and syllabus space, and spends all of it – not 20%, not 50%, all of it – teaching kids how to use Microsoft Office.

    It is hard to imagine a bigger waste of teaching opportunity. Introductory programming could be taught in a fraction of the time (and using the same computing hardware). The rest of the time could be given back to real subjects like history, geography, biology. Frankly I’d prefer it my children were hanging around in parks and shopping centres, learning to slouch and wear hoodies, rather than learning for the 50th time how to write a Powerpoint presentation.

    • 12. GFW  |  October 20, 2011 at 4:14 pm

      They teach MS Office in high school in the UK? In a required class or an elective? If required, then I agree that’s nuts. Specific software could be part of any vocational elective, but it needs to be in the context of its use – like CAD in a drafting/design class, Excel in an introductory accounting class … but just teaching Office bereft of context would be a waste of time and money.

  • 13. Franklin Chen (@franklinchen)  |  October 19, 2011 at 2:23 pm

    I agree that everyone should learn to program and not in isolation.

    I also agree with Alfred Thompson that we could do a global substitution of “program” by “read” or “do math” or “eat” or “exercise” and the same sentiment applies. In other words, there is no new problem, just an old problem with a new useful life skill that we would like everyone to be able to learn and apply, rather than take a few required courses in and then disregard everything (except for misconceptions gained from a too cursory and disembodied treatment of a topic) for the next half century of their lives.

  • 14. Aron Ahmadia  |  October 19, 2011 at 4:18 pm

    Should we require Computer Science courses as a prerequisite or co-requisite for more coursework at the University level? I think we already see this in many engineering schools where MATLAB is becoming a viable choice for Intro to Programming courses. I agree with Greg that we need to carefully consider how to make the argument for filling more student time with this sort of coursework, and I wonder if we might start considering a Computational Track alongside the “Pure”, “Applied”, “Informatics”, and “Experimental” tracks in formal curricula?

  • 15. David Weintrop  |  October 20, 2011 at 10:54 am

    Given the existing constraints schools currently operate under (packed school days, a fixed set of teachers, high stakes testing, etc…), I completely agree that in K-12 education CS belongs embedded in existing courses. Beyond the logistical reasons, this approach ensures all students are exposed to CS ideas. Even in schools that offer CS courses there are issues of underrepresented student populations self-selecting out of these classes. By embedding CS in traditional classes, all students are given exposure to the field.

  • 16. Andrea Garbagnoli  |  October 20, 2011 at 11:29 am

    Can I suggest to have a look at Leonel Morgado’s research about teaching programming to preschooler and kindergrarteners?
    You can find more at http://home.utad.pt/~leonelm/

  • 17. Bri Morrison  |  October 20, 2011 at 11:31 am

    I see a world in the (hopefully) not too distant future where curriculum exists for students, and the teachers, to discuss relevant topics *across* disciplines. Take, for instance, the Japan tsunami. A “unit” on the topic exists with one piece dealing specifically with the science portion (causes of tsunamis, biological effects, physics of the waves, etc.), a social science portion (human trauma, psychological recovery, etc.), math (prediction algorithms, calculating sizes of the waves), and then computing (simulations, visualizations of the physics, math). This doesn’t even begin to touch on the nuclear power story which could be another unit.
    For the teachers, they can teach in depth the portions they know, and all the supporting materials (learning objectives, class plans, projects, assessments, and other teachers, etc.) exist for all the other pieces. Students see that nothing exists in isolation, all the disciplines are needed to study a phenomenon, let’s teach them which discipline is used to solve which specific piece of the problem.

    Much like you can’t say “I only write in English class,” we shouldn’t say “I only program / write simulations / create digital artifacts in computer class.” We can’t possibly educate all the existing English, science, math, music, art teachers in computing (can we?). Instead, we need to give them the information, tools, and curriculum that are easy to use and easy to teach to allow them to educate the students. That should be the goal.

  • 18. Michael Goldweber  |  October 20, 2011 at 11:41 am

    Yes, education is a zero-sum game. Put something new in, something old(er) comes out. But my thinking is a bit more radical.

    Currently we spend a lot of time teaching our students to be computing agents. (e.g Long division) This is outdated thinking. Instead this time could be spent having kids learn to “teach” the algorithm to digital computing agents (phone, tablet, laptop, etc.) Algorithm mastery comes not from practicing being the agent that follows the steps, but by being able to program/debug (i.e. “teach”) the algorithm. (The best way to learn something is to teach it to someone else.)

    When this perspective is accepted, then teaching programming does not require something to be thrown out; just do what has always been done – just differently.

    • 19. Mark Guzdial  |  October 20, 2011 at 8:49 pm

      Agreed — as we move to a new literacy, we’ll teach new things, not just old things in a new way. Teaching an agent to do long division is something new and likely more powerful than doing it oneself.

  • 20. Cecily  |  October 20, 2011 at 5:10 pm

    A couple of thoughts:

    1) Running a CS program at the high school level, especially in a smaller rural or charter school is tough. Many schools can only afford to hire a single CTE teacher, typically in the IT stream. This teacher is often required to teach office, programming, multimedia, web development, and in some schools a variety of other topics too. The classes in such schools tend to have an extremely diverse student population including some kids whose parents are professors and others that have been in and out of dozens of foster homes with multiple special education needs. Scheduling constraints in such a school often cause these students at these extremes to end up in the same classroom. Obviously, we would like for all of the students to learn about programming and computing, but when we make something a requirement, we are requiring it of everybody- including the high school student who hasn’t learned to read or do multiplication tables. Ideally, these students have IEP’s and 504’s, but often they slip through the cracks and their computing education is typically not the top priority to receive extra resources- the extra resources generally go to math and english. These kind of problems lead to the proverbial “curriculum squeeze”- we must take something else out if we want to put something new in.

    2) I know of some universities where CS is acceptable as a language for a linguistics degree, and I think there are a lot of K12 students who would love to substitute 2 years of programming/CS for 2 years of a foreign language required for entrance to a college/university. To me, this is a far more realistic substitution than trying to count CS as a math or science credit.

    • 21. Mark Guzdial  |  October 20, 2011 at 8:48 pm

      I’m pretty sure that CS being an acceptable substitute for a language requirement is an academic urban myth — I’ve never found a school that actually accepted a programming language as a substitute for a foreign language requirement.

      I’m not at all arguing for trying to count CS as a math or science credit. I’m suggesting that we should teach programming in math or science, much as how programming in Python is an integral part of the Matter and Interactions undergraduate physics curriculum that’s used here at Georgia Tech, Purdue, NCSU, and elsewhere. Certainly, we can teach programming elsewhere, too. Those are just easy places to put.

      Programming isn’t a subject — it’s a literacy. It’s a necessary literacy for learning computer science. It’s a literacy that can be used in many different disciplines, most notably in science, mathematics, and engineering where it’s become a necessary part of 21st Century practice.

  • 23. richmaines  |  October 20, 2011 at 6:28 pm

    Agree with notion that programming should not be taught as a subject in isolation, but why limit the introduction of progamming to math and science classes? Math equations certainly translate well into computer programs, as opposed to something more perfunctory, like, tell me the capitals of the original 13 colonies? Or does it…? Seems like building a simple program that would visualize the solution to this problem would be a “fun” way to spice up an otherwise mundane memorization task.

    I chose CIS as my undergrad because I wanted to focus on solving business problems by building applications/systems. Unless your career requires a security clearance or the requirement to wear a lab coat, seems like introducing programming as a pragmatic way of solving (or visualizing the solutions to) routine problems would be a valuable lesson.

    • 24. Mark Guzdial  |  October 20, 2011 at 8:44 pm

      How would programming improve the learning of the capitals of the 13 colonies? Yes, you could do a programming assignment about the 13 colonies, but would it result in better learning? Maybe we should just be dumping that learning objective, or fit it into somewhere where it makes sense and isn’t rote memorization? This doesn’t feel like an issue about programming.

    • 25. Erik Engbrecht  |  October 22, 2011 at 10:03 pm

      Ok, let’s run with your “Colonies App” suggestion for a bit. Let’s say we have a school that practices highly interdisciplinary education. A history class has been told to all do a project that mixes American history during the colonial period with the subject matter of another class.

      John takes a traditional route and combines history and geography. He writes a fairly long paper on the relationships between geographic features and the colonists/Americans attitudes towards the British and eventual revolutionary war. When questioned, John can speak intelligently on the subject of his paper, and when questioned on miscellaneous facts about the period answers them fairly well. Mostly what John has done is research, memorize, and summarize the works of others with some minor editorializing thrown in.

      Jim decides to build a database app to store and retrieve various information about the colonies. He loads in assorted data, and spends some time exploring it. He makes discovers a couple interesting insights, and makes a couple reports to demonstrate them. Maybe he noticed a correlation between region and number of troops committed to fighting the British. He writes a short essay describing the app and about his discovery. As long as he has his database he can answer a lot of specific questions, but if you take it away he reverts entirely to generalities. He struggles to even name the 13 colonies from memory.

      From the perspective of a history teacher, which student has the better educational outcome? Both students have worked hard. Both students have demonstrated some insight. But at the end John conforms to the traditional definition of a strong history student, while Jim clearly does not. Also, what if the students need to be able to pass a standardized test based on the traditional definition?

      For a little less far fetched example, consider some students in an algebra class. Their teacher has asked them to find the roots of a particularly hairy polynomial. Three of the students obtain correct answers through the following approaches:

      1) John uses techniques taught in class to factor and solve the polynomial by hand.
      2) Jim writes a short computer program that does it numerically, albeit in a way that’s neither general nor numerically stable.
      3) Jason uses Google to find a program that solves polynomials, and uses it.

      They all have the right answer. John and Jim both did “real work” to find it. John is the only one that demonstrated much knowledge of the subject. How should they be graded?

      The problem is that at any given level modern technology fundamentally changes what a person needs to know. But it doesn’t necessarily change what the person needs to advance to the next level, or it may change it in non-obvious ways. There’s also likely to be a high level of resistance to passing a person when really what they know is how to make the computer do it.

      • 26. Mark Guzdial  |  October 23, 2011 at 3:07 pm

        Rich Lehrer had an interesting study in the early 1990’s (reported in “Computers as Cognitive Tools” edited volume) where two groups of students created reports on the Civil War, one in text and one in a multimedia authoring tool. Both groups did well on the final exam, but the multimedia tool students did better a year later. There may be some basic standardized test advantages to composing with multiple media, though that’s not exactly programming.

        • 27. Erik Engbrecht  |  October 23, 2011 at 8:19 pm

          I almost wrote the “traditional project” as something multimedia, but I’m not familiar enough with multimedia authoring tools, unless you count PowerPoint as a multimedia authoring tool. Back in the day I would have said HyperCard for Mac or HyperStudio for IIgs, but I don’t know of any modern equivalents and those wouldn’t seem that “multimedia” these days. You certainly could use those to make interactive, multimedia “reports” without the technology getting in the way too much.

  • 28. Academese » Blog Archive » Aprender a programar desde niño  |  October 20, 2011 at 10:34 pm

    […] Integrando la programación al curriculum. […]

  • 29. Bob  |  October 21, 2011 at 5:29 am

    I’m not sure that “everyone learning to program” is a good concept. What would be the point? What benefit would they get out of it?
    As a developer, I look back at the subjects I studied at school – match, biology, geography, a second language – none of these have I actually used since graduating high school. Children who study computer programming at a high school level, who choose not to go into a field where it is required, will not have gained any benefit from being taught the subject.
    I strongly feel that children should be exposed to a variety of subjects in the early years of schooling, and rather than be forced into traditional “academic” type schooling of say, 6 standard accepted subjects, they should be able to instead choose the subjects they have a natural talent for.

    • 30. Mark Guzdial  |  October 21, 2011 at 8:22 am

      This is exactly the point where the BBC piece and I differ. They argue to teach programming in schools in order to create more developers (specifically, game developers). Mary Shaw and Brad Myers at Carnegie Mellon, with their student Chris Scaffidi, did an estimate for the Department of Defense a few years ago. They estimated that by 2012, there will be 3 million people in the United States who are professional software developers. But there will be 13 MILLION people who program as part of their profession, but won’t be paid to do software development. Those are computational scientists and engineers, computational journalists, and even the graphics designers that Brian Dorn studied. And how many more than 13 million would there be if everyone was taught how to use coding for automation, exploration of ideas, and modeling and simulation? That’s why we would teach programming to everyone — because huge numbers of people are having to teach themselves as adults, which is inefficient and unproductive, and it increases potential for creativity and innovation if everyone had computational literacy.

    • 31. Nick Barnes  |  October 21, 2011 at 10:42 pm

      I completely disagree. Most of the subjects I studied in school have been of no financial value to me in my career. English Literature, Art, Music, Technical Drawing, French, Geography, History, Biology, Chemistry. But I feel that the study of these subjects has enriched me greatly.

      I don’t give a fig for school as vocational training. School should prepare children for life, not for a career, by helping them to develop a love of learning and an appreciation of the complexity and beauty of the world. If they have those things, then all the skills they need for a job they will either acquire as a side-effect or can pick up in a few weeks at the age of 16 or 18 or whenever.

      The current IT curriculum in the UK is terrible at this. Teaching programming would be a huge improvement: opening unsuspected doors in the minds of every child.

  • 32. Jim Lonero  |  October 21, 2011 at 1:27 pm

    To Bob’s comment (#24), I agree whole heartedly. Computer programming should be an optional subject. Even in math studies (algebra), you come across some simple programming techniques when you are introduced to variables. This can also lead a student, if he is interested, to the computer programming classes, and then into the field of computer science.
    Even, the original article states: “that it’s important to teach UK kids programming in order to save the British gaming industry. (Are there that many jobs available in gaming? So much that we should teach every kid in school to program?) ” The British gaming industry? What types of games? From what I have heard about the inner workings of a local software game company (Electronic Arts), those newly minted programmers will be working very long hours. What seemed like a dream job will be hell on earth. I am cringing in horror about the thought of those students not knowing what they are getting into.
    Yes, there are many other more decent types of computer programming jobs out there and the field is growing. But, not all students have the natural inclination to be able to program or hold the concepts of programming expression. Even, for that matter, you can teach programming concepts in home economics. Just the process of making a cake is a form of programming. But, leaving computer programming classes as optional subjects and not as standard classes should be sufficient. Today, there are students graduating from high school who haven’t had algebra. If they cannot grasp the concepts of a first year algebra class, how can the understand computer programming?

  • 33. Mike Hatfield  |  October 21, 2011 at 6:04 pm

    What to cut from K-12? EASY!! Cut math. High school math.

    Last year my 9th grader was manipulating irrational numbers like a champ. But he is still CLUELESS and can’t explain why he does what he does. This year, he is doing an arguably more valuable course in Geometry. He has started in on doing proofs.

    Ha! If he had some programming experience, he’d be taching the class how to do proofs.

    Luckily I did. And I could have taught the course as a ninth grader. However I have yet to need an understanding of irrational numbers or solving linear equations in my professional life. All the while, my programmer’s approach to problem solving, along with other math-related knowledge, has continually made me more productive and better-paid.

  • 34. Mike Hatfield  |  October 22, 2011 at 12:42 pm

    In practically every office, you’ll find home-grown data management tools leveraging everything from MS Access to a system of email folders to keep a lid on modern complexity. And you’ll see a lot of generally unskilled people banging their heads on keyboards wondering what their app-du-jour is doing. watching someone learn quick books AFTER they get some insight into how the “stupid machine” actually works is always less painful.

    Math is supposed to teach rational though and systematic problem solving. Before Pythagorus, all absolutes where handed to us by the gods. I really think that basic programming and some good debate classes (or writing classes as distinct from literature classes) will build stronger minds. We really must clear out the esoteric crud from our math curriculum and make way for something useful.

    And the CS majors don’t seem to add much to this conversation. They don’t seem to realize how short the world is on programmer literacy. You’re right that serious systems will not be made by high school kids. But most jobs can be done better by people who solve problems. Giving kids the power to solve better problems than “graph the line described by…” will empower them. Even the adoption of tools like smart phones will be faster and have more positive results on society if more of us have insight into how they work and what problems they might solve for us.

  • 35. gasstationwithoutpumps  |  October 28, 2011 at 8:22 pm

    Stanford has been getting a lot of undergrads to take CS courses.
    More info at

  • 36. Gail  |  November 7, 2011 at 2:57 pm

    This reminds me of my quest to convince local teachers (Ontario, Canada) that “computer science is relevant no matter what you’re teaching.” This partially stemmed from being a Let’s Talk Science volunteer and having a hard time offering computer science activities to my partner teachers. Sometimes I dream of ways I can do this sort of thing full time when I graduate, perhaps through some sort of consulting business. 😉

    I wrote about one presentation I did for teachers on my blog:


  • 37. Daniel Castro  |  March 7, 2012 at 3:57 pm

    This may be of interest to you: http://www.kernelmag.com/comment/column/1264/coding-for-success/

    It seems England has finally made the move to phase out ICT and bring in Computer Science:


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,184 other subscribers


Recent Posts

Blog Stats

  • 2,054,361 hits
October 2011

CS Teaching Tips

%d bloggers like this: