Graduate Special Topics in Computer Science

NOTE: for descriptions of standard graduate computer science courses, see Graduate Course Descriptions.

G22.3033 Principles of Object-Oriented Modeling and Design

Prerequisites: Students are expected to have done at least one basic programming course. They should be familiar with basic data-structures and programming constructs. Any knowledge of C++ or Java is not a requirement for this course. Students with advanced programming experience in C++ or Java may not want to take this course as they would already be familiar with the design principles covered in the first half of the course.

The course will develop the basic principles of OO modeling and design, and illustrate them using C++. The course will cover a formal modeling methodology using the Unified Modeling Language (UML). Using UML one can model and visualize a large software system by specifying its components, their interrelationships, and dependencies. Thus UML provides a graphical blue-print of a large software system. Anyone who anticipates being involved in large software systems, in any capacity, will benefit from this course.

It is not a course about C++ programming language. With some help from the instructor and the TA, the students are expected to learn this language on their own. The course is organized in such a manner that initially, little or no knowledge of any object-oriented language is required. They will become more and more proficient in the language constructs as the course progresses.

top | contact