JOMO KENYATTA
UNIVERSITY
OF
AGRICULTURE AND
TECHNOLOGY
ICS 2201 Object
Oriented Programming I ~ Course Outline
Prerequisite:
ICS 2102 Introduction to Computer Programming
Purpose of the course
The students will
understand the concepts of object oriented programming (OOP) and learn to write
programs for problem solving using an Object Oriented Programming Language.
Course objectives
1. To learn the concepts of object oriented:
Inheritance, Polymorphism, Dynamic binding,
Message passing, Data abstraction, Encapsulation etc
Message passing, Data abstraction, Encapsulation etc
2. To learn the aspects of the programming and
problem solving process, including problem
specification and organization, coding, debugging and testing
specification and organization, coding, debugging and testing
3. To learn the syntax and develop skill in
programming in an object oriented programming
language (C++).
language (C++).
Course Description
Object oriented
programming: Syntactic constructs, data abstraction, classification and inheritance, typing and polymorphism, testing and
debugging.
Course Content and
Plan
Week Topic HOURS
1 Introduction Object oriented
programming: 5
- Comparison
of structural (procedural) and object oriented programming
languages.
- Basic
concepts of Objects Oriented programming
- OOP
languages and Applications
2 Introduction to C++, Elementary
syntax and Programming. 5
- The
C++ Basics
- Basic
Data types and declarations:
- User
Defined Data Types & Derived Data Types.
- Standard
library and Header files.
3 Fundamental types of C++: 5
- Delaration:
Enumerations, TypeDef, Const
- promotion
of variables, casts
Operators:
- Arithmetic
operators in C++, Logical operators, Bitwise operators, the size of
operator, shortcuts increment and decrement expressions.
operator, shortcuts increment and decrement expressions.
4 Control structures 5
- Selection:
If and other constructs
- Repetition:
While
and
Other constructs
Arrays:
- Use
of arrays
- Representation
of arrays
- Passing
arrays as parameters to a function
- Initializing
arrays of objects.
5 Functions in C++ 5
- Main
functions, Function prototype and Definitions
- Call
and return by reference and by value
- Static
type checking
- Default
values to parameters
- Inline
Functions, Function overloading
6,7 Objects and Classes 5
- Abstractions
(ADTs) and Class specification
- Member
and private Member Functions
- Memory
Allocation for Objects
- Arrays
of objects
8 Constructors and destructors 5
- Constructors
and multiple constructors in a class
- Copy
constructor and dynamic constructors
- Constructor
initialization lists
- Destructors
- Const
member functions
9 Separating interface from
implement 5
- Encapsulations
separate compilation of classes
- Software
re-usability.
- Friend
functions and classes
10,11 Class Inheritance: Defining derived
classes 5
- Concepts
of Inheritance
- Types
of Inheritance
- Single
and Multiple Inheritance
- Member
classes
- Constructors
and inheritance
12 Polymorphism: Definition to
polymorphism 5
- Types
of polymorphism
- Pointers
to objects and Pointers to derived classes
- virtual
functions and pure virtual functions
13 Operator Overloading and Type
conversion 5
- Overloading
unary and binary operators
- Rules
for overloading operators
- Type
conversion
14 Console I/O Operations and File
Data types 5
- C++
stream classes
- Unformatted
and Formatted Console I/O Operations
- File
stream Operation Classes
- File
pointers and Manipulators
- Error
Handling File Operations
15
& Examination week
16
Reference Materials:
• Beginning C++, The complete Language By Ivor
Horton
• Programming in C++ by E Balagurusany
• C++ How To Program By Deitel and Deitel








































• Any relevant C++ book
• Internet Resources
Support Material and
resources
• C++ programming language software, Internet.
Delivery Mode: Lectures, Lab sessions, Assignments and Reading
Method of Evaluation
• Written End of semester
Exams 70%
• Two/Three Cats 15%
• Two Assignments 5%
• Practicals 10%
Lecturer: J.
Wainaina
No comments:
Post a Comment