Wednesday, April 13, 2016

Object Oriented Programming - Course Outline - University of Sargodha

The course aims to develop students' Object Oriented Programming skills.
Evolution of Object Oriented (OO) Programming. OO Concepts and Principles.Problem Solving
in OO Paradigm.OO Program & Design Process.Objects, Classes, Abstraction.Constructors and
Destructors.Operator and Function Overloading.Virtual Functions.Derived Classes.Inheritance, 
Encapsulation and Polymorphism.I/O and File Processing.Exception Handling.
1.      Introduction to Classes, Objects and Strings: Defining a Class with a Member Function,
Defining a Member Function with a Parameter, Data Members, set Member Functions
and get Member Functions, Initializing Objects with Constructors, Placing a Class in a
Separate File for Reusability, Separating Interface from Implementation, Validating Data
with set Functions [Ch. 3]
2.      Class Templates array and vector; Catching Exceptions: Introduction, Arrays, Declaring
arrays, Examples Using arrays, Range-Based for Statement, Sorting and Searching
arrays, Multidimensional arrays. [Ch. 7]
3.      Classes - Throwing Exceptions: Class Scope and Accessing Class Members, Access
Functions and Utility Functions, Constructors with Default Arguments, Destructors,
When Constructors and Destructors Are Called, Default Memberwise Assignment, const
Objects and const Member Functions, Composition: Objects as Members of Classes,
friend Functions and friend Classes, Using the this Pointer, static Class Members. [Ch. 9]
4.      Operator Overloading; Class string: Introduction, Using the Overloaded Operators of
Standard Library Class string, Fundamentals of Operator Overloading, Overloading
Binary Operators, Overloading the Binary Stream Insertion and Stream Extraction
Operators, Overloading Unary Operators, Overloading the Unary Prefix and Postfix ++
and - Operators, Dynamic Memory Management, Operators as Member vs. Non-Member
Functions, Converting Between Types, explicit Constructors and Conversion Operators,
Overloading the Function Call Operator ()[Ch. 10].
5.      Inheritance: Introduction, Base Classes and Derived Classes, Relationship between Base
and Derived Classes, Constructors and Destructors in Derived Classes, public, protected
and private Inheritance, Software Engineering with Inheritance. [Ch. 11]]
6.      Polymorphism: Introduction, Relationships Among Objects in an Inheritance Hierarchy,
Type Fields and switch Statements, Abstract Classes and Pure virtual Functions,
Polymorphism, Virtual Functions and Dynamic Binding "Under the Hood". [Ch. 12]
7.      Stream Input/Output: Introduction, Streams, Stream Output, Stream Input, Unformatted
I/O Using read, write and gcount, Introduction to Stream Manipulators, Stream Format
States and Stream Manipulators, Stream Error States, Tying an Output Stream to an Input
Prentice Hall File Processing: Introduction, Files and Streams, Creating a Sequential File,
Reading Data from a Sequential File, Updating Sequential Files, Random-Access Files,
Creating a Random-Access File, Writing Data Randomly to a Random-Access File,
Reading from a Random-Access File Sequentially [Ch. 14]
8.      Standard Library Containers and Iterators: Introduction to Containers, Introduction to
Iterators, Introduction to Algorithms, Sequence Containers, Associative Containers,
Container Adapters, Class bitset. [Ch. 15]
9.      Exception Handling: Introduction, Rethrowing an Exception, Stack Unwinding, When to
Use Exception Handling, Constructors, Destructors and Exception Handling, Exceptions
and Inheritance, Processing new Failures, Class unique_ptr and Dynamic Memory
Allocation, Standard Library Exception Hierarchy. [Ch. 17]
Textbook(s):
          C++ How to Program by Paul Deitel and Harvey Deitel, Prentice Hall, (February 12,
2013 ). ISBN-10: 0-13-337871-3
Reference Material:
          The C++ Programming Language (hardcover) (4th Edition) by Bjarne Stroustrup (Jul
29, 2013)
          The C++ Programming Language by Bjarne Stroustrup, Addison-Wesley Professional; 4
edition (July 29, 2013). ISBN-10: 0321958322
          Jumping into C++ by Alex Allain, Cprogramming.com (April 19, 2013). ISBN-10:
0988927802

Note: This content is obtained from official documents of University of Sargodha and applied on BS Computer Science for Main Campus, Sub Campuses, and Affiliated Colleges.

0 comments:

Post a Comment