Saturday, 26 May 2012

COURSE OUTLINE





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
2.   To learn the aspects of the programming and problem solving process, including problem
     
specification and organization, coding, debugging and testing
3.   To learn the syntax and develop skill in programming in an object oriented programming
     
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.


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