Dave Patterson on fixing high school CS education

June 25, 2010 at 11:41 am 34 comments

Dave Patterson kindly visited and commented on the post on Technology plus policy for scale. Heroically, he typed a long response, in raw HTML, in the little comment box. I wanted to make sure the comment didn’t get overlooked, so I’m sharing it here as a guest post.

Let me start by saying I love teaching. My sister got her teaching credential, my nephew is music high school teacher, and my daughter-in-law’s father is a high school teacher and in charge for information technology education for a school district.

My belief that the K-12 CS education problem is practically unsolvable for the next 10-20 years in the US is based on:

  • No room in the high-school curriculum for CS. College bound students want to take AP-everything, so they have very little flexibility in their schedules. The comments at the meeting where that we should just get a statewide requirement passed that mandates teaching of CS. What current topic should we drop? Physics? Biology? Math? English? History? Good luck convincing a state school board or your colleagues on campus that CS is more important for the future of our citizens than these topics. Part of their arguments against CS would be how can you get high quality of teachers for CS that they have demonstrated they can get at scale for their topics.
  • Low pay for new teachers. Once a young person knows enough about CS to be a good teacher of the material, they can dramatically increase their income by taking an IT job. Their love of teaching would have to outweigh their need to support their families. In addition, they will probably receive a layoff notice in their first few years, just in case their are not enough funds, whether or not they are really laid off. This letter has to make one wonder if this is a good long-term career. Fixing this problem is a major societal change in the US, and until its fixed its basically a Catch-22, leaving us with a relatively small number of heroic competent K12 teachers.
  • Changing education policy is hard and takes a long time, and there is little reason to believe you will succeed. This is a state by state, school district by school district level of change involving many advocacy groups. If you think all you need is logical arguments to win the day, look at the resurfacing of alternatives to evolution in the classroom.
  • Most proposed solutions don’t scale. There are roughly 50,000 high schools and 80,000 elementary schools and middle schools in the US. Whatever you are proposing, think about the time scale your innovation would take to affect 10% of these schools. That would mean that 90% students are left out. How long before your proposal would help 50%? 90%?

These points are why I agree with Alan Kay that the most plausible path forward is some kind of online tutor / assistant that could help teach the ideas big ideas about CS.

Basically, for the US we need solutions that leverage Moore’s Law to scale to the size of the problem we have. A goal could be to provide technology so that parents and/or math and/or physics teachers can supplement what students do in the classroom such an online assistant.

Here are my reasons why I think online assistant is plausible now despite its sorry 20th century track record:

  • The successes of open source software and Wikipedia. The ability of volunteers to create interesting and high quality material has been demonstrated many times in our field. I see no reason why this couldn’t happen for education assistants.
  • Cloud Computing means there need not be a local administrator running local hardware. This was a major problem with old hardware and out of date software given limited budgets. The remarkably low cost of nearly infinitely scalable computing is a godsend for K-12.
  • Cell phones mean everyone can have access. Half of the people on the planet have cell phones, and they are increasingly becoming smart. Cell phone are so popular that schools have policies banning them, as opposed to bake sales trying to raise funds to buy some PCs. Tablets and netbooks are further lowering the costs of getting something with a bigger screen; basically, all the software is in the Cloud.
  • WiFi makes “wiring” a school trivial. Even coffeeshops offer free WiFi, so its trivial for campuses to have them also.
  • Highly productive programming environments for Software as a Service lowers the difficult of creating online teaching services and more people can build them. Frameworks like Ruby on Rails are remarkably productive, and fun to use. Hundreds of thousands of people today can build services, and scale them up if needed using Cloud Computing.
  • Crowdsourcing to help with online questions. The success of Mechanical Turk and Wikipedia, where people do a lot of work for no or remarkably little money, suggest that there are many people who could answer questions that would come up naturally from people trying to learn from an online assistant. Hence, online assistants may end up in reality being hybrids of computers doing what they do well with online people doing what computers don’t do well.
  • Our material lends itself to online teaching and evaluation. While making an assistant for English is probably an AI-hard problem, we have the advantage of being able to run programs to see if they work or not. And their is lots of technology developed and being developed for testing and debugging.
  • The current trend of standardized testing in the US may lend itself to online assistants. This was Roscoe Giles’ argument, who was at the meeting. Leaving aside whether standardized tests are good or not, it seems like an online assistant could help students for many fields improve their scores on these tests. Hence, online assistants could get an early positive reviews because of their help in schools where they are deployed. Hence, there is a window of opportunity with a clear measure of success to demonstrate what we do can help K-12.

