Sie sind auf Seite 1von 3

Code: BCA013D

Subject: Programming in C++


Course Description

This course is designed as an entry level programming course for students who have prior programming
experience. This course introduces the concepts of object-oriented programming to students with a
background in the procedural paradigm. The course begins with a brief review of control structures and
data types with emphasis on structured data types and array processing. It then moves on to introduce
the object-oriented programming paradigm, focusing on the definition and use of classes along with the
fundamentals of object-oriented design. Other topics include an overview of programming language
principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to
software engineering issues. - Brief review of control structures, functions, and primitive data types -
Object-oriented programming: Object-oriented design; encapsulation and information-hiding;
separation of behavior and implementation; classes, subclasses, and inheritance; polymorphism; class
hierarchies - Fundamental computing algorithms: simple searching and sorting algorithms (linear and
binary search, selection and insertion sort)

Course Objectives
1. Understand object oriented programming and advanced C++ concepts
Be able to explain the difference between object oriented programming and procedural
programming.
Be able to program using more advanced C++ features such as composition of objects, operator
overloads, dynamic memory allocation, inheritance and polymorphism, file I/O, exception
handling, etc.
Be able to build C++ classes using appropriate encapsulation and design principles.
2. Improve your problem solving skills
Be able to apply object oriented or non-object oriented techniques to solve bigger computing
problems
3. Ultimate goal: to make you a good programmer.
Syllabus
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: Iteration Statements Array and Strings: statements in C++, Introduction to Arrays,
Multidimensional Arrays, Strings and String related Library Functions, Strings.

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: Multiple Inheritance and 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: 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.
Course Outcomes
On successful completion of this course students will be able to:
1 Explain the steps in creating an executable program for a computer, including the intermediate
representations and their purpose.
2 Manipulate binary patterns and understand the use of binary to represent numbers.
3 Apply good programming style and understand the impact of style on developing and
maintaining programs.
4 Effectively use a version control system and the Linux command line tools for incremental
development.
5 Explain the benefits of object oriented design and understand when it is an appropriate
methodology to use.
6 Design object oriented solutions for small systems involving multiple objects.
7 Implement, test and debug solutions in C++.
8 Identify the relative merits of different algorithmic designs.
9 Independently find and interpret discipline related documentation.
10 Explain the relevance of ethics in the context of Software Engineering.

References
1. Deitel's C++ How to Program, Deitel & Deitel, Sixth Edition 2007
2. Robert Lafore, Object-Oriented Programming in C++, Sams, Fourth Edition 2007
3. Bjarne Stroustrup, The C++ Programming Language: Special Edition, Addison-Wesley,
Third Edition 2000
4. Stanley B. Lippman, Josee Lajoie, C++ Prime, Pearson Education. , Fifth Edition 2012
5. K.R. Venugopal, Rajkumar Buyya, T.Ravishankar, Mastering C++, Tata McGraw Hill
Publishing Company Limited ,Fourth Edition, 2002
6. Herbert Schildt, C++ The Complete Reference, , Tata McGraw Hill, Fourth Edition ,2003

Das könnte Ihnen auch gefallen