Best hope for CS Teacher Education is in-service, not pre-service

December 10, 2010 at 9:57 am 29 comments

I mentioned a few weeks ago that I was very interested in high school computer science teacher education. I have probably talked to faculty at a dozen schools of education now.  My conclusion is that the best hope for developing more high school computer science teachers in the US is in-service, not pre-service. In education-speak, “pre-service” is before a teacher starts in the classroom, typically in undergraduate.  “In-service” teacher education might mean workshops or summer classes or on-line — it’s teacher professional development while a teacher is in the classroom.

I found only one pre-service high school CS teacher education (TE) program.  (More might exist in the US.)  In 14 years, they have had exactly 7 CS graduates. That’s a problem that I hadn’t thought about, but is obvious in hindsight.  Why should teachers want to become CS teachers?  Lijun Ni is finding a laundry list of challenges to becoming a high school CS teacher.  (Latest one that hadn’t occurred to me: A calculus teacher might take in-service TE to teach calculus better, but rarely to learn new calculus.  CS teachers have to learn a new programming language to teach every few years.  Which one is more attractive to someone who wants to focus on teaching?)  If we built it, would they come?

My best informant was David Jackson (who was my TA for educational philosophy a few decades ago) who runs a science TE program at U. Georgia. He says that the number one biggest problem that any TE program has is maintaining the relationships with teachers, schools, and principals for placing students in practicum and student teaching experiences. That raises a huge chicken-and-the-egg problem: Where are we going to get the classes to host student teachers in CS? As I understand it, the No Child Left Behind (NCLB) act requires teachers to teach subjects that they are “highly qualified” for.  To become highly-qualified pre-service, you must student teach in that subject.  However, in-service, you can learn a new subject and take a new certificate, and you don’t have to do more student teaching.  David also told me that a “minor” in CS wouldn’t work in his program.  The pre-service science education program has zero elective hours in 4.5 years. There’s no room for even a single class in CS.

Our best shot for increasing the number of high school CS teachers in the US will be through in-service development activities, like Georgia’s endorsement (a certification that a teacher can earn after earning an “initial certification” as a teacher).  In-service TE has some particular challenges. The main one is that your students are full-time professionals.  You might get them face-to-face in summers, or on weekends or evenings, but they are busy.  If we are going to develop new high school CS teachers, we have to provide ways of learning computer science that involves few multi-hour marathon sessions at the keyboard.  Our main method of having students learn computer science is through a form of apprenticeship: sweat at the keyboard, and we’ll tell you if you got it right.  That’s hard for full-time professionals.  Can we do better, or at least, differently?

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

Oral History of CS Videos New results for AP CS in Georgia, with puzzles

