Object-Oriented Programming with C++ and Smalltalk
By Caleb Drake (Prentice Hall)
COURSE COORDINATOR: Goce Trajcevski
COURSE OBJECTIVES: The main goals of these course can be categorized as follows:
(1) It will expose the students to the ideas that motivated the O-O programming paradigm;
(2) It will help the students in understanding the basic features of O-O languages, as well as develop a better intuition regarding the “design-to-code” transition.
(3) It will expose the students to two ends-of-spectrum languages and help them develop the intellectual flexibility to better structure their design-choices in correlation with the features of a particular language/environment.
(4) It will help the students in recognizing the importance of “behind the scene” executional behavior of the environment in which the code is written. After finishing the course, the students should be comfortable with the O-O paradigm (and Smalltalk as a pure-language example) and be able to fully exploit the O-O features of C++. Just as importantly, in addition to developing a flexibility to adjust to new O-O languages, the students will be able to recognize and utilize the fact that although the syntax of Java is similar to the one of C++, the executional behavior of the programs is quite different.
PREREQUISITES: EECS 311 (or consent of the instructor)
ASSIGNMENTS: The course will have 1-2 homeworks, three (well, “2.5” – since the first one will be more introductory-natured) projects, a midterm and a final exam.