Archive for December 10, 2013

Why are English (and lots of other) majors studying computer science? #CSEdWeek

Ten years ago, professors in computer science departments everywhere wondered how undergraduates from a broad range of fields could be attracted to computer science (CS). We were convinced that this material would be vital for their careers, but we were up against negative stereotypes of programmers, and the prediction that most software jobs were about to be outsourced to the third world.

The tide has turned! The graph below shows annual enrollments over the past decade for the introductory computer science courses at UC Berkeley, Stanford, and the University of Washington. At each of these schools, and at colleges and universities across the nation, the introductory computer science course is now among the most popular courses on campus, and demands for advanced computer science courses are at record-breaking highs. At Stanford, where more than 90% of undergrads take computer science, English majors now take the same rigorous introductory CS course as Computer Science majors.

via Why are English majors studying computer science? « The Berkeley Blog.

Dave Patterson and Ed Lazowska have written the above-linked blog post explaining why there has been such a rapid rise in enrollments in Computer Science at Berkeley, Stanford, and U. Washington.  We’re seeing the same enormous rise in CS enrollments at Georgia Tech.

Beyond the intro course, we’re seeing a dramatic increase in CS minors.  At places where everyone is required to take CS (e.g., Georgia Tech, Rose Hulman, Harvey Mudd), students have the option of going beyond that first course, and because the first course is tailored for them, they’re more likely to succeed at it.  At Georgia Tech, we’re seeing students take more than just the required course and pursing a credential in CS, within their major.  English majors (and lots of others) are seeing that computing is valuable.

Patterson and Lazowska offer two explanations (the numbering is mine):

1. So what happened? First, today’s students recognize that “computational thinking” — problem analysis and decomposition, algorithmic thinking, algorithmic expression, abstraction, modeling, stepwise fault isolation — is central to an increasingly broad array of fields.

That may be true, but I doubt it.  It would be interesting and useful to survey these students, discover what majors they’re going into, and ask why they’re taking CS.  (Kind of what we did across the state of Georgia in 2010.)  I don’t believe that most people are aware of “computational thinking,” and even less, new students in higher-education. As evidence of this growing awareness, the authors cite a recent quote from Richard Dawkins (in 2013), “Biology nowadays is a branch of computer science.”  That’s not a new position for Dawkins.  In 2007 (at the depths of declining enrollment), he told Terry Gross on NPR, “Since Watson and Crick in 1953, biology has become a sort of branch of computer science.”  This isn’t a sign of a recent awareness of the importance of “computational thinking.”

2. In addition to enhancing prospects within a chosen field, surely some of the reason for interest in computer science as a major or as a minor is to enhance employment opportunities after graduation.

I totally buy that.  That’s what Eric Roberts saw from his informal survey when the boom in enrollment first started.

But my gut is a bad judge of these things.  We really ought to test these claims, rather than make claims without evidence.  Who is taking CS now? And why?  And how does it differ between these institutions?

The authors end their piece arguing for more faculty teaching more CS classes:

In higher education, the response has been sluggish at best. Computer Science is usually found in colleges of engineering — as is the case at Berkeley, MIT, Stanford, and Washington — so one indicator of accommodation is the fraction of engineering faculty in the field. Less than a fifth of the engineering faculty at these schools teach computer science courses, a fraction nearly unchanged in the last decade.

I strongly agree with the argument. The critical issue here isn’t about growing Engineering or if CS belongs in Egnineering. The critical issue is that computing is a form of literacy, not just a specialty skill, and we have to think about how to ramp up our offering of computing education so that it’s universally accessible.

I talked about this implication of our successful CS1’s for everyone in the May 2009 Communications of the ACM:

Finally, building successful, high-demand courses for non-computing majors gives us a different perspective on the current enrollment crisis. Students want these courses. Other schools on campus want to collaborate with us to build even more contextualized classes. While we still want more majors, we have an immediate need for more faculty time to develop and teach these courses that bring real computing to all students on campus.

December 10, 2013 at 1:20 pm 7 comments

Teach Real Algebra with Code: The Interdisciplinary Program Bootstrap #CSEdWeek

I got a chance to learn more about Bootstrap when Kathi Fisler visited us here at Georgia Tech recently.  This article doesn’t do a good job of selling the program.  Bootstrap is important for showing how programming can be used to teach something else that we agree is important.

“When you hear, ‘This is so amazing! These apps teach kids to program!’ That’s snake oil. Every minute your students spend on empty engagement while they’re failing algebra, you’re assuring that they’re not going to college. Studies show that the grade kids get in Algebra I is the most significant grade to predict future income.”

via GoLocalProv | News | Julia Steiny: Teach Real Algebra Instead of Wasting Time with Apps.

December 10, 2013 at 1:56 am 25 comments


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

Join 9,005 other followers

Feeds

Recent Posts

Blog Stats

  • 1,879,154 hits
December 2013
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

CS Teaching Tips