Skip to main content

(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.