Everything Is Changing in CS Education

Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

Everything Is Changing in CS Education

  • Comments 2

There seems to be a lot of agreement that we need to change the way we teach computer science, especially at the pre-collegiate level. Not complete unanimity of course. Unanimous agreement is pretty much out of the question in computer science. But at least many people see that computer science education is declining in numbers (at the HS level even if it has stabilized or trended up in higher education of late) and that diversity in gender and race are far from where we need them to be. An interesting new report from Anita Borg Institute, CSTA and the University of Arizona called “Addressing Core Equity Issues in K-12 Computer Science Education: Identifying Barriers and Sharing Strategies shows that K-12 Computer Science education in the United States is in a state of crisis.” So what do we do about it?

Well one option is the new AP CS Principles (my take on AP CS Principles here) which is more of a breath course in computer science. Hélène Martin has her own take on breath courses in computer science on her blog. It really deserves a close read as well. For her it is a question, to some degree, of relevance to students. To another degree it is about short changing programming. At least as I read it. As someone who fell in love with computer science because of programming I am concerned about that as well. There is also the question of rigor – are we “dumbing down” the first course of computer science? That’s a concern I have heard raised a number of times and it must be addressed. My hope is that breath courses will lead students to take more programming among other things. Will it work? Time will tell I guess.

Oh and while we are at it, has the web changed “everything” in computer science as well as so many other things? Ed H. Chi says “Time to Rethink Computer Science Education: The (Social) Web Changes Everything!” on the Blog@CACM.

Rensselaer Polytechnic Institute (RPI) has created the nation's first undergraduate degree in Web Science External Link.  The news release said that the students in this interdisciplinary degree program will investigate issues on the Web relating to "security, trust, privacy, content value." RPI President Shirley Ann Jackson was quoted as saying: "With these new degree programs, students and researchers here at Rensselaer will help to usher in a new era of understanding and study of the Web from its social and economic impacts to the evolution of data".

Are these issues now? I think not but to some degree they have moved up in the priority list for most of us. With good reason of course. Where do we teach this to computer science students? How much can we cram into a first course. Sometimes I think it would take three years to teach all the things that many people think belong in a first course. Seems impractical to me. But we need to agree on some basics. I don’t see unanimous agreement happening though. The best we can probably hope for is a couple (two maybe three) courses that large groups of people can agree on. Hopefully there will be enough overlap in the agreement to handle issues like transfer and placement credit. It will take more discussion and some flexibility but at least I think people are willing to talk. And that is a good thing.



  • Thanks for your thoughts on this important question.  It's just so hard to know what the right thing to do is!  I didn't really talk about this in the blog post you point to but ultimately I think the only real solution is to find some way to incentivize people who actually know something about computer science and care deeply about it to go into K-12 teaching.  That's by no means easy but I think it's the most likely push to have real systemic impact.

    And you summarized my ramblings better than I could have. =)

  • We do not offer AP CS but my school does offer AP English and AP US History.  Looking at the difficulty of those courses and their comparative level college course an AP CS can not and should not, by any stretch of the imagination, be considered an “Introductory Programming” course.  The local public school district (3000+) offers AP CS, with 2 – 4 kids in it.  I do not think this is a problem caused by AP CS, but by the prerequisite courses.  By the time a kid would have the skills to succeed in AP CS all the mainstream kids have disappeared.  All that is left are the hard core programming geeks (geek in a very non-derogatory sense) and those are far and few between.  If the numbers are going to increase we have to make CS tempting to more main stream kids by having interesting intro courses.   Phone Apps and game programming would seem to be the major attractor for kids.  The game thing seems to be a zero attractor for mainstream girls but the phone app might get a few interested.  I wrote a grant application that has a Mac laptop and 4 iPod touches in it so we can try an app writing course next year.  I have never written an app or programmed on a Mac for that matter (my last Apple programming was Pascal on an IIe) so next fall should be entertaining (should keep me off the streets this summer too).  I plan to start with my 2 uber programming geeks and use then to write a course.  Hopefully by spring semester I will have a course to tempt mainstream kids into a programming course that will be relevant to their world but that will also offer some basic programming skills.  An intro course needs to be fun, relevant and to some extent flashy if we are going to get kids interested in programming as an advanced field.  Nail them with AP CS after they have been captured by the black hole of programming.  Everything is changing in CS Education.  If we have a kid learning all about sorting algorithms their first semester they will be long gone by second semester.  There is way too many cool and fun programming environments out there now.

Page 1 of 1 (2 items)