Programming Basics

Educational Services for Outreach at Scale (ESOS)

February 14th, 2022 to May 31st, 2022

Course Content Teaching Faculty Duration and Venue
Who Should Attend Course Fee and Certification How to Apply
Note Address For Communication

click here to download the brochure

click here to download the Schedule

Help-line Contacts

Instructions for Enrolling in the Course

Registration Closed List of participants

Help us spread -    

Programme Overview

Learn basic computer programming skills and master the art of writing C/C++ programs to solve real-world problems. Basic concepts of computer programming are introduced, starting with the notion of an algorithm. Emphasis is on developing the ability to write programs to solve practical computational problems.

Learners will read and understand many sample programs and will have to write several on their own. This course deals with basic programming and sets the foundation for solid programming practices for beginners.

Course content

The topics covered in this course:

  • Algorithms
  • Elements of C/C++ programming languages
  • Basic data types
  • Sequential and conditional execution
  • Iterative solutions
  • Arrays, matrices, and their applications
  • Functions
  • Sorting and searching
  • Elements of string processing
  • Introduction to pointers
  • Basics of Software Engineering
  • Structures
  • File Processing

The detailed description is given below:

Topic 1: Procedures, programs, and computers

  • Know the basic Architecture of a Computer
  • Learn to write simple programs
  • Get introduced to C++
  • Learn how to process integers and the basic calculation concepts

Topic 2: Sequential and Conditional execution of Programs

  • Differentiate between Arithmetic and C++ Programming
  • Learn to write basic C++ programs
  • Know how to solve problems using programming
  • Familiarize with Sequential and Conditional Execution in C++

Topic 3: Iterative Solutions

  • Learn the necessity and usage of Iteration
  • Know the concept of Loops in C++
  • Learn to use Loops and assignment operators
  • Determine which loop is better suited for a problem

Topic 4: Functions

  • Learn to use Function in programming
  • Get introduced to calling functions
  • Distinguish between different calling functions
  • Know the proper usage of Recursion and Iteration

Topic 5: Arrays and Matrices

  • Know the basics of Array
  • Learn to solve problems using Arrays
  • Learn the application of Matrices
  • Learn data handling in C++

Topic 6: Sorting and Searching

  • Know how to sort data in C++
  • Distinguish between different sorting method
  • Know the usability and limitations of each type of sort
  • Learn how to run a search function

Topic 7: Strings and Pointers

  • Learn about Strings and its application in C++
  • Know more about Pointers
  • Learn the usage of Pointers in calling functions
  • Have a better understanding of the concepts of Dynamic Memory Allocation
  • Know about the good programming practices

Topic 8: Structures

  • Get introduced to Object Oriented Programming Structures
  • Learn to write functions for implementing the structures
  • Know the limitations which might occur while writing the functions
  • Learn the relationship between pointers and structures
  • Understand the concept of linking structures better

Topic 9: File Processing

  • Learn to access files through C++
  • Learn to write functions to process data within files
  • Know how to create and access binary file
  • Learn to process the file without actually reading the data

Topic 10: Looking Ahead

  • Get introduced to Software Engineering
  • Know the types of Software
  • Familiarize with the principles of software engineering

Teaching Faculty

Prof. Deepak B Phatak, Professor Emeritus, Dept. of CSE, IIT Bombay

Prof. Supratik Chakraborty, Dept. of CSE, IIT Bombay

Mr. Nagesh Karmali, Sr. Manager (Research), Dept. of CSE, IIT Bombay

Ms. Firuza Karmali (Aibara), Project Manager,Dept. of CSE, IIT Bombay

Duration and Venue

Registration Opens

February 07, 2022

Registration Ends

April 30, 2022

Course Starts

February 14, 2022

Course Ends

May 31, 2022

Total Duration

10 weeks

This course will be conducted in a self-paced mode, i.e. all the lecture videos, slides, reading materials, activities, and graded assignments will be released on when the course starts. This gives you the flexibility of progressing and completing the graded assignments at your own pace. However, but one would need to complete them before the course ends.

Who Should Attend

The course can be taken by any learner who desires to learn to program. Knowledge of high school mathematics is essential and adequate. Exposure to pre-calculus is desirable.

Course Fee and Certification

The registration fee for the course is Rs. 650/-.

Important Payment Instruction:

Please note that the registration fee once paid is neither refundable nor adjustable under any circumstances.
While making a payment for the course,
(i) If you receive a transaction failure message and your amount is NOT debited, please pay again by logging in to IITBombayX-LAKSHYA programme( website.

(ii) If your amount is debited and you still receive a transaction failure message, please DO NOT make another payment. Send a mail to with cc to Eoutreach with a subject "Transaction failure but amount debited". Also, provide the transaction details in the mail. You will soon receive a reply from us on the same.

Honor Code e-Certificates will be issued on successful completion of the course based on the grading policy mentioned in the course. Please note that all e-certificates will be issued online after the course ends on 31 May 2022. No hard copies will be given.

How to Apply

Enrollment will be strictly online, and no other mode of application will be entertained. The online registration is available from 07 February 2022 till 31 May 2022.

Course registration steps for the IITBombayX-Lakshya portal: 

  • Once you select the course of your interest from the homepage. A page will open where Click on the link “Click here for registration form” to get enrolled for this course.
  • You will be prompted to enter your email address.
    1. If you have already registered in our earlier courses: Use your existing email id and password to get enrolled.
    2. If you are here for the first time: A form will open where you have to enter the OTP (received in the entered email), password and other required details and press SUBMIT button (for your account creation).
  • You will be routed to Registration form of this course and select your appropriate ‘Audience type’, (if not selected earlier) and Press on ‘Pay Now’ button.
  • Once the payment is successful , you will receive an automated email. Also, your name will be listed in the ‘List of Participants’ page in Course page.
  • Register on IITBombayX site ( using the same email id to access the course content (if already registered in IITBombayX site with same email, then you may skip this step).
  • You will be mapped in IITBombayX of this course within 2 to 3 working days.
  • You will be able to access the course in your IITBombayX dashboard after login.


The course content is released under Open Source License. All participants must agree that the content contributed by them in any form, (assignments, questions, etc.) would be released under Open Source Licence, by accepting the terms mentioned under ‘No Objection Certificate’. All contributors will be acknowledged.

Address For Communication

Prof. Bhaskaran Raman (Principal Investigator)
Department of CSE, Kanwal Rekhi Building,
Indian Institute of Technology Bombay,
Mumbai - 400 076.
Website -