0% found this document useful (0 votes)
40 views

Lecture 0-Week1

This document outlines the syllabus for an Object-Oriented Programming course using C++. It introduces key OOP concepts like objects, classes, inheritance and polymorphism. It lists course objectives like learning OOP principles in C++ and implementing programs with graphical interfaces. The schedule, textbooks, software and content are also provided, covering topics like classes, operator overloading, inheritance, virtual functions and templates. Attendance policies and the marking scheme are described.

Uploaded by

Nnoor
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Lecture 0-Week1

This document outlines the syllabus for an Object-Oriented Programming course using C++. It introduces key OOP concepts like objects, classes, inheritance and polymorphism. It lists course objectives like learning OOP principles in C++ and implementing programs with graphical interfaces. The schedule, textbooks, software and content are also provided, covering topics like classes, operator overloading, inheritance, virtual functions and templates. Attendance policies and the marking scheme are described.

Uploaded by

Nnoor
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Object Oriented

Programming
(CS1143)

Department of Computer Science


Capital University of Science and Technology (CUST)
Object-Oriented Programming
• In Object-Oriented Programming (OOP), the first
step in the problem-solving process is to identify
the components called objects, which form the
basis of the solution, and to determine how these
objects/classes interact with one another
• Some classes in a University Management System
• Students
• Faculty
• Staff
• Course
• ….
2
Structured vs Object Oriented
Programming
• Structured programming allows developing a
program using a set of modules or functions
• Object oriented programming allows constructing a
program using a set of objects and their
interactions.

3
Benefits of OOP
• Modularity for easier troubleshooting.
• When working with object-oriented programming
languages, you know exactly where to look when
something goes wrong
• Reuse of code through inheritance
• Flexibility through polymorphism
• Effective problem solving
• Object-oriented programming is ultimately about taking a
huge problem and breaking it down to solvable chunks.
• For each mini-problem, you write a class that does what
you require.
4
Course Objectives
• Object-Oriented Programming using C++.
• Objects, Data Abstraction, Data Encapsulation,
Polymorphism, and Inheritance.
• Member access control, templates, overloaded
operators, use of C++ headers, and class libraries
will be studied

5
Course Learning Outcomes

At the end of this course, the students should be able to


CLO1: Describe key concepts of object-oriented programming
paradigm [C1 Remembering]
CLO2: Interpret real world problems in terms of objects rather
than procedure [C2 Understanding]
CLO3: Apply object-oriented programming principles to
implement small and medium scale C++ programs with
simple graphical user interface [C3 Applying]
6
Marks Distribution

Grading Marks

Assignments 15%
Quizzes 15%
Project 10%
Mid Exam 20%
Final Exam 40%

7
Schedule
• Monday 9:00 AM to 10:50 AM (2 Lecture). M3.
• Thursday 8:00 AM to 8:50 PM(1 Lecture). M4.

• Office Hours
• Wednesday 11:00 AM to 12:50 PM
• Thursday 11:00 AM to 12:50 PM

8
Text/Reference Books
• Recommended Book(s)
• Introduction To C++ Programming, Comprehensive Version.
Daniel Liang. 3rd Edition
• Object-Oriented Programming in C++. Robert Lafore, 4th Edition
• Reference Book(s)
• C++: How To Program (Fourth Edition), Deitel & Deitel, Prentice-
Hall.
• C++ Programming: An object Oriented Approach. Forouzan and
Gilberg. 2020.

• Lecture Slides will be detailed enough but reading books is always a


good habit

9
Required Software
• Visula Studio
• Dev C++.

https://visualstudio.microsoft.com/downloads/
https://sourceforge.net/projects/orwelldevcpp/
(Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup.exe)

10
Some Basic Rules
• General Discipline
• DONOT use mobile phone during the lecture
• Be on time. Attendance will be taken at the beginning of the
lecture
• Portal is your reference for this course
• All the information and course material will be available there.
• Send me email if you need to ask anything
[email protected]
• Plagiarism in homework
• Submit your own work
• Plagiarized work would not be accepted at all.
• Zero tolerance policy
11
Attendance Policy
• Minimum 75% attendance required to appear in
the final exam
• For missed quiz/assignment I will follow university’s
policy

12
Contents
• Introduction and Revision
• Introduction of the course
• Overview of Structured Programming using C++
• Pointers Revision
• Introduction to classes and Object Oriented Concepts
• Creating classes
• Function Overloading, C++ Constructor & Destructor
• Importance of Destructor, Calling sequence of Constructor &
Destructor for multiple objects
• Preventing changes in data members from a method: const
method
• Pointer to Object; Object as argument to function (call by value &
call by reference);
13
Contents Cont..
• Friend classes and functions
• Friend functions
• Friend class
• Operator overloading
• Operator Overloading
• Binary Operator NOT receiving Instance of class as 1st
operand
• Overloading Binary Operators for I/O stream
• Overloading Unary Operator: as member, as non-member
• Unusual Operators: ++, --, [ ] (set & get, both versions),
type-cast
14
Contents Cont..
• Inheritance in OOP
• C++ Inheritance Concepts
• Relationships in OOP
• C++ Multiple Level Inheritance, Multiple Inheritance
• Virtual classes and Polymorphism
• Virtual inheritance
• Polymorphism in C++ and Java
• Virtual Functions

15
Contents Cont..
• Streams
• C++ Streams
• Template classes and functions
• Function Template
• Class Template

16

You might also like