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

Codes

Grading Scheme

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

Mid-Semester Score Distribution

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
Fri, Sep 5, 2025Holiday – Teachers’ Day
Sat, Sep 6, 20254Structures and Pointers
Lab 5
Tue, Sep 9, 20255 Pointers and Dynamic Memory
Fri, Sep 12, 20255More Data Structures
Lab 6
Mon, Sep 15, 20255Even more data structures
Tue, Sep 16, 20255Recap
Fri, Sep 19, 2025No Class – Exams
Tue, Sep 23, 2025No Class – Exams
Fri, Sep 26, 2025No Class – Exams
No Labs
Tue, Sep 30, 20255Midsem Recap
Fri, Oct 3, 2025No Class – Midsem Break
Lab 7
Tue, Oct 7, 20256Object-Oriented Programming Concepts - Classes and Objects
Tue, Oct 14, 20257Advanced OOP - Inheritance
Fri, Oct 17, 20257Advanced OOP - Polymorphism
Lab 8
Tue, Oct 21, 20258Advanced OOP - Polymorphism
Fri, Oct 17, 2025TBATBA
Lab 9
Tue, Oct 21, 2025TBATBA
Fri, Oct 24, 2025TBATBA
Lab 10
Tue, Oct 28, 2025TBATBA
Fri, Oct 31, 2025TBATBA
Lab Exams
Tue, Nov 18, 2025No Class
Fri, Nov 21, 2025FinalLast Class