Saturday, October 06, 2012

The Problem With Courses

Lots of interesting side comments come up during some curriculum discussions. At a recent meeting of the CS 2013 task force one of the committee members made a statement to the effect that maybe part of the problem was having to have courses. The comment was made (mostly I think) in jest but it really started me to thinking.

In general I think we have too many artificial distinctions in bits or knowledge. Or as we like to call them in school “subjects.” I first started to think of this in the context of math. After all algebra, geometry and trigonometry are all “just” math. But we have people saying that one is easy and one is hard but they’re all math. Where does the line between geometry and trigonometry fit? When does algebra end and linear algebra begin?

We face the same sorts of thing in computer science. Database and data structures? Can you have one without the other and if not where do you draw the line between them if at all? I could go on of course. But we do have courses. Why? Because it makes record keeping easy. Well its more complex than that but basically we have courses as much to make education fit into nice ordered compartments as anything else. In many ways I wonder if it would make for a better learning experience not to have courses at all.

This would require education to be more like an apprenticeship where people move at their own pace and pick up new skills and knowledge when they are ready for them. Or when they need them. It would be a holistic approach with fewer artificial separation between topics. Is it practical? Probably not. At least not the way we do education today. I think it would be better though. Of course I have no data and maybe it is all wishful thinking but it’s something to think about. What do you think? Do courses help learning or get in the way?


Unknown said...

I think they get in the way, but I probably wouldn't have a job without them. Not only is student progress counted in courses by teacher employment is counted that way. A teacher counts as full time when they have enough classes.

I think if students could come hang out for a few weeks, go off on their own and then come back, I'd have more students. They have a hard time committing to a full CS course because it means giving up something else or free time.

Unknown said...

In a lot of university computer science departments, including mine, every course has a set of learning outcomes. Each outcome begins with the boilerplate phrase, "On completion of this course, the student will be able to..." or something comparable. Looking at the learning outcomes gives students a good idea about what the course contains, and it gives the faculty a way to think about overall coverage of topics and how those topics are organized. Sometimes we decide that some learning outcome would be better addressed if we shifted it to a different course, so we do that. (We have good guidance, for example, in the ACM curriculum guidelines that come out regularly.)

Courses are artificial, in the sense that they're constrained to follow the timing of a quarter or semester, and all the students have to work through the material in a course at about the same pace. In an ideal world, students would be apprentices who could learn the material based on their own interest and speed. The material would need to be organized somehow, though, and courses with learning outcomes seem to be a reasonable compromise.