BIT 3106 OBJECT ORIENTED PROGRAMMING I
Contact Hours 42
Pre-requisite BIT 1208 STRUCTURED PROGRAMMING
Purpose This course introduces the student to object-oriented programming
through a study of the concepts of program specification and design,
algorithm development, and coding and testing using a modern software
development environment. Students learn how to write programs in an
object-oriented high-level programming language.
Objectives By the end of the course unit a learner shall be able to;
Have a good understanding about the concept of object-oriented
programming using C++, be able to write and read basic C++
code.
Apply elementary techniques involving arithmetic operators and
mathematical expressions in C++ programming
Choose an appropriate data type to represent data
Write C++ programs that use selection (if, switch, conditional
operator)
Write C++ programs that use loops (while, do while, for)
Write C++ programs that use sequential files for input and output
Write C++ programs that make use of functions for transfer of
control
Write C++ programs that use arrays, including sorting and
searching arrays
Write C++ programs that use pointers
Solve programming problems using C++
Course Content Topics include Java language fundamentals, object-oriented design and
development, the Unified Modeling Language (UML), abstraction,
encapsulation, class design, data types, methods, parameter passing,
introduction to graphics and applets, selection constructs, repetition
constructs, arrays, documentation, testing, and debugging. Introduction to
Computers and Java, Java Fundamentals ,Decision Structures , Loops and
Files , Methods , Arrays and the ArrayList Class , Classes and Objects ,
Text Processing , Wrapper Classes , Inheritance , Exceptions , Advanced
File I/O , GUI Applications , Applets , Creating GUI Applications with
JavaFX and Scene Builder , Recursion , Databases
Topics
Week 1 Beginning with c++
a) What is C++, its Applications, and Advantages etc.
b) Difference between C and C++. Major and minor difference.
c) Creating C++ source file, Editing, Compiling, Linking,
Debugging. Etc.
d) Make File Utility, Command Line Arguments etc.
Week 2 Explaining Procedure oriented Language(C) and Object Oriented
Language.(C++)
a) Look at Procedure-oriented Programming
b) A Brief Look At Object Oriented Programming (OOP).
c) Applications of OOP, Benefits of OOPS
Week 3 & 4 C++ Tokens, Expressions, and Control Structure.
a)Tokens b)C++ keywords c)Basic Data Types d) User-
defined Data Types e) Derived Data Types
f) Operators in C++ g) Reference Variables h) Memory
management operators i)Manipulators
j) Operator Overloading k) Operator Precedence l) Control
Structure.
Week 5 Functions In C++
a) Different forms of functions b) function prototyping c) Call
by Reference d) Inline Functions
e) function overloading f) friend and virtual functions g) Math
library functions etc.
Week 6 -8 Classes And Objects-
a) C Structure revision b) defining classes, defining member
functions.
c) declaration of objects to class d) access to member variables
from objects etc
e) Different forms of member functions dependence on
access specifiers (i.e. Private, public, protected) .
e) array of objects f) objects as function arguments h) friendly
function
i) Returning objects j) pointers to members h) local
classes.
Week 9 &10 Memory Management and pointers.
a) Using New operator, comparison of new over malloc, calloc
and realloc etc.
b) Memory freeing using Delete operator.
Week 11 Constructor and Distributor-
a) intro b) constructors, c) parametrized constructors d) Multiple
constructors in class
e)dynamic initialization of objects f) Destructors.
Operator Overloading and type conversion
a) intro b) defining operator overloading c)overloading -
(unary, binary operators)
d)overloading binary operators using friends e) Rules for
overloading operators f)type conversion
i.
Week 12 &14 Inheritance – extending class
a) Intro b) types of inheritance c) single inheritance d) multiple
inheritance e) Multilevel inheritance
f)hierarchical inheritance g)hybrid inheritance etc. f)virtual base
class g) abstract class
h) constructors in derived class.
Pointer, Virtual Functions, Polymorphism.
a) intro b)pointers c) pointers to objects d) this pointer e)
pointers to derived class f) virtual functions
g) pure virtual functions etc.
Managing Console I/O Operations
a) intro b)C++ streams c) c++ stream classes d) unformated /
formated I/O operations.
e) managing output with manipulators.
Working with files.
a) intro b) creating/ opening / closing / deleting giles c) file
pointers and their manipulators
d)updating file random access to file e) Error handling during
file operations. f) command line arguments.
Templates-
a) intro b) class templates c) function templates d)overloading of
template function.
Exception Handling
a) intro b) Exception handling – throwing, catching, re-throwing
an exceptions , specifying exceptions etc.
introducing STL (Standard template library)
a) intro b) components of STL c) containers d) algorithms e)
iterators f) function objects
String Manipulation in C++
a)intro b) creating objects c) manipulating string objects d)
relational operators e)string characters
f) accessing characters in strings.
object oriented system development
a) intro b) procedure-oriented paradigms, development tools c)
object-oriented paradigms developments tools
d) implementation e) prototyping paragdism.
Teaching Practical’s
Methodology Lectures and tutorials
Group discussions
Demonstration
Individual assignment
Instructional Audio Visual aids in lecture rooms and theatre rooms
Material/ Equipment
Assessment A learner is assessed through ;
Continuous Assessment Tests (CATs) (30%)
End of semester examination (70%)
Required Text Books Object-Oriented Programming in C++ (4th Edition) by Robert
An Introduction to Object-Oriented Programming in C++
With Applications in Computer Graphics
Text Books for Object Oriented Programming with C++ book by Balaguruswamy
Further Reading
Other Support Various application manuals and journals
Material