Sudipto Ghosh
Office: 468 CS Building
Office Hours: M 10:00--11:00 am and WF 1:00--2:00 pm
Xiang Li and Hossein Shirazi
Office: CSB 120 lab
Office Hours: Li (W 5-6 PM, Th 11-12, F 8-9 and 5-6)
Lecture Time and Place:
3:00-3:50 PM, MWF, Clark A 202

The objective of the course is to provide students with a working knowledge of the underlying foundations of object-oriented design and analysis and the current state of practice. Object-oriented analysis involves developing conceptual models of the problem domain of a software product. Object-oriented design involves developing models of the software solution to the problem clarified during analysis, and constructing programs that implement the design models. A fundamental objective of the course is for students to learn to think in terms of objects, so that they can identify the objects in a system and assign responsibilities to system components.

During the course, students will learn to analyze problems and develop conceptual models, generate designs from the models, and write program code that implements the designs. Students will also learn to evaluate and improve object-oriented models and code. They will use the Unified Modeling Language (UML) to develop object models, and Java to implement the designs. The course will also introduce some facets from agile programming: very short software build cycles, and test-first programming.

The topics covered in this course are listed below (subject to change, not in exact order, as time permits):

Videos available under Canvas, Modules, Video. Aug 22.
Lectures begin Monday, Aug 22.