Archive for December 7, 2010

Computational Science needs CS Education

At the BPC Alliance PI’s meeting last week, there was discussion of a recent meeting in DC where the attendees were talking about the importance of computational science and engineering.  The problems of CS education were presented (e.g., low enrollment, high failure rates), the response was, “But what does that have to do with computational science?”  Does computational science need computer science education, or can they just go it alone?

To start with, this is a big question.  Scaffidi, Shaw, and Myers did a detailed analysis of the size of the end-user programming community.  They estimate that by 2012, there will be about 3 million professional software developers in the United States, and about 13 million people who program as part of their jobs but not as software developers.  One way to think about it as a CS educator: For every one person in our classes, there are at least four more who will be using computer science — but may not have had any formal computing education. Not all of those 13 million will be computational scientists and engineers, but a great many will be.

Brian Dorn’s dissertation work explored what do end-users know (almost all self-taught), how do they know it, and importantly, what don’t they know.  He interviewed them, assessed their knowledge, and watched them while they programmed.  He found that they are seriously hindered because they don’t have fundamental computer science knowledge.  They don’t know the terminology of CS, so they sometimes found documentation confusing.  They didn’t know the ways that programmers read code.  For example, he gave an end-user programmer some JavaScript code to read and modify.  The user saw a variable (“foo”) then did a search based on that (googling “JavaScript foo”).  End-user programmers don’t necessarily know which variables and functions should be found within the code, and which are likely to be part of an external API whose documentation might really help to understand what the program is doing.  Once, one of Brian’s participants accidentally stumbled onto a Java page while he was searching for JavaScript information.  The participant then wasted a half hour before figuring out the error.  Brian’s dissertation explored how to provide CS education to professionals who don’t have a CS background.  Could we do this better at the undergraduate level?

“Okay, so maybe scientists and engineers need some CS at the undergraduate level,” you might be thinking.  “But why us?  Let the physicists teach their own!”  My experiences this last year suggest that that doesn’t work well.

  • Matter and Interactions is a new Physics textbook series by Ruth Chabay and Bruce Sherwood, where students program in VPython as part of their labs.  A three-body problem can’t be solved mathematically, but you can create a pretty good simulation that works well.  We’re using M&I here at Georgia Tech, and one of the challenges of using it is finding teachers.  I’ve talked to the folks involved in using it here.  Physics professors want to teach Physics, not variables or for loops.  There’s some talk around here about requiring GT students to take CS before Physics, so that the physicists can assume the CS knowledge already.
  • I’ve visited a lot of schools this last year. At one college, I got to visit with non-CS faculty who teach in a computational science program and then with some of the students in that program.  The non-CS faculty told me that they hated teaching CS — they recognized that they weren’t good at it, and it wasn’t of any interest or value for them to get better at it.  The students agreed that the non-CS faculty were bad at it.  “They just throw a program at us, and say, ‘Here, read this. Figure out how loops work.'”

Computer science professors may not be great at teaching CS (consider our failure rates in CS1), but we have much greater incentive to get better at it than a Physics or Biology professor.  The SIGCSE Symposium draws around 1200 faculty each year. That’s a lot of people working at becoming better CS teachers.  On average, a CS professor is going to be better at teaching computer science to future computational scientists and engineers than will the professors in science and engineering.

Computational science and engineering needs CS education to be healthy and growing.  Decreasing interest in CS and rising failure rates in introductory CS classes is a problem for all of STEM, not just CS.  All of STEM is going to rely on computing, and their students need some CS classes, not just learning on their own. Computer science professors are the best bet that they have for teaching CS well to STEM students.

December 7, 2010 at 12:36 pm 8 comments

NCWIT resources for CSed Week

The below was in Lucy Sanders’ message to NCWIT participants for CSEd week.  It’s a really nice set of resources for CS education in general.

December 7, 2010 at 8:55 am 1 comment

More education doesn’t lead to better teachers?

Below is a quote from a speech from Bill Gates to the Council of Chief State School Officers.  I would have thought that a Master’s degree would mean a better educated teacher, and that increasing teacher knowledge would lead to increased student performance — but I admit to having no evidence for this belief.  I wonder if the problem here isn’t the pay bump, but the Master’s degree.  If the degree doesn’t lead to better student achievement, maybe we’re not doing enough in the Master’s degree?

Another feature of school budgets is a bump in pay for master’s degrees. But a master’s degree has almost no impact on achievement.

Nevertheless, my own state of Washington has an average salary bump of nearly $11,000 for a master’s degree – and more than half of our teachers get it. That’s more than $300 million every year that doesn’t help kids. And that’s just one state. As a country, we spend $9 billion a year for master’s degrees.

via Bill Gates: Council of Chief State School Officers | Bill & Melinda Gates Foundation.

December 7, 2010 at 8:17 am 6 comments

Recent Posts

December 2010
« Nov   Jan »


Blog Stats

  • 1,399,664 hits

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

Join 5,067 other followers

CS Teaching Tips