Skip to content

About the Instructor

Engr. Dr. Muhammad Nadeem Majeed

Professor Department of Data Science (PUCIT) University of the Punjab, Lahore


Role in this course

He teaches object-oriented programming in C++ at the University of the Punjab. This repository is that course's material, organised so that a student anywhere can work through it independently: concepts, then programs that compile, then sixteen labs building one system, then self-assessment against published rubrics.

How the course is built, and why

  • Beginners are the intended audience. No object-oriented experience is assumed, and what is assumed is stated on the Prerequisites page rather than left implicit.
  • Concepts are motivated before they are introduced. A deliberately clumsy procedural program comes first, so encapsulation, inheritance and resource management arrive as answers to a problem the student has already felt.
  • Every claim is executed. Each program in the repository compiles with the command the course teaches, and every piece of output shown to students was produced by running the real file.
  • Failure is taught, not avoided. Students reproduce object slicing, a double free and a memory leak on purpose, observe the consequence, and then fix it.
  • Modern C++ throughout. The course is written against C++17; move semantics, RAII and smart pointers are core material, not appendices.

Deliberately not stated here

This page records the instructor's name, designation, department and university, and his role in this course — nothing more. No biography, research interests, publications, teaching history, contact details, qualifications or awards are asserted, because a public repository is not the place to make claims on the instructor's behalf. Anything further should come from him.

Problems with the material itself are welcome from students and instructors alike — see Contributing and the Code of Conduct.


Where to go next

Page For
Course Information What the course covers, how it is structured, what an instructor must supply for their own institution, and how to adapt it
Instructor Information The instructor-facing overview: what is here for teachers and teaching assistants
Further Reading The books and documentation the course was written against
Licence CC BY 4.0 for the content, MIT for the code, and the attribution to use

If you teach from these materials, attribution is required and appreciated:

"Based on Object-Oriented Programming using C++ by Muhammad Nadeem Majeed, University of the Punjab, Lahore — licensed under CC BY 4.0."