Here are a few highlights from SIGCSE 2009, Chattanooga, TN. These highlights are about making computer science "interesting" and "more relevant" to students that normally bypass traditional CS courses:
1. "Rediscovering the Passion, Beauty, Joy, and Awe"--panel presentation:
Dan Garcia (Berkeley): CHANGE (Obama style?) has come to computing. Let's avoid the old style of syntax-driven CS 0/1 curriculum. Let's let students choose their own projects, mix of CS courses, partners, etc. In elementary schools, parents help out after school; so, why can't we get [CS-type] moms & dads to help out in the computing club? "But, we want a winning basketball team, so not just any mom or dad will do." When constructing assignments and putting together lecture material, think relevance! We need to motivate students so that they will want to spend hours of their own free time on programming ... just for fun.
Eric Roberts (Stanford): CS enrollment at Stanford is "skyrocketing", wiping out previous CS1 losses post-dot-com. Programming continues to be a very important skill that needs to be emphasized and taught more effectively. "The best programmers are several orders of magnitude better than the average programmer." At Google, for example, they represent one-tenth of 1% of the applicant pool. The best programmers are 300 times as good/productive as Google's typical programmer.
Zachary Dodds (Harvey Mudd College): suggests a breadth-first approach to CS, including functional programming. Right now, "What is learned is the square root of what is taught."--implying not much is learned/remembered from a typical CS course.
2. Microsoft's exhibit on computational thinking. An excellent book, edited by Yan Xu (former MSc student at UBC) is: Transform Science: Computational Education for Scientists (CEfS), Special Edition. Microsoft Research was giving away free copies at the conference. Many authors, including former UBC STLF Beth Simon, contributed 1-2 page positions and short research papers on educational themes in computer science, focusing on the current mismatch between typical CS programs and typical science programs. For example, many authors claim that CS courses are not serving biology, chemistry, physics, earth & ocean science, biological engineering, etc., students very well. We need to develop new courses that take the highlights of numerous first, second, and third year CS courses, and condense them into digestible units for such non-CS students. Such highlights include topics in programming principles, an easy-to-learn powerful language (say Python), discrete math, algorithms, complexity, scripting, database topics, etc., should be made available to biology students using examples (taken from biology, etc.) that are relevant and interesting to the students. Forget about command-line driven programs that compute interest, etc.; instead, stick with real bioinformatics examples. Incorporate visualization techniques, problem-driven applications, modelling, simulation, etc.
3. Owen Astrachan created a new CS course at Duke University for arts students, theater students, varsity athletes, would-be lawyers, etc. Owen created a very interesting, non-programming, non-math, CS course that would appeal to non-CS/non-science types. And it did! 250 students enrolled in his experimental and engaging course. He got several guest speakers (some of whom were Duke alumni) to speak on their areas of expertise. The topics included case studies of network protocols, privacy issues, social issues, copyright issues, high-profile/controversial law cases, etc. Owen gave us take-home copies of his midterm and final exam. The exams included questions on IETF standards, Internet voting, DNS servers, security, Skype and security, worms, Flickr, BitTorrent, Richard Stallman's Free Software Foundation, copyright act and RIAA, IPv6, spam, cookies, iTunes, iPhone, P2P, etc.