29 Comments Add your own

  • 1. Guido Rößling  |  December 10, 2010 at 10:08 am

    Perhaps I have misunderstood your thrust. In Germany, the situation seems to be reversed – in order to become a CS teacher at the high school level, you first (usually) have to complete your studies in “teaching CS”. Some specialized universities (“PHs” or “pedagogical highschools”) exclusively only train aspiring teachers, before they enter the classroom. Others, like my home university, mainly train “regular” CS students etc., but also have a couple of prospective CS teachers that we are training. This is all “pre-service”.

    Reply
    • 2. Mark Guzdial  |  December 10, 2010 at 10:26 am

      I’m sorry, Guido — I was being US-centric, and should have been more explicit about that. I have found only one “teaching CS” program for aspiring teachers in the United States. Germany and other countries (Israel notably) have established programs for producing high school CS teachers. This is the problem that we are trying to correct in the US, and I’m suggesting that we won’t correct it pre-service. I have now edited the post to be more explicit.

      Reply
  • 3. Cate  |  December 10, 2010 at 11:28 am

    I’m interested in how you think this will affect quality of teachers, e.g. “we have to provide ways of learning computer science that involves few multi-hour marathon sessions at the keyboard” – it seems like you are suggesting that CS teachers need to be able to teach CS without actually spending much time learning how to write code?

    I developed programming curricula that was taught across the US and had various instructors of varying competence (including one, who memorably, could not create a random number generator – I was not involved in hiring) teaching it. So, whilst I see your point w.r.t. lack of CS teachers and agree it is a problem I think competence and passion for the subject is crucial. Taking classes in computing can put off potential students as well as motivate them to continue, so I think quality of CS teachers is at least as important – although I would say more so – as quantity.

    I’m just finishing my masters and about to start in industry. As a benchmark – my starting salary is more than twice as much as a teacher with 6 years of education. Perhaps I’m overly cynical, but that kind of differentiation combined with the perceived low-status of teaching makes me skeptical as to whether it can be fixed within the education system – attracting talented CS majors into education is hard when they have other options, including those where it is also possible to make a “positive impact” – but I don’t believe you can take a non-math/physics teacher and turn them into a good CS teacher.

    In Ontario we have a program where schools work closely with industry partners and students are given mentors and work on projects in teams. Whether that kind of system is scalable is debatable, but in my opinion it seems like a more promising option.

    Reply
    • 4. Mark Guzdial  |  December 10, 2010 at 1:03 pm

      Computer science isn’t programming. How much of computer science can be taught without programming? How much about programming can be taught without actual coding? Of course, we want teachers to be able to code. We want them to know more than code. And I’m curious as to how much can be taught about CS and programming outside of the actual activity. I took a course on how to be a soccer coach, and I was taught that it is a weak coach who only scrimmages. We need more options in CS education.

      Reply
      • 5. Katrin Becker  |  December 11, 2010 at 4:43 pm

        You can teach a fair amount of informatics without programming. The book I’m writing will teach people about simulations and games without any code and with minimal math.
        But what I’m doing is *not* computer science.

        “CS may be more than programming, but it is not less than programming.” (Guntheroth, 2004)

        Reply
        • 6. Mark Guzdial  |  December 12, 2010 at 10:56 am

          Why should we see learning to program as irreducible? Certainly, programming involves many concepts and skills. Possibly, some of the concepts and skills can be taught separately, or at least at a lower-level of complexity than “debugging a blank sheet of paper.” If programming can be reduced, then so might learning to program. That’s what I see tools like Problets, TuringsCraft, CodingBat, and PracticeIt as doing. I don’t know that it’s possible to learn programming in smaller units, but I don’t have evidence that it’s not possible. Since there are potential benefits if we could teach component skills and concepts of programming, it’s worth exploring. I grok Alan’s point, that the exercises should not obscure the point of the enterprise. That doesn’t mean that the exercises are valueless.

          Reply
          • 7. Alan Kay  |  December 12, 2010 at 12:29 pm

            Hi Mark

            Could you try a few analogies to your position?

            How about to learning mathematics, or learning to read and write …?

            Cheers,

            Alan

            Reply
            • 8. Mark Guzdial  |  December 14, 2010 at 11:02 am

              Hi Alan,

              I’ve been thinking that what I want to do is create the programming equivalent of the McGuffey Readers — scaffolded, staged, real thing, but not necessarily containing all parts at once. I don’t know a good mathematics example, but maybe Logo — it’s real mathematics, but it’s notation-spare and has a low-threshold and high-ceiling. I don’t know enough about phonics to know for sure that that’s what I want, but I’m interested in learning more about its history and results. I also have some books on mathematics education history, to explore what’s been tried and how we got to where we are.

              (Sorry for the delay — weather delayed my flight from Seattle and I’m still not back up to speed.)

              Cheers!
              Mark

              Reply
  • 9. Laura  |  December 10, 2010 at 12:35 pm

    I think you are right about this. Not only are there not enough CS students interested in CS, but often, schools end up recruiting a Technology Teacher or Physics or Math teacher to take on the CS courses. That’s the position I’m in. I have many years of teaching experience, but many fewer years of programming experience. I need something like an executive MBA program where I could not only get the programming experience but get it within the context of being able to teach it. It’s a very different thing to be able to write a program to do x and to understand how to create good programming projects or understand the challenges of teaching a particular aspect of CS at a particular level.

    I think you might also have to consider finding funding for those programs. That’s another hurdle faced by many teachers. There’s very little money for taking a class.

    Reply
  • 10. Alan Kay  |  December 10, 2010 at 1:21 pm

    I would hope that if we sorted out all the concerns wrt “how to better teach computing” that the first one which desperately needs to be attended to would be “a better conception of computing and its better futures” and then “a much better general curriculum/framework for what is really important” to help students learn.

    Somewhere down in the list will be other important considerations, such as “how can we find and prepare more and better teachers” for the above.

    What really bothers me is the idea (and similarly in math and science) that the “school notions” of these fields is somehow OK, and that all we have to do is to make everything else better.

    In the case of Computing, I think also that the academic field itself has rather lost its way.

    Is this a “we don’t want to search in the dark where we lost our keys” situation? “Too much stuff is already in place and we just have to cope with where we are?” Etc.?

    Cheers,

    Alan

    Reply
  • 11. Hélène Martin  |  December 10, 2010 at 6:28 pm

    I agree that ‘pre-service’ training with ed schools seems like a non-starter. I also agree with Cate that a high quality instructor is critically important and don’t believe that meaningful computer science can be taught by someone who only has a few opportunities to interact with the material during in-service training.

    What other ‘pre-service’ training options exist? Many of the highly effective high school CS instructors I know were teaching assistants at some point. Several schools have fabulous undergraduate teaching assistant programs that really prepare TAs to be successful section leaders, graders, etc. Often, these TAs teach the same course for years and really get to know it inside out. Several schools have formalized their programs and even have their undergraduate TAs take a course on teaching strategies (see https://cs198.stanford.edu/cs106/, for example).

    In my experience, many teaching assistants desperately want to continue teaching after they leave their programs. Many volunteer and several would be willing to make some of the sacrifices Cate refers to. She’s right, I do make half as much money as I could make in industry and I work incredibly long hours BUT as I write this, I have two girls and two guys leaned over a robot figuring out how to attach and program an arm and another group practicing for a programming competition. Most of these kids are now planning to go into technical careers. Earlier, I got an e-mail from a former student now at Stanford telling me how amazing his computer science courses have been. How rewarding!! You can’t put a price on that.

    Most states have paths to certification that enable people like this to get into teaching but they’re not necessarily well advertised and require a lot of paperwork. Maybe that’s something that the computing community could help formalize and promote?

    Longer term, Alan is right, and the CS community really needs to get its act together and define itself in a more coherent way. In the mean time, I wish we could look into ways to get people who love teaching, are excited about computing, and have experience teaching it in front of the classroom instead of digging for ways to repurpose people who are unlikely to be very effective!

    Reply
    • 12. Alan Kay  |  December 11, 2010 at 8:52 am

      Hi Hélène

      10 years ago, today was “long term”.

      Looking ahead 10 years seems long, but it seems much shorter looking back. Think of what might have been accomplished with a reasonable plan starting 10 years ago!

      I would say that one of the biggest problems with computing is that almost all of it happens “in the mean time”, and decades pass without heeding the “longer term”.

      This has been generally egregiously true for many projects which are now a burden (e.g. the poor design of the web browser, and the web in general), and there have also been a few happy exceptions where long term thinking was done rather well (the Internet itself).

      And I think it has been especially a problem with CS education.

      If we start in 1950 and compare “practice of the day” to the concerns and processes of 10 years hence for each decade to 2010, we find little in the current practice of the day which anticipated the changes and needs of the next decades. This is not a new observation, and has been pointed out for more than 40 years.

      The few people who caused the advances took a very different outlook on computing and what needed to be learned and done.

      So in times of great change and potential and need for change, even the most diehard pragmatic conservatives should allocate some of their learning time to both dealing with change and how to effect change.

      The 60s and 70s were times of great change in everything, the 80s saw the mass distribution of some of these along with the mass distributions of misinterpretations of some of the others … and I’d represent that most of the last several decades as being in the “potential and need for change” state (much of it “desperate”).

      We don’t have to shoot at “what’s wrong” to talk about how to make progress (I do think that shooting at what’s wrong is a good idea, but it is not generally popular).

      One of the ways to make progress in our field is to help computerists go beyond the “buy tools in a store and use them” metaphor, to the central notion of computing: if you have a computer you have not just tools but the means of inventing and making any new ideas, tools and materials that can be conceived.

      Several kinds of overheads that come along with this outlook have to be dealt with. The most important one is the mental overhead of “meta”, and we find it not just in computing but in other areas as well (e.g. mathematics). However, we should be able to argue that getting fluent in meta-thinking and design should be one of the main goals not just of computer science education but of education in general.

      The other overhead is practical. It seems to be a lot less work to just learn existing tools and use them, than to make new tools. To get to the bottom of this question, we really have to look at what has been accomplished in this area, rather than just noticing that the current popular tools and operating systems have almost no useful or easy meta-facilities.

      The whole story is far beyond what can be easily composed and put forth in a tiny little pane in a needlessly badly done browser. So let me just claim that there are much better approaches available to effect meta, especially for students.

      So I think the real main barriers are the mental ones. And I think these barriers affect not just students but most profs and teachers of computing, and even have resulted in such a weak picture of computing that it seems to be about “what is currently known” rather than how to go beyond what is currently known.

      My feeling is that everything human is really done “in the mean time”, so we have to take a longer view to insert something that takes a lot of these mean times if we really want to make any kind of progress.

      Best wishes,

      Alan

      Reply
    • 13. Mark Guzdial  |  December 11, 2010 at 9:55 am

      “[I] don’t believe that meaningful computer science can be taught by someone who only has a few opportunities to interact with the material during in-service training.”

      I have no interest in limiting opportunities to interact with the material. Of course, all CS students should get the opportunity to code, but I don’t believe that coding is the only way to learn something about CS. What else can we provide, so that small amounts of time (e.g., 20 minutes during a break or at lunch?) can actually be used productively for learning CS? I can point to things that might work (like TuringsCraft, CodingBat, PracticeIt, Problets), but don’t know if they do. I think it’s an interesting direction to explore, and important to explore to enable more CS learning for professionals like in-service teachers. Interesting thought experiment: How much more productive and less frustrating (and maybe shorter?) would a student’s coding session be if they had several shorter sessions on the same concepts/skills with one of these tools first?

      Alan is encouraging us to think radically about what we teach and what our learning objectives are. I’m encouraging us to consider other possibilities for how we teach (and how students learn). Surely, there must be other useful learning opportunities besides listening to lecture and coding. If that’s all that there was or ever could be, then a “CS Methods Course” could be really short. We need more tools in our CS teaching toolbox.

      Reply
      • 14. Alan Kay  |  December 11, 2010 at 11:09 am

        I think at least three things are being conflated. To use an analogy to music: there is

        — music appreciation

        — learning to play exercises

        — learning to play music

        The latter is what gives most of the point, depth, and meaning to the others.

        Most schooling is attempts at “appreciation” — these don’t work well because the “it” is weak if you don’t do.

        The exercises put Technique before Art, and without Art don’t get there.

        Playing music gets into the actual stuff and joy and reason, even if the technique is clumsy and the larger contexts are missing. It gives eventual practice and exercise real meaning, and it begs to know more about music in every way.

        The main thing that needs to be done is to help the beginners have and enjoy the first order pleasures of learning an art or sport while providing enough guidance and encouragement to keep them from being mired in the early victories.

        Cheers,

        Alan

        Reply
        • 15. Mark Guzdial  |  December 11, 2010 at 12:39 pm

          Hi Alan,

          Where does music theory fit into your model? Being able to read music notation? Don’t those play a role in “learning to play music”?

          I agree with you that the third point is the goal, for teachers as well as practitioners. I just don’t see much in the way of “exercises” (2nd point) in CS education today.

          Cheers,
          Mark

          Reply
          • 16. Alan Kay  |  December 11, 2010 at 1:59 pm

            Hi Mark,

            Good question.

            Reading musical notion doesn’t work well without playing (and especially singing whether or not playing).

            What you get as the result of a good process is a person who can look at the notation and “hear” what it points at. The “hearing” is a little odd but rather like what you get from fluent reading. Though the notation in both cases is sequential, the “grok” is comprehensive — so both larger meanings and what things will sound like. This is how musicians can phrase when reading at sight, not just play note after note.

            “What it points at” means that the music isn’t in the notation — if you play it as written, it sounds mechanical and lifeless — like reciting Shakespeare in a monotone. So to read music you have to grok what it is “saying”. It’s the sentences and paragraphs relative to contexts, not the letters and words.

            And there have been a lot of genius musicians who haven’t learned to read music. This is because it started as an “oral culture” (in this an “aural culture”) and most of our primary experiences are aural, not written.

            Written music is great for the same reasons that written language is great. We can deal with a lot of musical ideas this way, we can bind over time, and it leads to forms that are not feasible without scores. (It’s good to learn how to sight read!)

            Something that is more like what you suggest is to learn any number of theories of harmony. For example, tonal harmony (which got invented in the 17th century, and is still the basis for a lot of music today) is part aural and part “visual”, in that a lot of how one thinks about it is in terms of “shapes” and “transformations” on them (not unlike geometry).

            I think it would be very difficult, and likely quite unproductive to try to learn this without being able to play the progressions on a keyboard (or perhaps nowadays also via MIDI). And writing it down also helps a lot. In any case the ear sharpening needs to have happened …

            An interesting part of this analogy is the fact that virtually all human beings are musicians of a sort — which is saying that most human beings enjoy listening to music and can do it. Neither my dog or cat can hear along these dimensions.

            And virtually all human beings can develop their basic built-in “music listening” into much higher resolution listening via singing and playing (and there are also some exercises that help as well).

            Regarding “exercises” in CS today, I would agree that there are not a lot of good ones, but aren’t all the little sorting and square root algorithms something like exercises?

            Isn’t learning Java kind of a like an exercise (and a nonsensical one at that?) How about that horrible 1000+ page Java textbook my nephew showed me? I did not read all of it (too sickening) but I really couldn’t find a single worthwhile thing for any young person somewhat interested in computing.

            This seems a lot like some of the bad old music teachers who would drill and kill on scales and Hanon exercises without developing whatever musical sensibility the learning might have started with.

            Cheers,

            Alan

            Reply
        • 17. Briana Morrison  |  December 15, 2010 at 10:39 am

          Even though most people enjoy listening to some type of music, learning to have an appreciation for different types of music is usually something that must be learned. And while I agree that the final point “learning to play music” is ideal, I also don’t believe that everyone can accomplish that goal…as I also don’t believe that everyone can become computer scientists or software engineers (or even good programmers).
          I do think we have an opportunity (perhaps even the responsibility) to teach the general population “computing appreciation” (perhaps this is better than computational thinking) in the sense of understanding what is possible using computing tools and the limitations of computing. My desire would be for the general population to understand how to think logically to solve problems with (and errors with) computing tools. To understand what it means when Windows displays a seemingly meaningless error message. To be able to logically eliminate possibilities until only the correct solution remains.
          Does this involve learning to “play” exercises? Possibly. Most good music appreciation courses include some amount of music theory (learning to read time signatures, values of notes, etc.) so my guess would be a good computing appreciation course would include basic coding exercises (how to design and write selection and repetition statements, understanding parameter passing).
          The key is make this initial foray into computing interesting and pleasurable so as to draw in those that want to learn more (and move toward playing music / designing software solutions). Music appreciation done correctly can be very worthwhile in its own right by exposing one to forms of music that are pleasurable that you never even knew existed…even if I never learn to play that music. I want the same for computing.
          Briana

          Reply
          • 18. Alan Kay  |  December 15, 2010 at 11:58 am

            Hi Briana,

            If we go to the somewhat neutral territory of natural language learning and use, there are occasionally developmental accidents that will prevent children from learning language and using it. But the frequency of this is very low.

            So I think we can be justified to say that “virtually all” children can and do learn to use language to express and communicate and learn via.

            Something similar obtains for music and to learning to play music. And so I (and others who have studied this) would quite disagree with your assertion “I also don’t believe that everyone can accomplish that goal”.

            We don’t teach reading and writing to make professional scholars and scribes and writers. But to open a world of practice and thought.

            Most musicians are neither professional musicians nor as skilled as professional musicians. The point of learning to play is much more about getting fluent in ways of thinking and expressing. There are thresholds between “not fluent enough” and “fluent enough”.

            The aim of general education is to help learners get over those thresholds so they are fluent enough in new modes of thought and expression.

            The most important thing about “appreciation” courses without that above threshold fluency is that much of what is important cannot literally be recognized whether in terms of ideas, symbols, or sounds.

            This is the bug in the “appreciation” idea. We can see this bug egregiously in the non-teaching of math and science in today’s schools.

            On the other hand, once the real stuff is happening, exercises and appreciation and theory are enabled in ways that will help rather than hurt and turn away.

            The basic idea here is that we can aim much higher as far as real doing is concerned for virtually all learners. And let us not turn amateurs away from an art form on the grounds that “only professional artists can make art”.

            Best wishes,

            Alan

            Reply
      • 19. Hélène Martin  |  December 11, 2010 at 10:11 pm

        I’m afraid I’m a bit lost! My point is that there exist great programs that prepare computer science students for teaching computer science and that get them excited about CS education — teaching assistant programs. I’d like to see those explored as a source of K-12 computer science teachers.

        Reply
  • 20. Gilbert Bernstein  |  December 11, 2010 at 4:47 am

    This may or may not be what you’re thinking of Mark, but there’s a program at UT Austin called UTeach. It provides teacher certification and in-class time at local schools for undergraduates pursuing non-education degrees. Recently, they made an explicit push to get more CS majors involved: http://www.cs.utexas.edu/users/uteach/

    Reply
    • 21. Mark Guzdial  |  December 11, 2010 at 9:59 am

      I’ve had email exchanges with the UTeach folks, and am scheduling a call with them this week. Yes, they’re the ones who have had 7 students in 14 years. I know that they’re pushing to get more CS, and I’m pleased for that. How do we generate more demand for their program and programs like that? At that rate, CS10K is going to take us a very long time!

      Reply
    • 22. Bradley Beth  |  December 11, 2010 at 3:10 pm

      As the UTeach-CS Program Coordinator, I’d like to take the time to comment here.

      First, sorry Mark for the hassles in scheduling a call. We will get that done this week!

      Second, yes, CS pre-service teacher ed is broken – broken to the point of virtual non-existence. But! I’d hate for the poor track record of UTeach in the past (7 teachers in 14 years) to be evidence of failure of concept.

      Historically, UTeach certified CS teachers as an inherited vestige of the legacy programs it replaced. However, it was never designed with that focus in mind. Without detailing the nuances of the program, suffice it to say that (1) the CS portion of the program was not implemented in the same way as the science and math pathways, and (2) the CS program was not particularly well advertised and, in some ways, actively discouraged as a career path by pretty much everyone. Folks in the CS department naturally assumed that salary differential would be the killing blow, and people on the education side knew that CS teaching jobs were few, even though only about 1/3 of Texas high schools actually have one on staff.

      Anyone who pursued the CS certification through UTeach was pretty much a self-selected participant with enough initiative to wade through in spite of the program’s lack of tailored focus on CSEd. (By the way, I’m 1 of the 7)

      But those who did go through were good. Good enough that it made me wonder how it could be improved. Articulating these ideas to both the UTCS department and the UTeach folks led to an effort to institute an alignment of CS within the UTeach program as a whole.

      I think we’ve been pretty successful. The initial “breadcrumb” class has had 0 or 1 CS students each semester since inception. This semester we’ve had 10 enroll. We have buy-in from the UTCS department to the tune of dedicated degree plans, and cooperation from the Math department in which they will offer a dual certification plan to endorse both Math and CS.

      Most importantly, I think CSEd is in the radar of both CS and Ed departments now. There are initiatives being developed for K-12 CSEd beyond the scope of UTeach. Other math-oriented projects are seeking input from CS. I’m extremely hopeful.

      Reply
      • 23. Mark Guzdial  |  December 11, 2010 at 3:25 pm

        I don’t think that UTeach is broken at all. I think that the low numbers are evidence of a lack of demand. What you are working on (e.g., getting both CS and Ed departments collaborating) are some of the initiatives that we need to engender demand.

        Reply
  • 24. Alan Kay  |  December 14, 2010 at 12:00 pm

    This !”#$%&’ blog ran out of levels again. This comment is to:
    8. Mark Guzdial | December 14, 2010 at 11:02 am

    You mentioned a possible analogy to McGuffey’s readers. But programming is more like writing (and lots of mathematics should be too).

    One of the big issues with reading/writing and what schools like to call “mathematics” is that they are not optional like music, arts, sports. And thus many kids find themselves in the middle of instructional processes in subjects they didn’t choose because they liked them, and in many cases, they have no idea at all what the subject is actually about.

    I think some of these subjects should be mandatory (like R&W) and that it’s incumbent on the adults who are coercing to find ways to exhibit and build love and interest in the subjects.

    Whether mandatory or not, it’s interesting to try to make analogies to the attractiveness of the different subjects. Music and sport especially are pretty much everywhere, and quite in evidence on television and now the web.

    The manifestations of science, math, engineering and technology, but the processes we see in music and sports are covert (in effect, for STEM subjects we only see the final score or the number of CDs sold).

    I think computing is pretty much in the same boat. This was neither the original intent, nor was it the intent of Hypercard, etc. But blind consumerism has masked pretty much all process.

    You recognized this by coming up with MediaComp, which tried to open the hood on some of the manifestations of computing in evidence. I think this was a good idea. (But I think the use of existing languages was not the best way to go here, despite there being a few arguments in favor).

    Hal Abelson has tried an analogous approach wrt to smart phones using the Etoys/Scratch programming model.

    One of the most surprising lacks over the last 25 years or so are really good “open the hoods” for video games. (This is not zero, but I haven’t seen a good one)

    A bigger opportunity would be to follow the “Rocky’s Boots” and “Robot Odyssey” path of making video games that require some parts of programming as integral to the game play,

    Or, how about a SimCity that has a hood that opens and can be reprogrammed in a strategy language to try other schemes for making stable cities and communities?

    What I’m driving at here is that even if computing winds up being a coerced subject, it needs to be approached pedagogically in manifestable forms which “sing to the children” what’s fun about them.

    In the old days, the very existence of a programmable machine that could be made to do things was romance enough for some. (And maybe today also) But today for most this is not even old hat, it’s that computers seem part of the natural world to be accepted and used, but not to be curious about.

    If I were going to take a shot at this, I think I would take the minimalist Etoys approach, but this time really think about how to gradually admit (or have the children make) new features as they get more fluent. (Etoys was a “throwaway prototype”, but I should have realized that nothing gets thrown away if it works at all)

    Best wishes,

    Alan

    Reply
  • 25. Accidentally in Code » Why I’m Not a Teacher  |  January 9, 2011 at 8:04 am

    […] There was a interesting post on the Computing Education blog about a month ago, suggesting that the best hope for CS education was to take existing teachers and train them to teach CS, rather than to try and get CS majors into teaching (you can find it here, there’s also good discussion in the comments). […]

    Reply
  • […] mentioned in a previous blog post that UTeach has been in existence for 14 years, but only has had 7 graduates who focused on teaching […]

    Reply
  • 27. Heading off to SIGCSE 2011! « Computing Education Blog  |  March 7, 2011 at 9:01 am

    […] Ria Galanos and I are giving Lijun Ni’s paper (Lijun is expecting in April) on teacher identity. Later that morning, Davide Fossati will give his paper about his study of how CS teachers decide […]

    Reply
  • […] was the method of teaching right for reaching in-service high school teachers?  I don’t think that the medium of the Stanford CS classes would work, at least as-is.  I […]

    Reply
  • […] in-service.  Of course, we have to build a critical mass cohort of in-service teachers (e.g., to provide mentors for student teachers) — in many states, we’ve already done […]

    Reply

Leave a comment

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 11.4K other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,096,708 hits
December 2010
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

CS Teaching Tips