(CS 300) Advanced Object-Oriented Programming
In-depth exploration of advanced object-oriented programming techniques, including design patterns, object composition, lambda expressions, streams, concurrency, and software design for scalability and localization.
Credit hours | 3.0 lecture |
---|---|
Prerequisite | CS 202 w/ B- or better |
Offered | Fall |
Programs | Computer Science (BS), Computer Science Minor, Mathematics (BS) |
Course Learning Outcomes
Each student who passes this course will be able to do the following:
- Identify and apply industry-standard object-oriented design patterns to develop robust software systems.
- Create programs to solve complex problems based on problem descriptions without explicit formal specifications.
- Effectively utilize published APIs to integrate existing classes and methods into new programs.
- Understand and implement advanced object-oriented language features, such as packages (or namespaces), nested classes, and enumerated types.
- Develop concurrent programs using multithreading techniques for improved performance and responsiveness.
- Design software applications that adapt seamlessly to various screen resolutions and densities, ensuring a consistent user experience.
- Implement localization strategies to make applications accessible and user-friendly for international audiences.