San José State University
College of Science/Computer Science Department
CS 151 – Object Oriented Design, Section 5
(Upper Division Core Course)
Welcome to CS 151: Object Oriented Design. On this homepage, you will find the course description, course learning outcomes, and other resources to help you succeed in this course.
Course Catalog Description
Design of classes and interfaces. Object-oriented design methodologies and notations. Design patterns. Generics and reflection. Exception handling. Concurrent programming. Graphical user interface programming. Software engineering concepts and tools. Required team-based programming assignment. Prerequisite: MATH 42, CS 46B, and CS 49J (or equivalent knowledge of Java) (with a grade of "C-" or better in each); Computer Science, Applied and Computational Math or Software Engineering majors only; or instructor consent.
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Interpret and produce UML class diagrams and UML sequence diagrams
- Develop simple use cases, perform noun-verb analysis, interpret and produce CRC cards
- Appropriately select and apply the following design patterns in the construction of a software application: Composite, Decorator, Iterator, Strategy, Template method, and Observer
- Be able to follow a systematic OO design methodology
- Create a class hierarchy involving existing and new interfaces and classes, including inner classes.
- Design, implement, test, and debug programs in an object-oriented language, involving the creation of at least 10 classes and interfaces
- Implement correctly the equals, hashCode, clone, toString methods
- Use serialization, reflection, and generics
- Throw, propagate and catch exceptions
- Use a GUI toolkit to create a graphical user interface involving frames, buttons, text components, panels, menus, and simple geometric shapes
Lecture Note 1
Lecture Note 2
Lecture Note 3
Lecture Note 4
Back to Homepage