Programming Basics

Educational Services for Outreach at Scale (ESOS)


July 15th, 2020 to November 15th, 2020

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

Click here for registration form List of participants

Programme Overview

We are experiencing some technical difficulties in UPI payment option. Please use some other payment options, if possible. In case you have received a "Transaction Failure" message, then please wait for 2 or 3 working days. If your name still doesn't appear on the Confirmed Participants list then only send an email to dbpaccounts@cse.iitb.ac.in

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 (Retired) Deepak B. Phatak, Dept. of CSE, IIT Bombay

Prof Supratik Chakraborty, Dept. of CSE, IIT Bombay

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

Firuza Karmali, Project Manager, Dept. of CSE, IIT Bombay

Duration and Venue

Registration Opens

July 1, 2020

Registration Ends

October 16, 2020

Course Starts

July 15, 2020

Course Ends

November 15, 2020

Total Duration

9 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. 475/-. However, register before 1 August 2020 for Rs. 375/- only to avail an early bird registration discount. Please note that the registration fee once paid is neither refundable nor adjustable under any circumstances.

Important payment instructions:
In case of a course fee transaction failure, the participant will get an auto generated mail with instructions for further process. Please go through the mail carefully. If the amount is already debited to your account, please do not make another payment. In case of a double payment (or more than once), please send a mail to dbpaccounts@cse.iitb.ac.in requesting for a refund. The participant will also have to check the following link for his/her vendor creation in order to get a refund. IIT Bombay will not be able to process the refund (for any reason) if the vendor creation, as per IIT Bombay's requirement, is not completed by the participant. Link:- https://portal.iitb.ac.in/vrp/index.jsp

Honor Code Certificates will be issued on successful completion of the course based on the grading policy mentioned in the course. Please note that all certificates will be issued online. 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 for the course will start on 1 July 2020. It will remain open till 16 October 2020.

Registration process for the Program:

  • Sign up using your valid email id on the website:
    https://www.it.iitb.ac.in/lakshya/signup.html
  • After verification, your account will be created
  • Login on the website with the verified account
  • Go to Announcements, select the program and register
  • After successful registration, you will receive an automated email. Your name will be listed in the “List of Participants page”
  • Thereafter register on IITBombayX site (https://courses.iitbombayx.in/register) using the same email id to access the course content

Note

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

Dr. Kalpana Kannan
Project Coordinator, ESOS Project
Department of CSE, Kanwal Rekhi Building,
Indian Institute of Technology Bombay,
Mumbai - 400 076.
Tel.: +91 9833594905 (Mahendra)
Email: eoutreach@it.iitb.ac.in
Website - www.it.iitb.ac.in/lakshya/ www.iitbombayx.in

top