Essentials of Software Foundation & Programming – II : 2CSE203

Learning Outcomes: 
After completing the Course, students will learn:
• Articulate the principles of object-oriented problem solving and programming.
• Outline the essential features and elements of the C++ programming language.
• Explain programming fundamentals, including statement and control flow and recursion.
• Apply the concepts of class, method, constructor, instance, data abstraction, function abstraction, inheritance, overriding, overloading, and polymorphism.
• Program with basic data structures using array
• Program using objects and data abstraction, class, and methods in function abstraction.
• Analyze, write, debug, and test basic C++ codes using the approaches introduced in the course.
• Analyze problems and implement simple C++ applications using an object-oriented software engineering approach.
Syllabus: 
Unit NoTopics
1

Introduction to dynamic memory allocation

C programming basics, dynamic memory allocation functions

2

Introduction to OOP

What is object oriented programming? Why do we need object oriented, Programming characteristics of object-oriented languages, C and C++.

3

C++ Programming basics

Output using cout Directives. Input with cin, type bool,thesetw manipulator, type conversions.

4

Functions

Returning values from functions. Reference arguments. Overloaded function. Inline function. Default arguments. Returning by reference.

5

Object and Classes

Making sense of core object concepts (Encapsulation, Abstraction, Polymorphism, Classes, Messages Association, Interfaces) Implementation of class in C++, C++ Objects as physical object, C++ object as data types constructor. Object as function arguments. The default copy constructor, returning object from function. Structures and classes. Classes objects and memory static class data. Const and classes

6

Arrays and string arrays fundamentals

Arrays as class member data, Arrays of object, string, the standard C++ String class

7

Operator overloading

Overloading unary operations. Overloading binary operators, data conversion, pitfalls of operators overloading and conversion keywords. Explicit and Mutable.

8

Inheritance

Concept of inheritance. Derived class and based class. Derived class constructors, member function, inheritance in the English distance class, class hierarchies, inheritance and graphics shapes, public and private inheritance, aggregation: Classes within classes, inheritance and program development

9

Pointer

Addresses and pointers. The address of operator and pointer and arrays. Pointer and Faction pointer and C-types string. Memory management -New and Delete, pointers to objects, debugging pointers

10

Virtual Function:

Virtual Function, friend function, Static function, Assignment and copy initialization, this pointer, dynamic type information

11

Streams and Files

Streams classes, Stream Errors, Disk File I/O with streams, file pointers, error handling in file I/O with member function, overloading the extraction and insertion operators, memory as a stream object, command line arguments, and printer output

12

Templates and Exceptions

Function templates, Class templates Exceptions

Text Books: 
Name : 
Object Oriented Programming in C++
Author: 
By Robert Lafore
Reference Books: 
Name: 
Thinking in C++
Author: 
By Bruce Eckel
Name: 
C++ : The complete Reference
Author: 
By Herbert Schildt
Name: 
Object Oriented Programming with C++
Author: 
By E. Balagurusamy
Syllabus PDF: 
AttachmentSize
PDF icon ESFP - II.pdf186.01 KB
branch: 
CBA
BDA
MA
Cyber Security
Course: 
2018
Stream: 
B.Tech