Course Description:
The course covers object-oriented design principles and programming for students with prior programming experience. The topics include inheritance and polymorphism, object-oriented design process, UML diagrams, design patterns, exception handling and multithreading. Students will design and implement programs in Java.Prerequisite:
Prerequisite: CS 3358 with a grade of "C" or better.
Course Objectives:
At the end of the semester the student should be able to:
- Design, implement, test, and debug programs written in Java.
- Describe inheritance and polymorphism and use them in Java programs.
- Describe exception handling in Java and use it to write reliable Java code.
- Read and write Java programs that use threads to implement concurrency.
- Read, design, and draw the following models using the Unified Modeling Language (UML): Class diagrams, Sequence diagrams, State diagrams.
- Write Java code that implements the designs specified by UML diagrams.
- Describe (at least) the following Design Patterns: Adapter, Strategy, Command, Composite, Observer; create UML designs using them, and implement the designs in Java programs.
- Determine the proper design pattern for a given problem specification.
Section Info:
3 hours lecture; 0 hours lab