CSL 101: Introduction to Computers and Programming

This page gives information about the course ``CSL 101: Introduction to Computers and Programming '' taught at IIT Delhi by Sandeep Sen of the Department of Computer Science and Engineering at the Indian Institute of Technology, Delhi

Information is available under the following headings:

Overview | Syllabus | Eligibility | Textbooks | Computer usage | Administrative Information and Grading Policy

Also available are the following (at least from within IITD):


CSL 101: Introduction to Computers and Programming is intended for the absolutely uninitiated. One of CSL 101 or CSL 102 is compulsory for all entry level B. Tech. students at IITD. The course CSL 101 addresses on the following issues:

  1. Problem formulation in a precise and concise fashion and independent of language considerations.
  2. The design of an algorithm from the problem specification -- its correctness and analysis of its efficiency.
  3. The intermediate steps in the design of a program from an algorithm through a process of step-wise refinement. Language dependent considerations may be used in this process, but not elsewhere.
The emphasis throughout the course is in the analysis required while developing programs from simple (or given) algorithms. The course is intended to teach a student a systematic process of design - beginning with problem formulation from an informal specification, through convincing arguments to algorithms, the analysis of their correctness and efficiency, and finally arriving at programs through a process of step-wise refinement. The course introduces the basics of the functional (recursive) followed by iterative processes. The programming languages used for functional and imperative programming are OCAML and Pascal/Java, respectively.

Some elementary data structures like records, lists, trees, arrays and developing abstract data types are also touched upon.


The Courses of Study booklet has this to say:

CSL 101 : Introduction to Computers and Programming

Credits: 3-0-2 (2 1 1/2 hrs Lectures and two hours of practical in a week)


Absolutely no prerequisites are required. This course is recommended for students who have not done any formal courses in Programming. If you have done Computer Science in your +2 and obtained 60% or more marks (or equivalently grade B or better) in your Higher Seconadry/School-Leaving exam then you are NOT ELIGIBLE for this course. Such stduents must enroll in CSL 102 that runs concurrently with this course.


Primary reference:

Lecture Notes on CSL 101 which will be provided from time to time.

Other references:

  1. How to solve it by Computer by R. J. Dromey, Prentice-Hall India EEE Series.
  2. Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Sussman with Julie Sussman, MIT Press, 1985.

Computer usage