C is the most widely used programming languages since its inception in 1970s. From personal computers to supercomputers, C was quickly adopted due to its effectiveness. It can handle low-level activities and can also be compiled on a variety of platforms. C is often called the “mother of all programming languages”. C++ developed over C allows one to make scalable systems.

As the first step in programming, C is the perfect language to learn. C++ will cover object oriented programming - approach used to make real world applications.

This course will cover significant aspects of C, which will equip you to start programming independently. In this course, the focus would greatly be on building logic using C. The course will then focus on getting concepts clear on C++.



27 Jan 18 - 29 Apr 18

  • Mon: 6:00pm-9:00pm
  • Sat: 2:00pm-5:00pm




What you'll learn?

Introduction to C++

In this chapter you will be introduced to computer programming and how C/C++ evolved as a language. This section will help you take your first steps into the wonderful world of C/C++. This section is also an opportunity to understand the future of C/C++ and its applications in the real world.
  • Computer Programming
  • Programming language
  • Features of C++
  • Simple structure of a C++ program
  • Environment
  • IDE (Integrated Development Environment)
  • Errors
  • Algorithm
  • Flowcharts
  • Planning of a program

Data types & Operators

We use computers to store information and these could be numbers, letters and characters. Before we can store this information we need to identify what kind of information it is and also manage it using a programming language.
To retrieve any nugget of this information we need the address where it has been stored in the computer’s memory. You will learn about memory addresses and more in this chapter on data types and operators.
  • Character Set
  • keywords
  • Indetifires
  • Data types
  • Number System
  • Constant
  • Variable
  • Operators
  • Expression
  • Type of Conversion
  • Precedence and Associativity
  • Library Function

Control Statements

Every piece of code needs to be executed in the right way and this chapter will introduce you to how code is repetitively executed. For example, if we need to execute the same line of code 10 times we can use control statements to avoid redundancy and improve efficiency.
  • Sequential
  • Selection
  • Iteration
  • Jump statements
  • Difference between while and do ..while

Pointers, Arrays and Strings

We all need help finding someone’s address in our everyday lives. So sometimes we ask a stranger or an acquaintance to point us in the right direction. Pointers help you do this in the C/C++ language. Pointers and arrays in C/C++ are closely related and pointers are useful for manipulating arrays.Arrays and Strings allow you to manipuate similar data. 
  • Introduction to pointers
  • Pointers and operators
  • Pointer to pointer
  • Null  and Void Pointer
  • Array and Pointers
  • Pointer and Strings
  • Dynamic Memory Allocation
  • Pointer and Functions
  • More on Pointers
  • Pointer to objects
  • this Pointer
  • Pointer to member of a class
  • What is an array? What are the different types of arrays?
  • What is a String?
  • Different String functions 


Write once, use multiple times. That is one of the tenets of efficient code. And in C/C++ functions help you do that. Functions also help to make a program modular and thus more readable and organized.
  • Introduction
  • Parts of Function
  • Storage Classes/Extent
  • Inline functions
  • Function Overloading
  • Recursion


When you want to group elements of a piece of code to improve efficiency and readability, you use structures. Learn what they are in this chapter. 
  • Introduction
  • Array of Structures
  • Structures and functions
  • Structures and Pointers
  • Structure within a structure
  • Union
  • typedef

OOPS, Classes & Objects

Object Oriented Programming focusses on creating programs around "objects" rather than around data and actions. Learn the various aspects associated with it which help in making a scalable real world application. Classes and Objects support object oriented programming. Learn how to create a class and the various concepts associated with it along with how they differ from structures
  • Procedural Oriented Programming (POP)
  • Object Oriented Programming (OOP)
  • Benefits of OOP
  • Application of OOP
  • Difference between Structure in C and C++
  • Uses of C++
  • Classes and Objects
  • Access Control
  • Class Member
  • Inline Functions
  • Friend, const and static member functions
  • this pointer

Constructors,Destructors and Operator Overloading

Learn how the objects are created and destroyed in the context of Object Oriented Programming. Also learn how the operators meant for primitive data types get an additional meaning when used with objects.
  • Constructor
  • Destructors
  • Types of Objects and their Life
  • General Rules for Operator Overloading
  • Overloading unary, binary and other types of operators
  • Using friend and member functions for operator overloading


  • Member access specifier / control / visibility
  • Base class inheritance
  • Forms of Inheritiance (Types)
  • Overriding Member Functions
  • Constructors in  inheritance
  • Destructors in inheritance
  • Container Classes: class within a class
  • Not Inherited Members

Virtual Functions

Virtual Functions allow the program to make decisions at run time thereby making the program nimble and more time efficient. Learn how they do it in this chapter.
  • Virtual Member Function
  • Virtual function vs. late Binding
  • Difference between function overloading and function overriding
  • Constructors and Virtual
  • Destructor and Virtual Function
  • Pure Virtual function
  • Abstract  class
  • Early vs. late Binding


  • Function Templates
  • Class Templates / Geerics Classes
  • Generic Programming
  • Standard template Library

File handling

We all use files and folders to make our lives easier and more efficient. Even in a programming language file handling is a necessary concept to grasp. To perform operations such as open, close, read, and write on files in C++ we use certain specific functions. Learn more about these functions and file handling in this chapter.
  • Opening a File
  • Detecting End- of - file Constant
  • Reading and writing a file
  • genline()
  • File Pointers
  • Errors