Object-Oriented Programming

Before I read this article I didn't know that the intro course had ever been taught in OOPas. I actually think that it is kind of silly. The idea is to promote the infiltration of Objects and the nature of OOP but they use a hybrid language. I do see h ow, at that point, the intro course at Brown was going through a change of sorts. At the actual time, '94, CS015 or whatever it was called then was a hybrid class. And for lack of a better lanquage at the time, I'll excuse them for using a hybrid langua ge which to me represents a one foot in the water approach.

I love Java. I think it's the perfect language for the intro course. Mind you, I'm not just some lowly programmer who walked into Brown off the street. I did actually take some C++. So, I guess that I'm biased toward OOP but Java is simple and a lmost fool proof. But, I'm also a relatively inexperienced programmer and I found that the language that they chose to teach at first was perfect BECAUSE of the fact that it was OOP. I believe that it forces the student to think about design before the y start to code. This trend that CS015 suggested also took place because of the way that the course is taught. The fact that we don't do "hello world" as the first program is wonderful. By CS education standards, it's almost revolutionary.

But enough about that for now...

Teaching OOP in the first course makes the student focus on the design aspect of programming. And that's all that I have to say about that.

Certainly the teaching of OOP in the first course allows for the students in later courses to learn and quickly adapt to C++. From there you can go into straight procedural code without much hesitation. After all, we've all done it a few times where we code in a OOP language but our actual code is procedural. So the transition shouldn't be too hard.


Reactions

Reaction by Jon
Well, first of all OOPas is not any different than any other object oriented language. Any OO language is built on top of procedural ideas, because assembly language, and computers in general, are inherently procedural. The CPU executes one instruction, then the next. Also, as someone who took CS15 in OOPas, I did not think it was that bad. True, I had never heard of it before, but we did mostly the same projects, and I did not feel like it was only half object-oriented. In fact, knowing both OOPas and Java, I feel the transition from OOPas to C++ is actually easier than Java to C++.

Also, I don't think it is quite so easy to switch to procedural programming without much hesitation. Programming procedurally is more than just using one object. Like switching from procedural to OO, I think going the other way involves a similar paradigm shift. If you don't believe me, try thinking about how you would go about programming Tetris procedurally. Honestly, I think not teaching procedural programming at all is not necessarily a good thing, and I feel better for having experience in programming in both paradigms.


Andrew Schulak

Being the only one, with Jon, who actually took the class when it was in OOPAS I would like to take the time to defend it. While OOPAS wasn't the greatest language in the world it certainly wasn't terrible to use. Also, we did have a very nice environment to use (Meadow) which made programming, and understanding objects and object relations easier. At the time, I think they chose well for themselves, and for us.


[BACK]