Swayam Central

Introduction to Programming in C

By Prof. Satyadev Nandakumar   |   IIT Kanpur
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 :-
  • Attempting algorithmic solutions to problems
  • Designing and coding moderate sized programs running to the order of a few hundred lines of code, and
  • Reading, understanding and modifying code written by others.
INTENDED AUDIENCE : Any interested learners.

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

Learners enrolled: 12346


Course Status : Upcoming
Course Type : Elective
Duration : 8 weeks
Start Date : 14 Sep 2020
End Date : 06 Nov 2020
Exam Date : 18 Dec 2020
Enrollment Ends : 21 Sep 2020
Category :
  • Computer Science and Engineering
  • Level : Undergraduate/Postgraduate
    This is an AICTE approved FDP course


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




    Prof. Satyadev Nandakumar

    IIT Kanpur
    Dr. Satyadev Nandakumar is an Assistant Professor from the Department of Computer Science and Engineering IIT Kanpur who specialises in Computable Analysis, Algorithmic Information Theory, Symbolic Dynamics. His research interests includes Theoretical Computer Science, Algorithmic Information Theory, Computible Analysis.


    The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
    The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
    Date and Time of Exams: 18 December 2020 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
    Registration url: Announcements will be made when the registration form is open for registrations.
    The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
    Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.


    Average assignment score = 25% of average of best 6 assignments out of the total 8 assignments given in the course.
    Exam score = 75% of the proctored certification exam score out of 100

    Final score = Average assignment score + Exam score

    YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

    Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Kanpur .It will be e-verifiable at nptel.ac.in/noc.

    Only the e-certificate will be made available. Hard copies will not be dispatched.

    Once again, thanks for your interest in our online courses and certification. Happy learning.

    - NPTEL team