Course Code: BCA213
Course Title: Object Oriented programming in C++ (4 Credits)
Unit 1: Evolution of Programming methodologies, Introduction to OOP and its basic features, Basic components of a C++, Program and program structure, Compiling and Executing C++ Program. Selection control statements in C++.
Unit 2: Data types, Expression and control statements Iteration statements in C++, Introduction to Arrays, Multidimensional Arrays, Strings and String related Library Functions.
Unit 3: Functions, Passing Data to Functions, Scope and Visibility of variables in Functions, Structures in C++.
Unit 4: Creating classes and Abstraction: Classes objects, data members, member functions, this Pointer, Friends, Friend Functions, Friend Classes, Friend Scope, and Static Functions.
Unit 5: Constructors and Destructors, Static variables and Functions in class.
Unit 6: Operator Overloading in C++, Overloading Unary Operators, Overloading binary operators.
Unit 7: Inheritance in C++, Types of Inheritance, Pointers, Objects and Pointers, Multiple Inheritance.
Unit 8: Virtual Functions, Polymorphism, Abstract classes.
Unit 9: Files and streams in C++: Character and String input and output to files, Command Line Arguments and Printer Output.
Unit 10: Standard input and output operations: C++ iostream hierarchy, Standard Input/output Stream Library, Organization Elements of the iostream Library, Programming using Streams, Basic Stream Concepts.
Unit 11: File input and output: Reading a File, Managing I/O Streams, Opening a File – Different Methods, Checking for Failure with File Commands, Checking the I/O Status Flags, Dealing with Binary Files, Useful Functions.
Unit 12: Class templates: Implementing a class template, Implementing class template member functions, Using a class template, Function templates, Implementing function templates, Using template functions, Template instantiation, Class template specialization, Template class partial specialization, Template function specialization, Template parameters, Static members and variables, Templates and friends, Templates and multiple-file projects.
Unit 13: Standard Template library: Containers, iterators and application of container classes.
Unit 14: Exception handling: Throwing an exception, catching an exception: The try block, Exception handlers, Termination vs. Resumption, Exception specification, rethrowing an exception, uncaught exceptions, Standard exceptions, Programming with exceptions.