Syllabus  |   Lectures  |   Downloads  |   FAQ  |   Ask a question  |  
Course Co-ordinated by IIT Kanpur
Prof. D. Gupta
IIT Kanpur


Download Syllabus in PDF format

Untitled Document


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 structures.

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.


Under development

Important: Please enable javascript in your browser and download Adobe Flash player to view this site
Site Maintained by Web Studio, IIT Madras. Contact Webmaster: