Rethinking the Java Curriculum: Goodbye, HelloWorld!
Subject:   Re: Common teaching errors
Date:   2002-10-17 22:01:45
From:   anonymous2
Heh, you must have experience with Deitel's "Java: How to Program" text book, which is the text for my second semester of java programming.

My first semester, (into to OOP), was a joke. The instructor was not familiar with online classes and basically ignored the class until the very end. Then seemed to get irritated that so many were doing so poorly. We did not even get to arrays.

This semester is different. I am taking both C and intermediate java programming online. DON'T DO THIS AT HOME!! It was a mistake to do both at the same time. It's been very difficult and frustrating to deal with such opposite approaches at the same time.

I am breezing through C, but am struggling with java. I have to agree with some of the criticism against what you suggest. It would be two months before your students could reasonably be expected to start writing code, if you insist on doing a full-scale OOP from the start.

OOP is an abstract and complicated subject. Java is an enormous and complex language. It's very frustrating to have to go through the whole superclass, subclass, interfaces, methods business in java, when I could just hammer out some C functions in an hour or two.

For most of the initial school projects, the OOP approach seems like a bunch of needless nonsense and overkill. Personlly, I'm getting an awful lot of frustration out of the class, without seeing much benefit from OOP. So far, C is much more approachable and enjoyable.

I'm not real happy with the text book, as it seems to ratchet the complexity up pretty fast (faster than I can deal with anyway). There are way too many "and a miracle happens here" issues with java. However, the miracles only happen a certain way, in certain situations.

For example, we just wrote a program that accepts String input from a user and turns it into pig latin. Man, this would be way easier in Perl.

I chose to learn java. From what I had heard, OOP made programming easier and more effective. Well, so far I don't really see it. Just seems like a huge amount of added complexity, with little payoff.

About the only real benefit of OOP is polymorphism (inheritance is NOT all it's cracked up to be). I'm still not sure if the cost in complexity and general obfuscation is worth it.

Maybe I'll feel better after living with the language a couple years.