Programming 2

Course Description

This course is an introductory course in object oriented programming. The fundamental concepts of object oriented programming will be studied using the C++ programming language.introducing the following topics an overview of C++ basic concepts, essential concepts of object oriented programming including: objects, classes (data members, function members, constructors, destructors, access and modifiers functions, friend classes and functions ), abstraction, inheritance(base and derived classes, protected members, function overriding, public and protected and private inheritance, has A and is A relationships), encapsulation, reusability, virtual functions and polymorphism, operators overloading, class templates, exceptions processing.

Course Goals And Objectives

1) State the basic concepts of Object Oriented Programming.
2) List the benefits of OOP over traditional structured programming
3) Help student to master the C++ implementation of object-oriented
concepts including:
• Encapsulation.
• Information hiding.
• Data abstraction.
• Inheritance hierarchies.
• Polymorphism.
• Function overloading.
• Operator overloading.
4) Implement object-oriented programs in C++.

Course Outcomes

a) Understand the basic OO programming concepts.
b) Compare the OO programming approach against the traditional approach.
c) Identify the main objects/classes, methods, attributes from given problem specifications.
d) Design and code small to medium sized problems from the start using the appropriate OO concepts and other concepts introduced (class, inheritance, polymorphism, generic programming etc.)
e) Create and manipulate Files using the available I/O file streams classes.
f) Contribute to a group effort to realize an OOP based solution

Topics To Be Covered:

1) Classes and Objects
• Structure Definition
• Classes vs. objects
• Interface and Implementation
• Constructors and Destructors
• Set and get Functions
• Constant Objects and constant Member
2) Functions
• Constant parameters, Constant return types
• Friend Functions and friend Classes
• Static Class Members
• Composition
• Dynamic Memory Management (creating object at run-time)
• Arrays of objects
3) Inheritance
• Base Classes and Derived Classes
• protected Member
• public, protected and private Inheritance
• Inheritance Hierarchy
• Software reusability using Inheritance
• Multiple inheritance
4) Polymorphism
• Relationships Among Objects in an Inheritance Hierarchy
• Invoking Base-class Functions from Derived Class Objects
• Aiming Derived-Class Pointers at Base Class Objects
• Derived-Class Member-Function Calls via Base-Class Pointers
• Virtual Functions
• Abstract classes and pure virtual functions
5) Operator Overloading
• Fundamentals of operator overloading
• Restrictions of operator overloading
• Global and member operators
• Overloading Stream-Insertion and Stream-ExtractionOperators
• Overloading Unary Operators ( ++,--,! Etc..)
• Overloading Binary Operators(+,-,* etc..)
6) File processing
• Files and Streams classes in C++
• Creating a Sequential File
• Reading Data from a Sequential File
• Updating Sequential Files
• Random-Access Files
• Creating a Random-Access File
• Writing and updating Random-Access File
7) Templates
• Function Templates
• Class Templates
• Containers and templates

Module Of Assessment

A) Midterm Exam-1--15%
B) Midterm Exam-2--15%
C) Quiz and Homework assignments--10%
D) Lab Assessment--20%
E) Final Exam--40%


C++: How To Program, Deitel and Deitel, 5th edition, Prentice Hall, 2005

Office Hours

8AM To 10 PM Sunday 
10AM to 12 PM Wednesday

Contact Information

College Phone E-Mail
CCIS 009664046736 [email protected]

Course Detail

Course Code Subject Name
IT 342 Computer Network Lab
IT 470 Elective Professional 2
IT 471 Elective Professional 3
IT341 Data Transmission and Computer Networks

Important Announcement

 Mid term 2 Result Announcement on 6/05/2015

Course code Course Name
CEN 210
Computer Programming 
CEN 447 Simulation and Modeling

Time in Majma'ah

Course Detail

Course Code Subject Name
IT 342 Computer Network Lab
IT 470 Elective Professional 2
IT 471 Elective Professional 3
IT 210 Visual Programming

إحصائية الموقع

عدد الصفحات: 25

البحوث والمحاضرات: 10

الزيارات: 7528