CS103: Introduction to Programming

IIT Indore

Instructor: Dr. Debasish Pattanayak

Course Outline

Before Mid-semester Examination

Module 1: Introduction to Programming
  • What is programming
  • Brief history of programming languages
  • High level, low level languages
Module 2: C++ Fundamentals
  • Data types in C++
  • Variables (local, global, static)
Module 3: Control Flow
  • Branching (if, else; switch)
  • Loops (for, while, do-while)
Module 4: Data Structures & Functions
  • Arrays
  • Functions
  • Structures
Module 5: Memory Management
  • Pointers
  • Dynamic Memory Allocation (malloc, calloc, realloc; new, delete)

After Mid-semester Examination

Module 6: Object-Oriented Programming Concepts
  • Ideas of object-oriented programming
  • Classes, objects
Module 7: Classes in Depth
  • Constructors, Destructors, Copy-constructors
  • Operator overloading (simple unary, binary operators; Friend functions)
Module 8: Advanced OOP
  • Inheritance
  • Polymorphism

Grading Scheme

Note: The total of these components will be scaled to 100% for the final grade.

Lecture Schedule

Date Module Topic
Tue, Aug 5, 20251Introduction to Programming
Fri, Aug 8, 20252C++ Fundamentals - Data Types and Variables
Lab 1
Tue, Aug 12, 20252C++ Fundamentals - Variable Scope
Fri, Aug 15, 2025Holiday – Independence Day
Lab 2
Tue, Aug 19, 20253Control Flow - Branching
Fri, Aug 22, 20253Control Flow - Loops
Lab 3
Tue, Aug 26, 20254Data Structures - Arrays
Fri, Aug 29, 20254Data Structures & Functions - Functions
Lab 4
Tue, Sep 2, 20254Data Structures & Functions - Structures
Fri, Sep 5, 2025Holiday – Teachers’ Day
Lab 5
Tue, Sep 9, 20255Memory Management - Pointers
Fri, Sep 12, 20255Memory Management - Dynamic Allocation
Lab 6
Mon, Sep 15, 20256Object-Oriented Programming Concepts - Introduction
Fri, Sep 19, 2025No Class – Exams
Tue, Sep 23, 2025No Class – Exams
Fri, Sep 26, 2025No Class – Exams
Lab 7
Tue, Sep 30, 20256Object-Oriented Programming Concepts - Classes and Objects
Fri, Oct 3, 20257Classes in Depth - Constructors and Destructors
Lab 8
Tue, Oct 7, 20257Classes in Depth - Operator Overloading
Fri, Oct 10, 20258Advanced OOP - Inheritance
Lab 9
Tue, Oct 14, 20258Advanced OOP - Polymorphism
Fri, Oct 17, 2025TBATBA
Lab 10
Tue, Oct 21, 2025TBATBA
Fri, Oct 24, 2025TBATBA
Lab 11
Tue, Oct 28, 2025TBATBA
Fri, Oct 31, 2025TBATBA
Lab 12
Tue, Nov 18, 2025No Class
Fri, Nov 21, 2025FinalLast Class