Skip to main content

Programming Basics

This course provides students with a foundation in Computer Programming.

About This Course

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.

Topics include:

  • 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

Participants will get to read and understand many sample programs, and will have to write several on their own. This course deals with procedural programming, and attempts to inculcate good programming practices in a novice programmer.


Knowledge of high school Mathematics is essential and adequate. Exposure to pre-calculus is desirable.

Course Staff

Course Staff Image #1

Professor Deepak B Phatak

Dr Deepak B Phatak has been working with IIT Bombay since 1971. His main concern is improvement in quality of education, at a large scale commensurate with the Indian national aspirations. Towards this end, he has dovetailed the synchronous distance education which he started at IIT Bombay 15 years ago, into an innovative program for training 10,000 teachers at a time. He believes in developing affordable technological solutions. He heads the national initiative on Aakash tablets. He has been an advisor and IT consultant to organizations and companies, and has worked on many company boards. He has won several distinctions and awards, and has been conferred ‘Padma Shri’ by the Government of India.

Course Staff Image #2

Professor Supratik Chakraborty

Prof Supratik Chakraborty received his BTech from IIT Kharagpur, and MS and PhD from Stanford University. He is currently a Professor of Computer Science and Engineering at IIT Bombay, where he has been teaching since 2000. His broad research interests are in theory and applications of formal methods, automata theory and logic. He has also worked on asynchronous systems in the past. He has taught several courses including Topics in Mathematical Foundations of Formal Verification, Formal Specification and Verification of Programs, Automata Theory and Logic, and Formal Methods in Computer Science, at IIT Bombay.

Course Staff Image #2

Nagesh Karmali

Nagesh Karmali is a Sr. Manager (Research) in the Dept. of CSE at IIT Bombay and heads the Fundamental Research Group. He is associated with IIT Bombay since 2005. His broad research areas are in the field of Parallel Databases, Big Data Analytics, Adaptive Recommendation Systems, Peer Evaluation Systems, etc. His interests also lies in Category Theory, Control Theory, System Dynamics, Music Theory, etc.. He has mentored over 70 B Tech, DD, and M Tech theses since 2008. He maintains a wiki for his research projects which can be accessed at He also likes to travel across villages and learn from the local people.

Course Staff Image #2

Firuza Aibara

Firuza Yezdi Aibara, is working as an Assistant Project Manager, at the Computer Science and Engineering Department, IIT Bombay since 2011. She obtained her Masters in Information Technology from D G Ruparel College, Mumbai, affiliated to the University of Mumbai, in 2010. She has so far authored six books: HTML for Beginners, Computer Concepts and Programming in C, Visual Basic, Data Structures using C etc. All her books have been well received amongst teachers as well as students for their simple and lucid examples. She has keen interest in programming, system design, documentation, proof-reading and editing.

  1. Course Number

  2. Classes Start

    February 21, 2017- Self-Paced
  3. Classes End

    Dec 12, 2017
  4. Estimated Effort

    4 hours/week