Computer Science needs Education Schools. Desperately.

October 13, 2010 at 11:02 am 26 comments

To have impact on high school computer science, which is absolutely critical to improve and grow undergraduate computing education and the whole field, we must engage and involve Schools of Education. (By “Education Schools,” I mean higher-education academic units (Schools or Colleges) that teach undergraduates how to be teachers, as ‘pre-service’ development.) We need them. Our challenge is making the case to them that they want to be involved.

Let’s consider the new NSF Program “Computing Education for the 21st Century” and the goal of “CS 10K” — to have 10,000 high school CS teachers capable of teaching the new AP exam in 10,000 schools by 2015.  The program solicitation explicitly asks proposers to “Design, develop, and evaluate the impact of pre-service and in-service efforts and strategies that enhance K-14 teaching expertise in computing.” How are we computer scientists going to get involved in pre-service efforts without Schools of Education?  How are we going to ramp up to 10,000 teachers in five years?  We can’t do it all as ‘in-service,’ training existing teachers (who are unlikely to have ever even taken a CS course). Our 25-60 person 1-2 week workshops (that’s a high-end — I think most NSF CCLI/TUES workshops are actually only 2-3 days long) cannot adequately prepare 10,000 high school CS teachers.

Should we run our own teaching preparation programs?  That’s sheer hubris. If I were running a school district, I wouldn’t want to hire any teachers who were trained solely by computer scientists. We’re not really all that good at figuring out what companies want from our graduates as software developers.  Here’s a whole new set of employers and stakeholders that we know nothing about!  What do we know about preparing teachers for day-to-day issues of classroom management, dealing with testing and administration, and having a successful lifelong career as a teacher?

My student, Lijun Ni, is studying high school CS teacher issues.  We know that 46% of all STEM teachers will drop out within the first five years of teaching.  We know that a strong sense of identity as a science or math or business teacher leads to higher retention.  And if we look at the things that typically convey that strong sense of identity (e.g., certification in the area and participation in a community of similar teachers), we can see that we’re in bad shape.  Few states offer any certification. We need our teachers trained in a cohort and immersed in a community of practice of teachers to get them to stay.  Being the odd duck teacher, who was taught by some computer scientists, not in a respected Ed School like the rest of the high school — that’s a formula for quitting and getting an IT job.  If we don’t develop our future high school CS teachers as career teachers, then even if we get 10K by 2015, we’ll have only 5K left by 2020.

How do we convince Education Schools with pre-service teacher programs to work with us?  My experience is that it’s a hard sell.  I’m taking to contacts at a half-dozen Education Schools now.  I’m getting a lot of negative reaction.  I understand this one: “Budgets are tight. We can’t grow into a new area now.”  The next one is more infuriating — rings true, but it’s aggravating: “We already teach Technology programs, and we train Media Center specialists.  Isn’t Computer Science the same thing? <insert Mark’s explanation here> That sounds harder, and there aren’t many high schools teaching that.  I’d rather just stick to what we’re good at. I think (hope?) Computer Science is just a flash in the pan in high school and will soon disappear.”  In a real sense, we’re late to the game, and the “Technology” folks (e.g., “How to use Microsoft Office”) are already well-established.

Here are two arguments that I think are getting some traction:

  • CE21.  $25 million dollars in the program. Top award is $2M/year for five years.  This is a well-funded opportunity to be leading Education Schools into a new area: pre-service programs for secondary school computer science teachers.
  • CS as part of STEM. The federal government is finally making clear that Computer Science has always been part of STEM — the Department of Education is saying it, DARPA is saying it, and the White House is saying it.  The current administration is putting a serious effort (with serious funding) into STEM education. And almost none of the currently funded work is focused on or even involves Computer Science.  There is this enormous, education-oriented opportunity lying on the table, for education researchers and pre-service programs to turn their attention to teaching computer science where there is funding available with little competition.

One last piece to the program: Education Schools can’t go after this funding without us.  Technology and Media programs are not the same as Computer Science programs.  Ed Schools need materials developed, and they need to understand what Computer Science is really about.  They need us involved.  Neither side can go it alone.

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

