Boston University - Fall 2024
Instructor: Christine Papadakis-Kanaris
An advanced course in Software Engineering with a specific focus on the design and development of software solutions using the Object Oriented Software paradigm. This course is aimed on developing a deep understanding of the fundamental principles and techniques of object-oriented programming. Focus will be on the specification, programming, and analysis of reliable, and reusable software using object-oriented design principles. Topics include Classes, Objects and memory models, Abstraction, Inheritance and Polymorphism, Interfaces and Generic typing. Emphasis will be placed on using OO principles to design software against failure, and to design software for reusability through well-known design patterns.