Welcome to CSC 303_2024

CSC 303 Object Oriented Programming Through Java

  • Instructor: Prof. Moussa M.Bukar

Class Agenda

  1. Course Syllabus

  2. Introduction to Course

Course Syllabus Overview

Weekly Topics

  • Week 1: Course Introduction

  • Week 2: Basics of Java Programming, Environment, etc.

  • Week 3: Data Types, Variables, Operators in Java

  • Week 4: Control Structures (Selection, Looping)

  • Week 5: Java Methods, Method Overloading, Overriding

  • Week 6: Arrays and Strings in Java

  • Week 7: Object and Class

  • Week 8: Midterm Exam

  • Week 9: Inheritance and Polymorphism in Java

  • Week 10: Encapsulation and Abstraction in Java

  • Week 11: Multithreading in Java

  • Week 12: Java Interface

  • Week 13: GUI Programming

  • Week 14: Lecture Free / Review

  • Week 15: Final Exam

Introduction to OOP

  • Object-oriented programming (OOP) is centered around objects and data rather than actions or logic.

  • OOP focuses on objects that represent real-world entities, emphasizing properties and behaviors.

Definition of OOP

  • Object-Oriented Programming is a methodology for designing programs using objects and classes.

  • The terminology emphasizes 'Object' over 'Class'.

Classes and Objects

Class

  • A class is a blueprint that defines data and behavior; it consists of methods and variables.

  • Example: Human Being as a class with properties and actions.

Object

  • An object is an instance of a class.

  • Example: "My name is Aliko, an instance of class Man."

OOP Pillars

  1. Inheritance: Allows classes to reuse properties of other classes.

    • Example: Classes Man and Woman inherit from class Human Being.

  2. Abstraction: Hides complex implementation details and shows only necessary features.

    • Example: Human actions are defined without detailing muscle mechanics.

  3. Encapsulation: Hides unnecessary details from the user.

    • Example: Phone calling process is abstracted for user simplicity.

  4. Polymorphism: Redefines functionalities through overloading and overriding.

    • Overloading: Multiple ways to perform an action (walking with hands).

    • Overriding: Changing the way a predefined method works (custom walking style).

Questions?

  • Open for discussion and inquiries.