Data Science and Artificial Intelligence Program
CSAI 151, Object-Oriented Programming , 3 Cr., Spring 2025,
Course Description
This course explores the field of computer science, emphasizing basic object-oriented programing concepts and design
principles. While stressing the fundamental principles behind them, it introduces essential concepts such as classes,
objects, inheritance, polymorphism, encapsulation, and abstraction. students will learn how to analyze problems, design
effective object-oriented solutions, and implement them using C++. The course emphasizes both theoretical principles
and practical applications, guiding students through real-world problem-solving and software design techniques
Prerequisites 0
Related topics 0
Instructor Ghada Dahy, Room #:
Teaching Assistant Mohamed ismail, Daniel Nabil, Eman Ibrahim, Abdallah Ahmed, Eman Ibrahim, Nada Samra,Walaa Soud
Schedule: 0
0
Textbooks 01. W.Savitch, problem solving with c++
02. Liang and Y.,Danil, Introduction to programing with c++
03. Gaddis and Tony, staring out with c++ from control structures through objects
References
Discussion Group 0
Topics 01. Concepts and Basics of C++ Programming
02. Selection, Loops, Arrays
03. Random Numbers and Function
04. Functions, Enum, Struct
05. Introduction to Classes and Objects
06. Classes and Objects
07. Dynamic Memory
08. Inheritance
09. Polymorphism
©Continuous Improvement and Accreditation Unit - Zewail City, 2022 1 of 4
02. Selection, Loops, Arrays
03. Random Numbers and Function
04. Functions, Enum, Struct
05. Introduction to Classes and Objects
06. Classes and Objects
07. Dynamic Memory
08. Inheritance
09. Polymorphism
©Continuous Improvement and Accreditation Unit - Zewail City, 2022 2 of 4
06. Classes and Objects
07. Dynamic Memory
08. Inheritance
09. Polymorphism
Grading Lecture Quizes 5 %
lab Practical 5 %
lab Quizzes 15 %
Lab Exam 10 %
Lab Project 15 %
Midterm 10 %
Final Exams 40 %
Notes
Course Learning Outcomes
Upon the completion of this course, students should be able to:
01. Understand the Core Concepts of OOP
02. Learn to Design and Implement Classes and Objects
03. Work with Inheritance and Reusability
04. Practice Problem Solving with OOP
05. Learn Abstraction Techniques
06. Understand Memory Management and Dynamic Allocation
07. Work with Operator Overloading and Function Overloading
©Continuous Improvement and Accreditation Unit - Zewail City, 2022 3 of 4
03. Work with Inheritance and Reusability
04. Practice Problem Solving with OOP
05. Learn Abstraction Techniques
06. Understand Memory Management and Dynamic Allocation
07. Work with Operator Overloading and Function Overloading
Course addresses the following program outcomes:
SO 01, SO 02 , SO 05
Prepared by Ghada Dahy, January 2025.
©Continuous Improvement and Accreditation Unit - Zewail City, 2022 4 of 4