Course overview
This course introduces students with a background in procedural programming to the object-oriented programming (OOP) paradigm. It focuses on the fundamental principles of OOP such as encapsulation, inheritance, polymorphism, and abstraction. Students will learn to apply these concepts through practical exercises that emphasize both theory and application, including a gentle introduction to the fundamentals of object-oriented analysis and design. Additional topics covered include comprehensive project building using OOP techniques, an exploration of programming language principles, and effective memory management. This course aims to equip students with the necessary skills to design and implement robust software solutions using object-oriented methodologies.
Course learning outcomes
- Apply foundational object-oriented programming concepts
- Implement encapsulation and information hiding in software design
- Utilise inheritance and polymorphism to enhance software modularity and reusability
- Design software using advanced OOP principles including abstraction and interface implementation