OOP

Object-Oriented Programming Course Overview
  • Instructor: Dr. Robert Harle

  • Course Code: IA NST CS and CST Lent 2009/10

Course Structure
  • The course is a new offering aimed at formalizing Object-Oriented Programming (OOP) concepts with a strong emphasis on practical application using Java.

  • Four Key Parts:

    • Computer Fundamentals: This section will cover foundational computing principles relevant to understanding how software interacts with hardware, including basic data representation, memory management, and execution models. It provides the necessary context for subsequent OOP topics.

    • Object: A core component focusing on the concept of objects as instances of classes, their state (attributes), and behavior (methods). This part will delve into object creation, lifecycle, and interaction within a program.

    • Class: This section explores classes as blueprints for creating objects. It includes topics like class definition, members (fields and methods), constructors, static members, and visibility modifiers (public, private, protected).

    • Design: This final part will focus on principles and patterns for designing robust, maintainable, and scalable object-oriented systems. Topics may include software design principles (e.g., SOLID), design patterns (e.g., Singleton, Factory), and best practices for writing clean, efficient, and well-structured Java code.