Programming Classes

I recently finished a programming class at eastern. It was, in the end, incredibly easy. I don't think it was that easy for the rest of the class, but for someone that already knows the concepts and practices, it's a very easy class. We had a group project in that class, and I was squeezed into leading that project. That was a real learning experience.

First thing I learned: when you're learning how to code you can't write code very fast. I wrote a version of the project in a couple hours early on in the project. It took the class weeks to write that. I'm not calling the class stupid or slow, in fact I though some of the people in the class were highly intelligent. What I am saying is that once you stop thinking about how to write the code, and start thinking about how to write the program things get a lot easier. I'm looking forward to seeing people in the class get to that point. It's a rewarding moment in a programmer's life.

Hard things turn out to be easy, and easy things become hard. This happens all the time in the real word, so I should have seen it coming in academia. I thought for sure that part foo of the code would be easy and bar would be hard, and I was completely wrong. They worked thru it though, and that's what counts.

The book for the class was a complete disappointment. First off, there are many factual errors in the book. For example, the book's definition of polymorphism:

Polymorphism refers to the ability to associate many meanings to one method name by means of the late binding mechanism. Thus, polymorphism and late binding are really the same topic.

That's not right. That's not even wrong.

More than that, the book tries to keep each chapter independent. Chapter 15 doesn't require you to know chapter 7 for example. This sounds like a good idea in theory, but in practice it means that new important ideas are not reinforced. Exception handling is covered and then never discussed in later chapters. It goes completely against the fact that in computer science ideas are built atop other ideas.

The examples are trite and often fail to reinforce modularity. There are now ten people in a computer science class at eastern that have been taught that it's perfectly alright for a library to print error messages to standard out - even though they've been taught exceptions!

Posted: December 22, 2005 10:36 PM

Post a comment