Aperçu des sections

  • General Information

    Assalamo Alickoum

    Thank you for your patience, and please don't hesitate to regularly check the Announcements and Course notes sections to stay updated on the latest news regarding Courses, Tutorials, Homework, and more.

    Thank you.

    Email : ing.inf.students@gmail.com

    • Object-oriented programming (OOP) is one of the programming paradigms used in the development of computer applications. This paradigm imparts several benefits to programs, including enhanced conceptual clarity and robustness in the face of future changes, along with highly effective software maintenance. The goal of this course is to primarily introduce the essential concepts of this paradigm, disregarding the technical aspects specific to programming languages. We will cover fundamental concepts, development methods, and relevant guidelines that lead to the creation of well-structured programs.


      This course serves as an introduction to Object-Oriented programming (OO), focusing primarily on presenting fundamental concepts common to most general-purpose OO programming languages. To achieve this, we assume that you have a basic understanding of procedural programming concepts such as data types, variables, loops, functions, etc. Throughout the course, we will use the Java programming language to illustrate these fundamental OO concepts. Therefore, familiarity with the basics of Java syntax is assumed to apply these concepts effectively.


      Our focus will be on pure OO concepts, overlooking technical aspects directly related to the programming language, known as the API (Application Programming Interface). As you progress through the course, it's essential to self-assess and guide your learning. Gradually, once you have a good grasp of the course content, practice becomes crucial. No practice, no good programming, and sometimes no programming at all. I emphasize the importance of individual practice, as learning any language in general, and programming in particular, requires consistent and rigorous effort.

      =====================================================


      Bibliography and Useful Links


  • Week 00: Overview

  • Week 01: Abstraction and Encapsulation

  • Week 02: Abstraction and Encapsulation ( Access Rights )

  • Week 03: Abstraction and Encapsulation ( Accessors and Mutators )

  • Week 04: Abstraction and Encapsulation (Attribut Hiding and Unhiding)

  • Week 05: Object Creation ( Constructors )

    • Ouvert le : samedi 9 décembre 2023, 00:00
      À rendre : samedi 16 décembre 2023, 00:00
  • Week 06: Object Creation ( Copy Constructor )

  • Week 07: Object Manipulation ( Assignment, Comparison, and Display )

  • Week 08: Object Lifecycle

  • Week 09: Enrichment and Specialization ( Inheritance Concept )

  • Week 10: Enrichment and Specialization ( Inheritance and Protected Access )

  • Week 11: Enrichment and Specialization ( Inheritance Constructor and Access to Superclass Members )

  • Week 12: Enrichment and Specialization ( Polymorphism )

  • Week 13: Reusability Requirements ( Abstract Classes and Abstract Methods )

  • Week 14: Reusability Restrictions ( Attribute, Method , and Class Restriction )

  • Week 15: Class Members ( Static Attribute )

  • Week 16: Class Members (Static Method )