Abstract
Overview:
The major theme of this course is how to structure real, large programming projects, in a way that they are easy to maintain across the product lifetime. Our Java programs will consist of multiple classes, in multiple source files in IntelliJ projects / in the same directory. These examples are, generally, “toy examples” – that is, simple enough projects where you can see their full scope and understand the idea, but complex enough to convey that same idea. We will revisit object-oriented ideas you’ve already seen like encapsulation and inheritance as they occur in Java, explore additional ones such as polymorphism and generics. We will then explore program architecture and see some Design Patterns which help in that structure, all advancing certain recurring Design Principles.
___
This is the second or third programming course in the series. You will come in with some knowledge of Java, since this is not just a repeat of your Introductory course with a new language. We will begin with a brief review of Java programming, but will quickly more on to the aforementioned topics.
____
Prerequisites: COMP 1300C (Intro to Computer Science)
Citation
Waxman, Joshua. (2021, Spring), Syllabus, COMP 3650 Object Oriented Software Design, Stern College for Women, Yeshiva University.
*This is constructed from limited available data and may be imprecise.