Oh, the CS4 project

I’m grading for Strout’s CS4 (again) this quarter, and I have to say that I am somewhat distressed by the things I am seeing. Students seem to be getting consistently worse in a few important areas of the class and the project.

First of all, most people just don’t get the concept. Two years ago, when I took CS4, nobody in the class had conceptual issues with what they were doing. Come to think of it, nobody really had issues at all. Last quarter, I was suprised to see that about a fourth of the class had some type of issue (conceptually) with the design of their projects, and about a half of those issues were major (read: massive grade penalties).

This quarter, at least one-third of the students completely missed the boat. About one-sixth of the class did not understand the distinction between the solver and puzzle class, and around three-fourths of the class did not understand the idea of an extensible configuration. (Unrelated, 99% of the class did not understand the phrases “flow diagram” and “real data”).

It is really, really, really painful to see. I may be mistaken, but I feel that C++ is not a hard language to understand. In fact, I find more difficulty understanding some of the things I find ambiguous in Java, like generics vs. templates, enums that are special classes, everything is a reference, and my favorite, the I-need-to-use-a-design-pattern-here-so-why-not-a-factory? My favorite are the factories that are 15 lines long and just default construct whatever class they are a factory for.

My real dissappointment is, of course, selfish: when these people graduate, they will be so Java-centric that they will become commodity programmers. The interesting work, i.e. the work that is not being shipped out to India, is the work that requires thought. This is the work I want; something challenging, something that requires me to stretch and learn new things in order to be successful at. These kids, however, are content with just being software engineering cogs, and it is bringing down the quality of the RIT graduate. And if most RIT graduates feel that Java is the only important language to learn, then most RIT graduates won’t get a second (or even first) glance from prospective employers. I do not want to be glanced over just because some kids feel that pointers are really, really hard, man.

Comments are closed.