Credit Hours: 4(3+1)

Introduction to the course

This course provides an introduction to object-oriented programming (OOP) using the C++ programming language. Its main objective is to teach the basic concepts and techniques which form the object-oriented programming paradigm. In this course, the main content area is an overview of C++ Programming Languages, comparison of structure, and object-oriented programming, Evolution of Object-Oriented (OO) Programming, OO Concepts and Principles, Problem Solving in OO Paradigm. OO Program & Design Process, Objects, Classes, Encapsulation, Abstraction, Constructors (constructors overloading), Destructors, Operator Overloading (unary, binary operators, subscript operator, Assignment operator and Copy constructor overloading), Basic to basic and User define to user define Conversion (explicit Constructors and Conversion Operators), Inheritance( single, Multi, Multilevel), Derived Classes, Function overriding, Aggregation and composition concepts, Dynamic Memory Management, Virtual Functions, Polymorphism, Stream Input/Output, File Processing, Exception Handling.

Course pre requisites

  • If a student fails in the programming fundamentals (CMPC-101) course in the previous semester, he/she shall not be allowed to take the object-oriented programming course.
  • A student must have attended at least 75% of the classes held in a course to be allowed to sit in the final examination.
  • If a student absent in the lab exam. It will be considered to fail in the object-oriented programming course.
  • In case, the student remains absent from the class for seven consecutive days without leaving his/her name will be removed from the rolls.
  • Students having less than 50% marks or less than 75% class attendance in the object-oriented programming course. He/she will be required to repeat this course in the same semester next year. Names of such students will be reported by the internal controller of examination CS & IT, UOS, and these students shall not be allowed to take the Data structure & algorithms (CMPC-103) course upcoming semester.

Learning outcomes

      Course Learning Outcomes (CLOs):
 
 
       At the end of the course the students will be able to:
  Domain
 BT Level*
       1. Understand the principles of the object-oriented paradigm.
      C
      2
       2. Identify the objects & their relationships to build the object-oriented solution
      C
      3
       3. Model a solution for a given problem using object-oriented principles
      C
      3
       4. Examine an object-oriented solution.
      C
      4
 
    * BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain

Assignment & Project

For the assessment of course objectives, analyze the scores of the various course assignments and projects (at the end of the semester). Also, perform Lab session (1.5 hrs/week) to improve the students with the basic object-oriented programming skills.
  • Assignments: These may consist of handouts/soft form given by the class instructor, discussion forums, or selected questions out of your textbook.  
  • Projects: These consist of activities for directly applying and integrating the concepts presented in the course. In some cases, the student will be given a case scenario to use in the development of the project. These projects will require to use critical thinking skills, logical analysis, and creativity. They may be individual or group projects.

Assessment Criteria

  • Sessional: 10 marks
  • Project: 15 marks
  • Presentation/ Assignment: 10 Marks
  • Participation/Lab:  05
  • Mid exam: 20
  • Final exam: 40

Text Book & Reference Materials

  • C++ How to Program, 10th Edition, Deitel & Deitel.
  • Object-Oriented Programming in C++, 3rd Edition by Robert Lafore
  • Starting with C++ from Control Structures to Objects, 9th Edition, Tony Gaddis
  • Java: How to Program, 9th Edition by Paul Deitel
  • Beginning Java 2, 7th Edition by Ivor Horton
  • An Introduction to Object-Oriented Programming with Java, 5th Edition by C. Thomas Wu
In the spring semester of 2020, the Object-oriented programming course to the following classes.
Lecture days and Timing in Every week are.
 
  • BSCS 2nd Regular
    • [Tuesday 09:30 am to 11:00 am]
    • [Wednesday 09:30 am to 11:00 am]
    • [Friday 10:40 am to 12:00 pm]
  • BSCS 2nd Self-Support
    • [Monday 11:00 am to 12:30 pm]
    • [Tuesday 11:00 am to 12:30 pm]
    • [Friday 12:00 pm to 01:20 pm]
  • BSIT 2nd Regular
    • [Monday 09:30 am to 11:00 am]
    • [Thrusday 11:00 am to 12:30 pm]
  • MSc IT 2nd Self-Support
    • [Wednesday 11:00 am to 12:30 pm]
    • [Thrusday 09:30 am to 11:00 am]
    • [Friday09:20 am to 10:40 am]

Course Material