I wasn't able to go to SIGCSE
this year, but I browed the papers on the weekend. There was lots of good stuff; here are my favorites out of the more than 200 pieces of work presented:
- Chase, Oakes, & Ramsey: Using Live Projects Without Pain: The Development of the Small Project Support Center at Radford University. Real projects for real customers always have problems; the authors describe the support center their university (in Virginia) set up, and how it functions. Lots of good ideas...
- Dierbach & Cirri: FedEx package Delivery: A Robust Domain for Object-Oriented Design. Very nice extended exercise in OO design, UML, and patterns. I wish there was a whole book of these...
- Goldwasser & Letscher: Teaching an Object-Oriented CS1 in Python. Not much surprising here, but it's good to see other schools are already doing what we're going to this fall.
- Goodwin & Califf: Encouraging Programming Success by Helping Students Learn to Manage Their Time. I realized a long time ago that prioritizing and staying focused count for at least as much as raw intelligence. This paper describes how the authors taught time management, and what effect it had. I'm going to try this in the new software engineering courses we're introducing this flal.
- Groth: How Students Perceive Risk: A Study of Senior Capstone Project Teams. Groth used Tiwana and Keil's "One-Minute Risk Assessment Tool" with senior undergrad programming teams, and found that (a) it helped, and (b) doing poorly correlated with not knowing how poorly you were doing. I'm going to try this in the new software engineering courses as well.
- Ludi: Accessibility Integration in an Undergraduate Software Engineering Course. Presents a comparative study of team projects, in which some students had to allow for users with visual disabilities, while others didn't. There's a very active accessibility group at the University of Toronto; I think that making DrProject usable by people with physical disabilities would be a great term-long project for the new courses. (Yes, there's a theme here... ;-))
- Noonan & Hott: A Course in Software Development. A tool-oriented course designed to give students core software development skills early in their careers. It's similar to our CSC207, and has lots of good ideas to steal for the "new" Java-based version we're going to launch this fall.
- Radenski: Digital Abductive Learning in Early Programming Courses. The "abduction" Radenski is referring to is "...a reasoning process that starts with a set of specific observations and then derives the most likely explanation". He argues that this is how the Net generation learns, and that we ought to design courses to cater to them. He backs this up with data, and his experiences with self-guided Python labs.
- Randolph, Julnes, Bednarik, & Sutinen: A Comparison of the Methodological Quality of Articles in Computer Science Education Journals and Conference Proceedings. Shows that conference papers are just as solid as journal papers; intent is to provide ammunition to researchers who prefer to publish in the former.
- Sciore: SimpleDB: A Simple java-Based Multiuser System for Teaching Database Internals. I'm a big fan of "learning by building", which is the philosophy behind Sciore's simple relational database. Assignments include adding indexing, adding sorting (and operators that depend on it), sophisticated buffer allocation, query optimization, and more.
- Woodley & Kamin: Programming Studio: A Course for Improving Programming Skills in Undergraduates. Lots of people have talked about creating a "performance" course in programming; Woodley & Kamin have done it. It requires a lot of resources, but seems to deliver a lot of value as well.