Courses--> Computer Science & Engineering --> Introduction to Problem Solving and Programming(Web)

Computer Science and Engineering

Introduction to Problem Solving and Programming   (Web Course)

IIT Delhi

Faculty Coordinators

Prof. S. Arun Kumar

Department of Computer Science and Engineering
Indian Institute of Technology Delhi
Hauz Khas, New Delhi 110-016
Email :
Telephone : (91-11) 2659 1287 (Office)
                  (91-11) 2659 1601, 2651 2415 (Residence)


Detailed Syllabus

Course objective

To introduce students to the foundations of computing, programming and problem-solving.
Also to develop basic programming skills necessary for engineering education.

Prerequisites: No pre-requisites required, suitable also for those with school
level programming skills.

Course contents

Design of algorithms; Iterative versus recursive style; problem solving using
a functional style; correctness issues in programming; efficiency issues in
programming; time and space measures; Imperative style of programming;
assertions and loop invariants; programming in an imperative language using
advanced features: procedures, functions, list handling using references;
file handling; objects and classes.


Lecture outline with topics (and no. of hours)

1. Basic model of computation, Notion of Algorithms, Principle of
    Mathematical Induction (4)

2. Basics of functional programming, notion of types (3)

3. Iterative versus recursive style (4)

4. Correctness and efficiency issues in programming, time and space
    measures (7)

5. Basics of imperative style programming (3)

6. Assertions and loop invariants (5)

7. Top down design and examples of step-wise refinement (5)

8. Programming using structures, introduction to encapsulation and
    object oriented programming (10)

Brief description of laboratory activities

1. Simple exercises and examples to introduce to student to the
    computing environment and usage of computers

2. Simple exercises and examples of functional programming

3. Examples of program correctness and experimental verification of
    efficiency and scaling.

4. Simple imperative programming

5. A moderate size example of top down design, step-wise refinement
   and rapid prototyping to develop an imprative style modular program with


Suggested texts and reference materials

1. Subhashis Banerjee, S. Arun-Kumar, D. Dubhashi: Introduction to Computer
    Science. Manuscript.

2. Structure and Interpretation of Computer Programs by Harold Abelson and Gerald
    Sussman with Julie Sussman, MIT Press, 1985.

3. How to solve it by Computer by R. J. Dromey, Prentice-Hall India EEE Series.


Download Syllabus (PDF)




Top of this page

Other Departments: Core Sciences      Computer Science and Engineering    Electrical Engineering  
 Electronics and Communication Engineering
   Mechanical Engineering   Civil Engineering



 Site Maintained by Web Studio IIT Madras. Contact Webmaster: