1301201 - Applied Science University

advertisement
Applied Science University
Faculty: Information Technology
Department : Computer Science
( Course Syllabus )
CourseTitle
Credit Hours
Course No.
Prerequisite
Year (semester)
Lec./Lab. Credit
Object Oriented
Programming I
3
1301201
1301101
2009-2010 (1)
Lecture: 2
Lab : 2
Coordinator Name
Lecturer
Dr. Eman Al-Maghary
Room
No.
1208
E-mail
e_saleh@asu.edu.jo
Office Hours
Sun & Tue: 1-2
Mon: 12-1
Thur: 9-10
Course Objectives:
The objective of this course is to teach the student object oriented programming concepts such as,
encapsulation, inheritance and polymorphism, also this course will give an introduction to generic
programming. By successfully completing this course, the student will be able to think and write programs
using the object-oriented paradigm.
Course Description:
This course is intended as an introduction to object-oriented programming using C++ for students already
familiar with the C language. Participants will learn the fundamental concepts of C++ including object oriented
concepts, program structure, classes, reference types, C++ I/O, and overloading.
Intended Learning Outcomes :
Successful completion of this course should lead to the following learning outcomes :
A- Knowledge and Understanding :
A1) Understanding of the basic components of an object-oriented program including methods and attributes
A2) The distinction between classes and instances
A3) Apply the design process using basic object-oriented design notation
B- Intellectual Skills :
B1) Identify and design suitable classes and class hierarchies and code robust class implementations in C++;
B2) Apply the principles of information hiding using C++ facilities for private and protected class attributes
B3) Employ C++ facilities for dynamic storage
B4) Employ C++ facilities such as operator overloading, templates, inheritance and dynamic binding to
promote code re-use;
B5) Program using the C++ Standard Template Library (STL) at an intermediate level
C) Subject Specific Skills:
C1) Handling software complexity
C2) Object-Oriented programming
C3) Encapsulation and information hiding
C4) Object relationships
C5) Class Inheritance
C6) Dynamic binding
D) Transferable Skills:
D1) Model problems
D2) plan your work and keep to deadlines
D3) demonstrate a range of basic C&IT skills, including use of the Web to locate study materials
1
Course Contents :
Week
1. 2
.
2. 3
.
Topics
Introduction
Class ADT
3.
Abstraction,
Encapsolation,
Header file
4. 4 Constructor and
Destructors
.
5. 5 Constructor and
Destructors
.
6. 6
Constant
Members
.
7. 7 Static and friend
functions
.
8. 8
this pointer
.
9. 9
.
Overloaded
Functions
&
Operator
Overloading
10. 1
0
.
Operator
Overloading
11. 1
Inheritance and
1 composition
.
12. 1
2
Inheritance
13. 1
Polymorphism
2
14.
15.
Standard
Template Library
Topic Details
C++ Overview: simple program within function
Introduction to structure
Introduction to Classes and Objects
Classes, Objects, Member Functions and Data
Members
Defining a Class with a Member Function
Defining a Member Function with a Parameter
Data abstraction ,information hiding as encapsolation.
Placing a Class in a Separate File for Reusability
Separating the Interface from the Implementation:source-code file known as a .cpp file,
reusable source code, .h file known as header file,
Initializing class object: Constructors
Defining default & initial constructors
Using default argument with constructor
Providing default parameter value
The constructor initialization list
The copy constructor
Using Destructors
When constructor and destructors are called
Reference
(chapter)
[1]Chp.6
Assessment
[1]Chp.3
[2]Chp.6
HOME
WORK 1
[1] Chp.3
HOME
WORK2
[1]Chp.9
[1]Chp.13
ASS. 1
[1]Chp.9
HOME
WORK3
FIRST
EXAM
10/11/2009
Constant Objects and constant class members
static Class Members
Introduction to friend function
The Implicit this pointer
The copy function by this pointer
Providing overloaded functions
Introduction to operator overloading (Fundamentals and
Restrictions)
Overloading Unary Operators
Overloading Binary Operators
(Logical operator
Operator as a friend function)
[1]Chp.10
[1]Chp.11
HOME
WORK 4
(Introduction to inheritance (type of inheritance)
Base Classes and Derived Classes
protected Members
Relationship between Base Classes and Derived
Classes)
(Public in Inheritance
Constructors and Destructors in Derived Classes)
(Introduction to pointers
Introduction to Polymorphism
What is virtual function
Applying polymorphism)
(Introduction to the Standard Template Library (STL)
Introduction to Containers (Vector & List)
Introduction to Iterators
Introduction to template classes)
[1]Chp.12
HOME
WORK 5
2
[1]Chp.10
ASS. 2
[1]Chp.22
[1]Chp.11
SECOND
EXAM
[1]Chp.13
[2]Chp.14
ASS. 3
[1]Chp.23
[2]Chp.15
HOME
WORK 6
16.
FINAL
EXAM
Final Exam
Course quality improvement :


From the market and new subjects in the field.
From the monitoring of students feedback (Evaluation sheet).
Grade Distribution :
Assessment
Grade
- First Exam
- Second Exam
- Assignments ( Reports /Quizzes/ Seminars / Tutorials ….)
- Final Examination
Date
20%
20%
30%
30%
* Make-up exams will be offered for valid reasons. It may be different from regular exams in content and format.
Reading List:
Text Book
Other
References
[1] C++ programming: from Problem analysis to program design: , D. S. Malik, Thomson,
2007
[2] - C++ How to Program: Harvey & Paul Deitel, 5th ed., Prentice Hall, 2005.
[3] Essential C Stanley B. Lippman, , Addison Wesley, 2000
Last updated on 30/09/2010 by : Dr. Eman Saleh Al-Maghary
3
Download