Courses » Introduction to Programming in C

Introduction to Programming in C


This is a course in programming in C. No prior programming experience is assumed; however, mathematical maturity at the level of a second year science or engineering undergraduate is assumed.
We emphasize solving problems using the language, and introduce standard programming techniques like alternation, iteration and recursion. We will briefly glimpse the basics of software engineering practices like modularization, commenting, and naming conventions which help in collaborating and programming in teams. 
Given a problem, we pay attention to the following questions:

  1. What is an algorithmic solution to the problem?
  2. How do we translate the algorithm into C code?
  3. How efficient is the code?
  4. How maintainable is the code?
It is expected that by the end of the course, students will be comfortable in :-
  1. Attempting algorithmic solutions to problems
  2. Designing and coding moderate sized programs running to the order of a few hundred lines of code, and
  3. Reading, understanding and modifying code written by others.


Dr. Satyadev Nandakumar
Department of Computer Science and Engineering
I.I.T. Kanpur

Prof. Amey Karkare
Department of Computer Science and Engineering
I.I.T. Kanpur

No prior programming required; mathematical maturity of a second level UG student in science or engineering.


The exam is optional.
Exams will be on 6 September 2015 and 13 September, 2015. 
Time: 1pm-4pm
The list of cities where the exam will be conducted will be available in the registration form.

Registration url: Announcements will be made when the registration form is open for registrations, most likely in July 2015. 
The online registration form has to be filled and the certification exam fee of Rs 1000, needs to be paid.

Certificate will be given to those who register and write the exam. Certificate will have your name, photograph and the score in the final exam. 
It will also have the logos of NPTEL and IIT Kanpur. It will also be e-verifiable on the 
nptel.ac.in/noc website.


  1. Introduction. Straight-Line Code. Variables, Operators, Expressions and Conditionals.
  2. Loops
  3. Functions
  4. One-Dimensional Arrays and Pointers
  5. Recursion
  6. Multi-dimensional Arrays, Linked Lists.
  7. Operating on Files
  8. Organizing C projects, working with multiple source directories, makefiles.