Guinea Pig for CS Educators

Nov 17, 2009 11:34

I'm tired of being a guinea pig for Computer Science educators. This is now the second introductory Computer Science class I've taken, and it's the second one to have incomplete or brand new course materials.



The first class was CSCI 111 at Ole Miss. Dr. Lawhead used us as guinea pigs to test teaching introductory programming skills with Lego Mindstorms robots. It was pretty cool, but also frustrating from time to time. Shenanigans with the robots themselves, such as differences between individual designs, quirks of the robot JVM, differing behavior based on battery state, and even the weird keyboards on the Sun workstations all added up to a big headache.

I think there may have been intentional pedagogy behind some of the frustration, based on a somewhat tongue-in-cheek explanation of why MIT uses Python now to teach introductory programming instead of Scheme.

Nowadays you muck around with incomprehensible or nonexistent man pages for software you don’t know who wrote. You have to do basic science on your libraries to see how they work, trying out different inputs and seeing how the code reacts.

Now I'm in CS 5010 at Northeastern, often referred to as "Boot Camp for Masters Students". It's a rigorous grounding in the fundamentals of designing structured programs with the maximum possible unit test coverage. It's a very different, and I think superior, approach than the typical introductory CS course using Java. I've actually learned a fair bit from it, and I think it's made me a better programmer. I think I was pretty good to start with, but in this business there's always room for improvement.

Unfortunately, the class itself is not as well structured. Two of the three main texts are pre-production, unpublished materials: How to Design Classes, which I'm waiting on the Northeastern Reprographics Center to actually print and bind a copy for me; and How to Design Programs, 2nd Edition, which is at least available online even if it's not in print yet. The fun part is that we're largely using the first edition of HtDP, but we're using the 2nd edition examples and software. They don't always agree.

Ah well, at least I can brag that I've been on the cutting edge of Computer Science pedagogy; even if it's the receiving end (ouch!).

Previous post Next post
Up