Mailing list for Alice Educators Common Misconceptions About Software Engineering | News | Communications of the ACM

26 Comments Add your own

  • […] This post was mentioned on Twitter by Alfred Thompson, Marvin G. Hall. Marvin G. Hall said: RT @alfredtwo: Computer Science needs Education Schools. Desperately. http://bit.ly/a0q4v0 blog post by @guzdial […]

    Reply
  • 2. Mark Urban-Lurain  |  October 13, 2010 at 11:27 am

    Mark:
    You raise some interesting and difficult issues. One way to conceive of the teacher prep for CS is just like we would conceive of teacher prep for chemistry, biology, physics, etc. Here at Michigan State University, secondary science teacher candidates take 5 years for their degree (rather than 4) and take at least 30 credits in their science major from the science departments. They also take TE courses from the college of education. In their senior years, they take science courses designed for teachers: how to teach the science to secondary students. But, they already have their foundational science courses.

    This way, they learn their disciplinary content from the disciplinary faculty, but also get training in both general pedagogy (from TE) and in what Lee Shulman calls Pedagogical Content Knowledge (PCK): what are the difficult concepts to teach in a particular discipline?

    This model is successful, but it requires students majoring in the discipline. Why would I want to take 5 years to do both a CS degree AND a teaching degree to go teach where I can make maybe 1/2 of what I would make working in the private sector with my degree in CS? While this might work for biology where there are fewer jobs for people with BS degrees in biology due to the number of pre-med wannabes, given the noted shortage of CS graduates, they would be more inclined to go work in the field.

    Maybe someday we’ll pay people who teach our children at least as much as we pay people who sell insurance.

    Mark

    Reply
    • 3. Mark Guzdial  |  October 13, 2010 at 1:51 pm

      Mark, what it would take to get MSU to offer a pre-service program in CS education? What problems need to be solved?

      Reply
      • 4. Mark Urban-Lurain  |  October 15, 2010 at 2:06 pm

        Hi Mark,

        Looking over the other comments in this thread, the big problems have been brought up: the chicken & egg problem. Of course, the demand is not supply-driven, it is mostly standards/testing driven. My guess is that it will be an uphill slog to try to convince boards of education to include this when they are sweating making AYP for NCLB in reading, writng and math. They will likely see CS as an extra-curricular activity.

        Mark

        Reply
  • 5. Garth  |  October 13, 2010 at 12:05 pm

    Here is a new reason why CS prep courses are not offered teachers through the School of Education: the School of Ed says it is the CS department’s responsibility to offer courses like that. So I wander up to the CS department. The chair of the CS departments says “It is the School of Ed’s job to offer courses like that”. This is a real event. The local University still denies there might be a need for CS teachers. Everyone has got to love bureaucracy, it is good for hours of stupid entertainment.

    Reply
  • 6. Alex Ruthmann  |  October 13, 2010 at 12:35 pm

    Nice post.

    “Being the odd duck teacher, who was taught by some computer scientists, not in a respected Ed School like the rest of the high school — that’s a formula for quitting and getting an IT job. If we don’t develop our future high school CS teachers as career teachers, then even if we get 10K by 2015, we’ll have only 5K left by 2020.”

    This is the case for music and arts teachers already. In many schools, arts educators are trained in the arts departments (not education departments), prepared for being the first-cut and often the only specialist in their discipline within a given school… And, many quit because they are not respected or they are tired of defending their position (more often than not only there to provide “prep” periods for other teachers).

    Your post misses a big point, however. We can partner with and create pre-service training programs for CS ed in partnership with Schools of Education. But, what’s the point if the K-12 schools and the States that certify the teachers in those schools won’t add CS to the local curriculum? Do you want CS to be a tested subject on state achievement tests tied to federal funding? That’s the best way to get something added to the curriculum.

    Other questions I think about are: Can a school justify hiring a full-time CS educator to teach AP CS? Is the NSF ready to fund part-time CS educators to teach in public schools? After the funding runs out, how do the positions sustain?

    Going after the Schools of Ed as the prime target is missing the mark, I think. Yes, they need to be partners, but it would seem to me that skewing funding toward funding the insertion of trained teachers in the local schools would effect change locally. If this change is positive, then schools could work to sustain the hire. Again, approaching this will require a multi-prong approach.

    I guess my main point is that just creating more CS trained educators in partnership with Schools of Education won’t ultimately get them hired in schools. You have to ALSO have the local schools as partners with a funded commitment to HIRE and IMPLEMENT the curriculum. The real change in my opinion (for better or worse) will only come when CS gets inserted into state-level science/math curriculum requirements K-12 and CS content is tested.

    Reply
    • 7. Mark Guzdial  |  October 13, 2010 at 1:50 pm

      You’re right, Alex — this is a system with many moving parts. That’s why the Running on Empty report is important. That highlights which states do have CS classes to teach (there are some, Georgia included). That’s why the CSTA’s efforts are so important, to track who has certification (and which don’t), and to increase that number. The New AP effort is about creating classes that can get adopted nationally, which creates a job market for teachers and an impetus for more CS classes at the local level. The Computing in the Core effort is about making that local push.

      NSF can’t pay for insertion of trained teachers in the local schools, and they can’t create a national curriculum — they can only do what they can do. All these things have to happen in parallel. *IF* NSF was to put trained teachers into the schools, where would they get them from? We need the training programs. As you point out, we need certification (so that the teachers are high-quality and valued) and we need classes on the books to be taught. It all has to happen. My point in this post is that we can’t pull this off without the Ed Schools. I never said that they were the prime target. We’re trying to change a whole system. EVERYTHING is a prime target.

      Reply
  • 8. Garth  |  October 13, 2010 at 1:39 pm

    Alex makes an excellent point. In Montana most schools do not offer a CS course. When three quarters of our high schools have fewer than 200 students there just is not the staff or money for a CS teacher or a CS program. Therefore the demand is not there for the State Universities to offer a CS program for teachers. What I think there is a demand for is a CS methods course that could prep non-CS degree teachers to teach a basic CS course to interested kids. Many of us teaching CS now got started when a kid said “How do I write a program”. We headed for the nearest book store and bought “Pascal for Idiots” (or its equivalent) and away we went. It would be nice if there was a course “CS For Teachers That Might End Up Having To Teach CS Even Though CS Is Not Your Major Or Minor”. The course name might have to be shortened a bit.

    Reply
  • 9. Laura  |  October 13, 2010 at 3:15 pm

    Where I am there is no certification for CS, only Business and Information Systems. I just did a fairly extensive survey of the public and private schools in the area and what they offer in the way of CS courses. In the public schools, there are generally two or three CS courses: an intro, something in the middle, and AP. In addition, there are the usual photoshop, multimedia, office, etc. Often these courses are the whim of whoever happens to be teaching there. If the teacher has skills in Flash, then there’s a Flash course. You get the idea.

    In private schools, this teaching based on the whim of the teacher idea is even more prevalent. Private schools are much smaller and it is therefore difficult to have a CS teacher who just teaches CS. Someone with a CS degree does not want to teach part-time for peanuts if there are only one or two courses to be taught. So, what happens is they also become “the tech person.” That might mean they spend most of their time as the network engineer and teach the one or two CS courses the school needs per year. Or they might teach other technology courses in addition to CS.

    And that’s my situation. I teach all the middle school technology courses, one of which is Scratch programming. The other two are building web sites and video editing. I get them for 10 weeks once a week for 40 minutes. And until my intro to computing course gets approved, I’m teaching Adobe Illustrator. I’m a week ahead of my students. My situation is common across many of the independent schools not just locally, but everywhere.

    I do not have a CS degree. I am a beginning programmer and a veteran college teacher as well as a former instructional technologist. I know my way around a lot of different kinds of technologies. Many people find themselves in my same position. What I would like to see is more short CS courses offered, similar to an executive MBA. I could spend 10 weekends getting more programming experience. Or I could it online.

    I know that is a different sort of question, but I think the thing is, there are a lot of CS teachers who know about education, but don’t have the CS skills. CS majors could like Mark mentioned minor in education to get the education skills. I actually have a CS major from Bryn Mawr as my student teacher this year. She has more CS skills probably than I do, but I have a lot more teaching skills.

    This is a really complex issue, which, as you say, has lots of moving parts, but what I see here is that people are slowly wanting to offer CS courses. The problem is they need not just CS majors with education minors, but people with a pretty broad range of skills willing to teach more than just CS.

    Reply
  • 10. Cameron Fadjo  |  October 13, 2010 at 4:46 pm

    Mark:
    Thank you for the post. As a learning sciences researcher currently examining computational and mathematical thinking at the primary school level (grades 5 – 7), I strongly believe that there are simply not enough advocates in the public sector working towards resolving this issue. That being said, I find it perplexing that, when it comes to the issue of teaching computer science (vs. computer programming), only high school students are in the equation. As Laura mentioned in her post, the opportunities to bring computer programming (unfortunately the type of thinking we want to develop, computational thinking, is far from the minds of most high school CS teachers and almost every middle school ‘technology’ teacher) to the middle school population are limited due to time, schedule, and budget constraints. Why do we only start addressing this issue in high school?

    The blog post by Alan Kay on simplicity, and the direct implications of what this means to developing future generations of musicians, scientists, engineers, and athletes, is, I believe, a perfect corollary to the problem of K-14 CS education. How can you develop a cadre of teachers of computer science when initial exposure to true CS typically comes in college? Shouldn’t ALL 9th graders be able to address rudimentary CS problems? I fully agree with Mark that pre-service programs need to emphasize CS; not only for the sake of filling the impending deadline of needing more CS teachers but also for the sake of re-establishing CS as an intellectual field and what, I’m sure, has been characterized by those select number of schools mentioned earlier that refuse to enter this debate that CS is often viewed as a field of vocation and not intellect. CS is only useful when looking for a job, they probably say. A statement that couldn’t be farther from the truth.

    A fundamental problem, I believe, is CS is typically introduced AFTER competency in mathematics is demonstrated and only to a select population. CS, and the types of challenges and opportunities presented by the field of study, can and should be introduced at the middle school level. When I say CS, I mean CS and not only computer programming. Why not use CS as an avenue for building enthusiasm for mathematics in middle school? This is, as I’m finding from my own research, a possible avenue and one that is not nearly explored enough.

    There are no simple answers when looking to address the issue of CS education. I’m fully on-board with the notion of K-14 teaching expertise in computing education. Part of the solution, however, should come sooner than high school. The languages to support instruction are out there (Alice and Scratch have the most visibility). We just need to change the tide of what it means to both enter education as a vocation (not as a ‘second place’ career option as almost ALL CS people I know view it) and a core way of thinking.

    _Cameron

    P.S. – For all K-12 CS teachers I HIGHLY recommend this article by Jeannette Wing on Computational Thinking

    Reply
  • 11. Hélène Martin  |  October 13, 2010 at 8:15 pm

    Thanks for this post. I’ve been extremely frustrated by all this recent talk of mandating CS education. It may be a fine idea, but how will we ensure that we’re not just forcing crappy courses on students? At least now students can vote with their feet and steer clear of the teachers who don’t know any CS, can’t teach, etc. I think a bad CS course is more likely to encourage students to steer clear than a good course is likely to attract them. We need to find a way to attract and retain competent teachers before we can even hope to have reasonable courses available for students.

    (I understand that some will argue that it won’t be possible to recruit and keep high-caliber instructors before the subject is required but I worry that bringing in a bunch of unprepared instructors is likely to have overall negative repercussions…)

    Reply
    • 12. Mark Guzdial  |  October 13, 2010 at 8:31 pm

      It’s such a “chicken-and-egg” problem! I just had a long phone conversation with a coordinator for a Teacher Education program. He told me that his number one biggest issue is maintaining the relationship with teachers, principals, and schools to create practicuum and student teaching opportunities in “model” classrooms. Well, how do you do that in states that don’t yet have CS classes defined in their curricula? If you have no classes, you can’t have model classrooms. But how do you create model classrooms without well-prepared teachers? OOF! How do you get started with something like this? Where does the feedback circle start?

      Reply
  • 13. Gail Carmichael  |  October 14, 2010 at 12:03 pm

    I’d love to see better CS teacher education, including for university faculty members. I’m starting to see more and more who care about teaching, but many still don’t seem to feel a need for change. I feel like a cultural change among faculty is an important place to start so that CS students (who might eventually become elementary and high school teachers) can see how difficult CS concepts are effectively taught right from the start.

    Reply
  • 14. Pythonneries  |  October 14, 2010 at 4:18 pm

    Interesting post, and it may interest you to learn that the problem isn’t limited to the US. I am a French database specialist, and also the father of two teenagers. At the traditional meeting with parents at the beginning of the first year in high-school of the eldest one (last year), the math teacher announced that she would teach students algorithmic with Python, and added pitifully “don’t ask me anything about it, we are being trained”. She seemed so ill at ease that it prompted me to start (work still in progress) a full series of Python tutorials in French on Youtube – interestingly, according to statistics, my viewers are mostly in two age ranges – teenagers, and 35 to 55. Much success in Africa, too.
    This year my daughter will be taught relational databases and a bit of SQL. As I have told above, this happens to be my specialty (I have authored two books on SQL). I have had a look at her textbook, it has left me aghast. The relational theory as presented is nothing but theory, full of “tuples”, ‘functional dependencies” – this is taught to them in a management class, and students are 16/17!
    Nothing about practical issues, such as duplicates and NULLs (three-valued logic is complex, but it’s logic – at least, the complexity could be hinted at). What are they expected to learn and retain? What do teachers understand to what they are teaching? Most IT professionals (who have had such classes in college) don’t master database design, I see gross mistake over gross mistake whenever I audit a database.
    I think CS should be taught the same way as physical sciences are taught – the basic principles, concepts. There is, IMHO, a middle way between “technology” (ie how to use Word – knowledge that will soon be obsoleted) and the obsession to feed high-school students the same stuff as CS students – which risks disgusting them forever.

    Reply
  • 15. Bonnie MacKellar  |  October 17, 2010 at 10:53 am

    I am not sure I understand this push to offer computer science in K12. When I went through school, there was no such thing as a computer science course in high school, and it didn’t seem to have much adverse effect. Enrollments in university computer science were increasing, and in fact, that when almost 40% of CS majors were women. So not having computer science in high school didn’t seem to be discouraging women. I was pretty typical of the era – I had never had any exposure to computer science, and I didn’t realize until my sophomore year in college that I wanted to major in it. It was never a problem.
    When I was teaching computer science in the 90’s, most of our students still came in with no computer science background. We often got incoming students who had never used a mouse before. We taught our intro to CS course with that assumption – that students were unfamiliar with computers.
    It seems only in the past decade that we now expect students to arrive with a background in computers. Maybe we need to simply change that expectation?

    Reply
    • 16. Mark Guzdial  |  October 17, 2010 at 2:21 pm

      I think it’s a fair question as to whether it is important or useful to push CS in K-12, but I’m not quite following your argument, Bonnie. You say that years ago, when CS enrollments were increasing and were 40% female, there was no CS in K-12. Are you suggesting that, by eliminating CS in K-12, we’ll return to those levels? The reality is that enrollments are below what some estimates (like US Bureau of Labor Statistics and “Rising about the Gathering Storm”) suggest our economy needs, and that those enrollments are mostly White or Asian males. One idea is to add CS to high school to reverse those trends. Another is that knowing CS is important to be an informed citizen today, which may not have been true 20-30 years ago. After watching “A Social Network” last night, it’s clear what the prevailing attitude about CS is. The idea is to add CS to counteract those attitudes.

      Reply
    • 17. gasstationwithoutpumps  |  October 19, 2010 at 3:50 pm

      Bonnie, are you that close to retirement age? I had a computer programming course in high school in 1970. It was rare then, but there certainly were such things.

      Reply
  • 18. Bonnie MacKellar  |  October 17, 2010 at 3:01 pm

    What I am saying is that I don’t think the effort will make much difference. Of course, I would love to see real CS in high school purely as an intellectual validation of myfield. I have kids in elementary school right now, and would far rather they learned Scratch in their mandated “technology” class than how to print their names with decorations on them. But I doubt it would make much difference. I especially doubt it would make any difference to the numbers of women enrolled in CS.

    The gender segregation starts really early. My 4th grade son, who loves everything about math and computers, took a Mindstorms class this summer. Out of 20 kids, there was only 1 girl. He also took an afterschool class on Powerpoint presentations – and was the only boy in the class. The separation – girls as users of technology, boys as creators – has already started in elementary school. My feeling is that an elective CS course in high school would play out pretty much the same way, with mainly boys taking the course.

    I would like to see some changes in K12, but starting much much earlier, and as part of the standard curriculum rather than an elective. I think all kids should be learning the basic ideas of discrete math early in the elementary curriculum. As a 5th grader in Germany, we actually learned about binary and hex number systems. I don’t think they ever touch that material in American elementary or middle schools.I think kids in late elementary school or middle school should try some simple, fun programming (Scratch or Alice), not as an elective, but simply as part of their math class. I would like to see more of the CS Unplugged concepts incorporated into the standard math classes. The key, in my mind, is to get the kids interested and involved early, and never let it be an elective because then you lose all the girls.

    Reply
    • 19. Mark Guzdial  |  October 18, 2010 at 11:07 am

      Fortunately, there is evidence that it’s possible to make a difference. Just one example: In Georgia Computes!, we’ve been trying different kinds of workshops with a variety of youth-serving organizations (e.g., Girl Scouts, YWCA, Girls Inc.), then tracking what kind of context leads to pre/post attitude differences. Our n is around 2500 participants now. Let’s take robotics as one genre of these workshops. We have never been able to get reliable attitude changes with Lego Logo. I think girls just see that as a boy’s thing, even if it’s fun — that’s not to say that it can’t work, but it’s clearly not easy or obvious. However, both PicoCrickets and programming the Pleo dinosaur reliably lead to significant changes on attitudes like “Someone like me can program computers” and “Girls can work in robotics.” This is at the middle school level, but we already know (e.g., work by Sarita Yardi and Amy Bruckman) that attitudes about gender and computing are already well-formed by then. The point is that it is possible to make changes in attitudes about computing downstream from fourth grade.

      Reply
  • 20. Garth  |  October 18, 2010 at 9:44 am

    Everyone agrees teacher prep for CS is in rough shape. Can anyone suggest what the teacher prep should consist of? I am not talking about a CS major and what they need in the way of education courses. I am talking about a math/science/business/whatever education major. What courses should be a minimum for them to teach a decent introductory high school programming course? What should a programming methods course consist of? Has enyone out there in blog land seen a teach ed program offered anywhere?

    Reply
    • 21. Mark Guzdial  |  October 18, 2010 at 10:25 am

      That’s a great set of questions, Garth. There are programs around. I understand Eastern Michigan U. and UNLV each offer CS methods courses. Columbus State here in Georgia is offering a high school CS teachers’ “endorsement” (a kind of certification), and is developing a methods course to offer for the first time next Summer. I do think that there is lots of room for more answers to these questions.

      Reply
  • […] solution to any educational problem is complex — you’re trying to change a system.  I completely believe that tablets could bring a lot of benefits to classrooms.  I am also quite […]

    Reply
  • […] 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 […]

    Reply
  • […] has reached out to the education side (yay — we really need that!) to start to get a handle on what it will take to scale CS education across the US in schools. […]

    Reply
  • […] mentioned before how much we need schools of education to guarantee the future stability of computing education.  The new CSTA report on certification makes the point better than I […]

    Reply
  • […] science teachers. We just needed the will to do it. You can find posts from me talking about this from 2010 and from 2015. I now realize that this is so hard that it’s unlikely to happen in most US states. […]

    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,097,034 hits
October 2010
M T W T F S S
 123
45678910
11121314151617
18192021222324
25262728293031

CS Teaching Tips