Let me finally wrap up. While I am pessimistic about getting high quality material taught by high quality K-12 teachers in US in the next decade or two, I am optimistic that a major online effort could scale and have a positive impact on a large fraction of the K-12 students within a decade.

If we can create technology that allows billions of people to search all the data online and get useful answers in less than a second for free, I see no obvious reason why we can’t dramatically improve IT education for anyone in the world with a cell phone by 2020.

Entry filed under: Uncategorized.

Creating (and improving) options for CS practice: Practice-It! and beyond Using technology to improve college completion rates

34 Comments Add your own

  • 1. Alan Kay  |  June 25, 2010 at 11:52 am

    Nice analysis and presentation Dave!

    These are very much my thoughts also about this, and about several other fields that — as you point out — have enough modeling of their content to allow decent feedback assessment by the system using many modes of presentation.

    Thinking of the “coaching UI” as being a dynamic next stage of what well written books have brought to humanity is a good way to deal with the intermediate ground between humans and the still long off “decent AI”.



  • 2. Owen Astrachan  |  June 25, 2010 at 5:14 pm

    To whom am I writing these comments?

    Points and rebuttals/comments.

    (1) There is no room in the high school curriculum for CS, students want AP everything.

    # calculus exams given in 2009: 292,000, #compsci exams: 20,000, # biology exams: 154,000, # economics exams: 67,000. I’m not sure what hole the economics exam plugs in a student’s high school schedule, but it’s not the math or science hole. So I’d argue there is room for CS at the AP level, as for non-AP, I’d agree. For statistics on exam volume see:

    Click to access program-summary-report-09.pdf

    (2) Low pay, we can’t attract the best folks to the job.

    The folks choosing high school jobs that can educated out of choosing such a job with “IT skills” aren’t the folks we want to attract. I’m a big fan of paying teachers more, but the idea the computer science is special in that those that do it well will want more money isn’t backed up, I’ll argue. Those that leave after choosing a high school job and getting “trained in CS” aren’t the folks we want to attract to teaching.

    Then there’s a nod to the success of open source software and wikipedia as if to say we can come up with community-driven/written educational materials. I’ll buy that when Dave Patterson makes his books available for free online. Hah! It’s hard to buy this as viable when most best-selling texts are in the $60-$100+ range [note that Patterson/Hennessey’s ugrad text is pretty “reasonable” at $63 on Amazon. Guzdial/Ericson’s new edition is $83 on Amazon] When the argument is “I see no reason why this couldn’t happen [in CS]” I’ll be happy to bet money that we won’t see good, free materials in ten years. I’d love to lose the bet.

    When you get “the success of mechanical turk” is heralded as a harbinger for the success of crowdsourcing, I just laugh. I’ve used mechanical turk both as a buyer and a seller. Based on my own cynical experiences I’m not holding my breath as using that as a model for people helping. Now stackoverflow is an entirely different crowdsourcing model that works great for technical questions. People that do this for money aren’t the folks who will make this work, people that do this to help and for ‘merit’ are (my own opinion, obviously).

    I accept that a technologically-oriented solution could scale. I don’t accept that it will work. We need dedicated teachers, not intelligent cell-phones.


    • 3. Dave Patterson  |  June 28, 2010 at 8:45 am

      I have no idea what the point was quoting AP exams. That many more people take Calculus and Biology exams than CS? Seems to make the point that it will be hard for CS to get a foothold. Then you quote that even Economics is much popular than CS AP, and no one teaches economics in high school. Is the point that high school students can learn on thier own, which suggests the value of an online CS assistant?

      I take it you still buy Encyclopedia Britanica instead of using Wikipedia, since it can’t be as good as a commercial effort? There are many open source projects for textbooks. For example, see http://www.oercommons.org
      It lists 64 textbooks for secondary schools: Math, Physics, Biology, Chemistry, …, and even one on computer technology and one on programming languages.

      These are the early days of crowdsourcing, but it appears that by getting redundant answers and voting you can excellent results. Here are some research results. The paper “CrowdSearch: Exploiting Crowds for Accurate Real-time Image Search on Mobile Phones” at Mobisys 2010 shows how for very little money you can accurately and quickly do a variety of tasks that would be difficult for computers using Mechanical Turk. The paper “TurKit: Tools for Iterative Tasks on Mechanical Turk” at the ACM SIGKDD Workshop on Human Computation 2009 proposes a programming environment for creating crowdsourcing tasks.

      Thanks for agreeing that technologically-oriented solutions can scale. Most discussions on this topic don’t, and if they can’t scale, why talk about them?

      Everyone loves dedicated teachers. What is your scalable proposal to train dedicated teachers to be competent to teach CS topics in the 132,000 K-12 US schools?

      • 4. Owen Astrachan  |  June 28, 2010 at 9:20 am

        My point was that Economics appears to be viable in high schools in terms of exam numbers, but it doesn’t count as a math/science course, i.e., it’s likely taken as an elective by most high school students (though I defer to others with more expertise on why folks take economics). The volume numbers provided for other exams were simply to provide a point of comparison between the largest science exam (Biology) and other AP exams. The foothold issue is important — but the original post claimed there was “no room for CS in the high school curriculum”. If this is true, I’m not sure how technology is going to solve getting CS into the high school curriculum. The folks that learn it from the high-quality and crowd-sourced web materials we envision are likely the same kind of traditional CS student we have already, though I’d like to see materials that attract a different group.

        I’m aware of the oercommons efforts, of creative commons in education, and of the potential for new materials. But computer science lags behind other disciplines in making quality materials available online for education *that are widely used*. Having MIT courses online is great, but that’s not a widely-adoptable model.

        cloudcrowd and cloudflower are both trying to create commercial approaches to crowd-souring and mechanical turk. You’re right that these are the early days. And stackoverflow shows (to me) that this could work for getting quality, technically qualified folks to help in this space. But this solution is too far away to point to it as having high potential today.

        As for Wikipedia, of course I look at it — it’s a great place to start learning about stuff. But it all has to be vetted after you find it. It’s a great place to begin. I am a fan of it, but CLRS still sells more Algorithm texts and is used by more schools for courses than is a compendium of wikipedia articles about the same materials.

        Any proposal to get dedicated teachers into schools would work for me, whether they teach computer science is secondary. I’m happy to offer easily shot-down solutions:

        Create a program targeted at 5000 graduates in 2014, starts this fall. When they graduate and agree to teach CS in high school supplement their pay for the first four years at $25K/year. Then give them a $100K bonus after four years if they make it. Cost: one billion today, much less since it’s four years in the future for half-the-cost and not everyone will make it. Teach CS For America. Or modify this, but create the incentives for people, not simply for technology.

        • 5. Mark Guzdial  |  June 28, 2010 at 10:55 pm

          Owen, until your note, I hadn’t realized that there seems to be an economic contradiction in the vision Dave is describing. We can’t get good enough teachers because we can’t pay people who know IT enough to get them to stay in teaching. However, the open source side of the model says that we’re expecting enough high-quality material to be created for free to provide a complete high school CS curriculum (at least a year’s worth, to be AP-like). If we include tailoring for the individual, that’s probably even more material than just a year’s worth, e.g., slower students will need more practice, and that means more material to practice on. Could this be done piecemeal, collaboratively? I don’t know. I think it’s too much too expect from individual contributors. I’ve now written five textbooks. Each was a helluva lot of work. I wouldn’t have done it for free. (I’m not getting rich off the books, but any sum is infinitely larger and more preferable to zero.)

          I’m not familiar with all the croud-sourcing sites you describe, but as I visit cloudcrowd, it seems to me that this is all about breaking down tasks so that expertise is not required — but creating high-quality educational materials requires extensive, specialized expertise: In CS/IT, in education, in authoring interesting stuff. Not many people cover all those. Summing all their spare-time efforts together may not be enough for a whole course.

          In your note, Owen, you write: “Computer science lags behind other disciplines in making quality materials available online for education.” While that may be true, I’m wondering how far ahead of us “other disciplines” are. Is it wide-spread that in some disciplines (e.g., physics, math, biology, English, or history) that classes are completely taught using free, open-source, on-line materials? I don’t regularly survey high schools in other disciplines, but my sense from the high school teachers I talk to through Georgia Computes! is that only the rare course is using open-source materials. I’d really be interested in hearing about success stories here, where maybe a whole district has moved to open-source materials?


      • 6. Dave Patterson  |  June 28, 2010 at 5:39 pm

        There is room to insert CS as part of assignments in Math, Physics, Biology, and so on, or for students to learn themselves, which is what Alan Kay and I were suggesting.

        The premise of the meeting at Berkeley is that goal should be to set up separate high quality courses on CS by qualified high school teachers. That is the solution that I am skeptical can work in the US in any near term horizon.

        However, you think crowdsourcing is too far away a solution to help, but in less time we can come up with a sensible CS curriculum, lobby for states and school boards to allow CS courses to be taught, create a CS teaching credential in 50 states, lobby the feds to spend a measly $1B to help encourage students to get a CS credential, train thousands of high school teachers with CS skills, and get them hired?

  • 7. Hélène Martin  |  June 25, 2010 at 11:43 pm

    I think we’ve got one problem to solve before any of these issues really become relevant: what, pray tell, is appropriate computer science for K-12?

    That said, I agree with all of the challenges outlined in the first part of the post, I just think “distance education” or whatever it’s being called at the moment is a good solution for teaching our discipline in K-12. Most students won’t go out of their way to take a computer science course in high school and I think that’s mostly for good reason — a lot of those courses are terrible. Put the most amazing material online and that perception certainly won’t change. And Owen, I would argue that there are tons of great, free materials online but there’s no reasonable way to index or search them (apologies to all involved, but in my experience computingportal is more of a problem than a solution).

    On the other hand, a flesh-and-bones instructor passionate about teaching exciting material well can and will attract students. Students are REQUIRED to take “vocational” types of courses in nearly every public school and if good computer science courses are offered, they’re an obvious choice for motivated kids. My courses are certainly not as good as they could be but I had no trouble getting 200 kids through computer science (not business apps or whatever else) this year and I’ve even had a couple of parents writing me e-mails begging me to make sure their kids can have my class next year and even two years from now. If the courses are desirable, students will make room in their schedules.

    The pay issue is a real one. I think there are some creative ways around it, though, that don’t require impersonal distance learning. One is that universities or companies could make a point of offering paid summer opportunities for full-time high school computer science teachers (assuming they’re competent which is a whole other issue). Another is one that Microsoft has been playing with in the Seattle area — full time MS employees teach courses for an hour a day with a teacher of record essentially sitting there for legal reasons. Of course, the average tech employee would do a terrible job of this, but with some amount of training and careful selection, it could be an interesting model.

    Again, though, I think our biggest challenge is making sure that we have more than and a hand-wavy vision of what K-12 CS actually looks like. I’m just awestruck by the incoherence of all the courses being piloted and modeled and taught across the nation. The Principles AP course will hopefully help a little with that.

  • 8. Alan Kay  |  June 26, 2010 at 7:55 am

    A great teacher is one of the most incredible privileges anyone can have, and we remember the few we’ve had forever — they shape our lives in ways that can only be thanked by carrying on their spirit as best we can.

    So we have to continue to put enormous efforts into helping our society give rise to more of these critically important individuals.

    That said, most of my actual learning came through the fruits of the printing press, the luck of learning how to read for content fluently at a very early age and learning (more slowly) how to slog on the hard stuff.

    I’m guessing that most of us on this list will agree that in the end it is the students “working at it” that will reshape their brain/minds.

    I’ve proposed for some decades (along with some other old timers) that interactive computing should be able to fill some of the gaps — to help different kinds of learners, and those who were not lucky enough so far to learn how to learn from readiing. And the new possibilities by providing interactive computing environments for doing the “working at it” and some of the feedback that teachers can give.

    The fact that great teachers would be wonderful to have shouldn’t cloud our ability to calculate that producing enough STEMC teachers in the next few years to handle US needs (let along the world’s needs) is simply not doable.

    Making much better media for all (including our hoped for teachers to be) is doable and we need to do it.

    To Hélène’s point, one way to think of the incoherence of the courses today is that they are a real reflection of the incoherences of our field multiplied by the “school effect” (from all the side-conditions real and perceived).

    I haven’t seen great materials (writings, environments, etc.) for learning K-12 CS on line (there are patches) but I’m guessing that there is more good stuff than I’m aware of, and as an optimist, I’m sure there will be some really good stuff for free in the not too far future.

    There’s no question that the most fruitful area for doing something good and having it looked at is K-8 (far from high school, SATs, APs, etc.).

    Whether the general educational establishments and the individual teachers who control things right now can and will make the decision to learn and use “the really good stuff” is a big question. I don’t think I’m being at all pessimistic by thinking that the answer is generally “no” right now.

    Still, I feel that the right course of action regardless is to make the best stuff we can and put it out there. (And to especially get our whole field and funders going on inventing– in President Obama’s words — “computer software as effective as a personal tutor”.)



    • 9. Mark Guzdial  |  June 26, 2010 at 3:28 pm

      Hi Alan,

      That’s a great argument for the power and importance of books. Since reading it, I’ve been thinking about what we don’t yet know how to do in computational books that we need for teaching.

      It’s pretty clear to me that we can create computational artifacts that go beyond books, in terms of kinds of presentations that can be made (e.g., movies and simulations) and in terms of user interaction (e.g., controlling the simulation for inquiry). You’ve made the comparison several times in this blog between learning to program and learning music. While most of what you learned came through books, as you say here, I expect that your music learning involved good teachers (and lots of practice on your own). Developing expertise at a skill requires someone observing and evaluating your behavior. Music skill (and I’m suggesting, good programming skill) involves observation and evaluation that we don’t yet know how to do in software.

      I thought of this point while playing with music training programs on the iPad. I’ve had very little voice training. It’s humbling to have the iPad software show me visually where I hit and miss the right pitch at the right tempo. This is pretty powerful support for music education. I don’t know that we know how to do this for learning programming yet. It’s one thing to say “Your code gets the right output for the right input.” It’s another to say, “And that’s good/elegant/beautiful/efficient/secure code.”

      For K-12 CS, maybe that level of skill is beyond what we’re aiming for. But if we think about the kind of feedback to go from a blank sheet of paper to “getting the right output for the right input,” that’s another form of early skill development. That early level also requires observation of behavior and feedback, and I’m not sure that we know how to do yet effectively at scale. (Tutoring systems do some of this.)

      In general, observation and evaluation of skill is one of the open areas of research for making effective computational support for learning computing.


      • 10. Alan Kay  |  June 26, 2010 at 9:01 pm

        Hi Mark

        I don’t know of an app that can listen to you play and give you pointers on your phrasing (should be doable, but is not there yet).

        My notions of UI design have always revolved around really making use of the one real intelligence involve — namely, the user’s — and this is what good music teachers do also (and both record lessons and get the students to record and listen to their practicing). The basic idea is that it is very hard to pay attention to everything that needs to be heeded when you are a beginner, so make use of technology to allow you to learn to do some of your own feedback.

        BTW, there is a lot known about teaching pitch sensitivity, and it is not primarily about telling the learner that they are sharp or flat, but to get them to hear what they are doing much better.

        So (after trying to make a terrific language for learning programming) I think I would first try to make the world’s greatest debugging interface to help learners understand what is going on.

        But I think the big difference here is design (where the analogy in music would be in trying to teach composition and improvisation). In computing in the 60s (in the Air Force) we used to say “you can learn how to code in a week, but it takes 2 years to learn how to program”. There are some parallels here with composing.

        So I would start thinking about “key experiences” for learners over those two years.

        Another way to think of it is to consider the differences between “bicycle appreciation” and “learning to ride a bike”. Or any of the other contrasts between “contact” (or “appreciation”) learning, and “operational learning”.

        A real question is what is the distribution of realistic latencies over a given population for operationalizing programming? We have some idea of this for music, bike riding, natural language learning at different ages, etc.



  • 11. Ken Forbus  |  June 27, 2010 at 2:36 am

    This is a really excellent and compelling analysis. The one glitch I see is that cloud computing requires $$/cycle, so while there is no cost if nothing is being used, there also isn’t any cap on expenditures. That would seem to be a scaling problem. Somehow, I don’t think advertising revenue will continue to expand to support all of cloud computing

  • 12. Interesting Links 27 June 2010  |  June 27, 2010 at 3:24 pm

    […] it is somewhat pessimistic (or realistic) is a post by Dave Patterson on fixing HS CS education – Dave Patterson on fixing high school CS education  It is a must read if you want to understand the […]

  • […] it is somewhat pessimistic (or realistic) is a post by Dave Patterson on fixing HS CS education – Dave Patterson on fixing high school CS education  It is a must read if you want to understand the […]

  • 14. Gary Litvin  |  June 27, 2010 at 6:20 pm

    Dave Patterson’s trivial factual error that “there are roughly 50,000 high schools” made me suspicious about the rest of his assertions. (As I stated earlier on this blog, there are about 18,500 high schools. if there were 50,000, there would be around 40 million high school students.)

    No room in the curriculum?

    As Owen correctly points out, about 20,000 students took AP CS exam in 2010. Probably twice as many take an AP CS course. But the main potential space for CS can come from reforming math curricula, removing dead wood (such as factoring quadratic polynomials, solving fancy log and trig equations, and other so-called “math skills”) and adding topics relevant to computing with elements of programming. For example, it should be feasible to better teach students how to multiply polynomials by teaching them how to write a small program that does that. Blending discrete math and elements of programming should preferably start as early as possible (at least in the middle school). The first year of middle school math is often reserved for “reinforcing the skills learned in elementary school,” which translates into reinforcing bad habits and dislike of the subject. That should be replaced with meaningful math and a little programming.

    Low pay for new teachers?

    New teachers won’t mind getting paid better, of course, but most are in the profession not for the money. With significant but realistic federal funding, teachers who pass a rigorous exam on a specific math curriculum with elements of CS and actually teach it could receive a federal stipend on top of their salary. Such setup would encourage open-minded teachers to learn new stuff on their own, without legitimate objections from teachers’ unions. This curriculum and a complete set of teaching materials can be adopted in a highly publicized contests and then provided at nominal cost to all schools and districts that wish to use it. Nothing compulsary.

    Changing education policy is hard?

    No argument here. This is not a good reason not to keep trying, though. That’s why we are talking about it, I suppose.

    Most proposed solutions don’t scale?

    True. But it is sufficient to have one that is better than most and that can be scaled.

    • 15. Erik Engbrecht  |  June 27, 2010 at 7:27 pm

      Number of high schools:

      Looks like ~42k secondary schools, which I believe are what most people refer to as high schools.

    • 17. Dave Patterson  |  June 28, 2010 at 8:13 am

      Got my data from http://nces.ed.gov/fastfacts/display.asp?id=84

      132k elementary and secondary schools (public and private) in the table in 2008. The introductory paragraph says “the number of all elementary schools rose by 7 percent to 67,000, while the subset of middle schools rose by 18 percent to 12,900”. That leaves 132K – 67K-13K or 52K junior highs and high schools. Paragraph further says “During the same period, the number of junior high schools declined by 15 percent to 3,000.” 52K-3K = 49K public and private high schools in 2008.

      But if you have a solution that scales to 20K high schools, that would be a big improvement over most proposals.

      • 18. Dave Patterson  |  June 28, 2010 at 8:59 am

        A federal subsidy to supplement salaries for high school teachers how pass some kind of exam would be a wonderful, but I see no possible way in the increasingly stressed federal budget that this could every happen in the US. We’re entering an era where federal services are probably going to decrease instead of increase.

        I look forward to several of you on this blog becoming active politically so that you can make progress on changing education standards. Posts to blogs are not going to change any policies.

  • […] it is somewhat pessimistic (or realistic) is a post by Dave Patterson on fixing HS CS education – Dave Patterson on fixing high school CS education  It is a must read if you want to understand the […]

  • 20. Garth  |  June 28, 2010 at 12:52 am

    How many young teachers do you know that are truely CS trained and then went into education? Every CS teacher I know started teaching in a different field then went into CS. I do not think this is the best method. My school does not offer AP CS, we offer average kid CS with good results. Most of our CS kids are not going on to be CS majors. I think those are the kids we need to target with CS education. Maybe when administrators see CS is not an elitist subject it will start to compete with the old school course in the curriculum.

  • 21. Alan Kay  |  June 28, 2010 at 11:50 pm

    To Mark Guzdial | June 28, 2010 at 10:55 pm

    A quick perusal online turns up quite a few free CS texts — even whole sites that aggregate the texts — for example,


    and there are many more (there is a famous one in France) that have downloads.

    I think the physics teachers have done more. For example “The Motion Mountain” text is now in its 23rd edition as a free downloadable text book. It compares with many of the HS and beginning college texts I’ve looked at.

    On the other hand, I think we could very justly say that there is not really a great *course* out there for either physics or computing yet.

    It seems to me that the important points here are (a) people are putting out quite a bit of material for free that at least rivals some of what official textbook and book publishers are selling, and (b) that if someone does do a great course for free, then it could be downloaded by 2 billion people at present.

    (In other words, just one good thing on the internet can go everywhere. So we are really asking, what is the probability that one really good person will decide to donate one really good piece of work? I think it is very close to 1 and will thus happen.)

    The political and “lamebrained” problems will remain, even in the presence of great free material and even whole courses.

    I claim that we would already have something awfully good if the web browser and wikis had been even done as well as Hypercard was 10 years before them. I did a demo some years ago to show just how ridiculous was the Wikipedia article on Logo that it didn’t/couldn’t allow readers to try out some Logo programs and write some Logo programs in it.

    I’m sure I don’t have to say more to conjure up one part of what Dave is thinking about — how about a Compupedia that allows computer people to contribute both curriculum and lore and threads and examples and abilities to interact and author all media including programming?

    People who want to do a course can both put their own course material into the medium and also use stuff that is already there. There can be multiple paths through it ala Engelbart.

    “Physicians heal thyself” (I think the author of this ancient comment meant to add “or turn in your shingle”).




    • 22. Mark Guzdial  |  June 29, 2010 at 8:10 am

      Hi Alan,

      Yes, there are free texts out there. I know of few courses that use them. That’s my point. Can open-source methods create books of high-enough quality that students and teachers will use them? Some of the best of these (like “Blown to Bits” and “How to Design Programs”) are available both free and commercially, yet the hardcopy, commercial versions are used much more, from what I see.

      I just finished reading this week’s Time magazine on iPad (which is a really different and better experience than just the hardcopy!) which was on Thomas Edison. Edison’s phonograph company recorded nobodies singing, because the quality was the same as the celebrity singers. Edison filmed unusual events (like waterfalls and elephants being electrocuted), while United Artists focused on great stories and story-telling. Edison lost both these bets, because that wasn’t what people wanted.

      What do people want in on-line course materials (because they’re not seeing it yet), and will it successfully get generated for free? I doing think we know either of these answers yet.


      • 23. Alan Kay  |  June 29, 2010 at 9:04 am

        Hi Mark

        That’s what I meant when I said “The political and ‘lamebrained’ problems will remain”. For most school systems and most teachers “high-enough quality” is not remotely the issue.

        I think eventually there will be very high quality whole courses in many subjects free and online — some will make use of them and most will not. But they will be there for 2 billion people should they choose. This is a good and doable goal.

        Many things that become popular happen because of a perceived convenience rather than goodness. (The web browser and the wiki are two examples of substandard facilities — the latter because of the former — that were more convenient than what was there, but to anyone who understood Engelbart, etc., could easily be seen as “a very bad way to start”.)

        It’s very likely that convenience for the teachers and schools rather than goodness for the children will be the deciding factors. To the extent that we’d like to change the larger systems of schooling by injecting better content, we had better keep the mundane factors in mind.

        However, I also think the *process* in standard schooling is very bad for most children, so I really don’t want to cater to the schools and most teachers.

        I strongly think that it is possible to improve both sides of these issues over the next 5 years, especially in K-12, and most especially in K-8.



    • 24. Gary Litvin  |  June 29, 2010 at 9:42 am

      I would like to make two points about free textbooks. Firstly, I have to admit I don’t quite understand where the idea of free textbooks comes from. Fiction authors, artists, actors, athletes, most programmers, and everyone else are paid. Why not textbooks authors? Writing a textbook is a lot of work, not all of it fun. For example, for our Java Methods book my co-author Maria Litvin and I wrote 400 exercises and solutions for them, created 200 figures, 800 powerpoint slides, wrote 676 questions and solutions for the test package. Since we published ourselves, we had to create the final layout for printing, proofread it several times, and create the index. Once the book was out, we created a web site for it with additional materials and answered technical questions from teachers (and still do). I am against predatory pricing that educational publishers charge for textbooks, but I believe there must be a mechanism to reward textbook authors for their work, if not through direct sales, then through high-stake competitions for textbooks with substantial prizes . Otherwise, who will have any respect for textbook authors or for their subjects?

      Secondly, “free” online textbooks are not all that free: there is a cost for delivering e-texts to students. In a coventional scheme, a textbook is used in a public school for at least 5 years. If it costs under $50, this is under $10 per student, a real bargain, less than one movie ticket, This is less than the cost of printing out a text from the Internet or the cost of maintaining computers or e-readers in school and at students’ homes.

  • 25. Jeff Graham  |  June 29, 2010 at 8:01 pm

    At my daughter’s high school, economics does count for graduations as a social studies elective. Oh, and it is taught as ap econ. She also had a half of semester of econ in her freshman year that was mandatory. I don’t know if this is typical or not.

    This is a very interesting thread. Wish I could contribute more to it.

  • […] — the connection between the two pieces here reminds me of our discussion with Dave Patterson here in this blog. A prevailing sentiment was the urgent need for a “focus on capacity building.” Instead of […]

  • […] there are signs that distance education can be done well, and there are certainly lots of calls to increase use of distance education. But on the ground, the story is less optimistic.  The Atlanta Journal-Constitution is the local […]

  • […] For many of the same reasons articulated in the discussion with Dave Patterson and Alan Kay, there is growing interest in making online learning work better — and now there are dollars backing up that interest.  The new funding from the Gates Foundation and the Hewlett Foundation will focus first on post-secondary (which is exciting to me, for trying to teach high school CS teachers in-service), then later on secondary. The education gap facing the nation’s work force is evident in the numbers. Most new jobs will require more than a high school education, yet fewer than half of Americans under 30 have a postsecondary degree of any kind. Recent state budget cuts, education experts agree, promise to make closing that gap even more difficult. […]

  • […] 25, 2010 In the post with Dave Patterson, there was strong interest in creating educational software for teaching computing, rather than […]

  • […] to talk about the challenge of producing more high school CS teachers, including alternatives like Dave Patterson’s proposal.  I’ve been thinking a lot about using a worked examples approach, informed by Ashok […]

  • […] know that there’s an argument that we can’t ramp up teacher production fast enough, so we should give up and develop technology to replace the teacher. However, the reality is that we don’t know how yet. We don’t know how to teach CS well […]

  • […] in expert teaching, that it’s something to be developed and valued.  What I worry is that these are not just the thoughts of a few undergraduates.  How many more people think that it’s easy to learn to be a teacher?  How many other […]

  • […] Dave Patterson (Berkeley) who taught a MOOC (Massive Open On-line Course) on programming Web services. He was honest about the limitations of MOOCs, but still convinced that this is the beginning of the end for existing higher education.  He pointed out that he also had a 90% dropout rate.  He was the first MOOC teacher I’ve heard admit to “unbounded, worldwide cheating.”  They were going to use plagiarism detection software, just to see how much cheating was going on, but they didn’t need to.  Large numbers of answers were “bit identical.” […]

  • […] technology (including MOOCs) that provides learning opportunities where no teacher is available. Alan Kay encouraged us to think that way here in this blog. However, replacing good teachers with MOOCs reflects a deep misunderstanding of what a teacher […]


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,191 hits
June 2010

CS Teaching Tips

%d bloggers like this: