About the Instructor

Course: Programming Fundamentals Using C++ · Repository

Engr. Dr. Muhammad Nadeem Majeed

Professor Department of Data Science Punjab University College of Information Technology (PUCIT) University of the Punjab, Lahore, Pakistan

Dr. Muhammad Nadeem Majeed is a Professor in the Department of Data Science at PUCIT, University of the Punjab, Lahore, and the author and maintainer of this course.


Educational philosophy

The course follows six teaching principles:

  1. No assumed knowledge. The course starts from “what is a program?” — students who have never written code are the primary audience.
  2. Plain language first, terminology second. Every concept is explained in everyday words before its formal name is introduced — and every formal term is defined again in the Glossary.
  3. Learn by doing. Reading is never enough: every concept comes with examples to run, exercises to solve, a lab to build, and bugs to hunt.
  4. Self-study by design. Worked solutions, full answer keys, and hint ladders mean a student can verify their own progress without waiting for an instructor.
  5. Fundamentals before features. The course teaches portable, modern C++ only as fast as the underlying ideas require — no advanced feature before its foundation exists.
  6. Honest assessment. Quizzes and rubrics tell you what you actually know, not what you hope you know — that honesty is what makes self-study work.

The course

Questions or corrections are welcome through the repository’s issue tracker — see How to Contribute.


How to cite this course

See the repository’s CITATION.cff, or cite as:

Majeed, M. N. (2026). Programming Fundamentals Using C++. Department of Data Science, PUCIT, University of the Punjab, Lahore.

If you adopt the course for your own class, the grading rubrics and assessment system are ready to use.


← Back to course home