Information information


Marks distribution: Assignments - 50%;   Lab Tests - 50%. There will be no Mid-Sem or End-Sem examination for this course.

All classes will be held in the CSSC Lab, 4th Floor, S.N. Bose Bhavan (Library Building).


  1. The C Programming Language
    B. W. Kernighan and D. M. Ritchie
    Prentice Hall, India
  2. Programming with C
    Byron Gottfried
    Schaums' Outline series
  3. Other books

Lectures lectures

Date Topic Additional Material
1 Aug 2022 Programming test Question paper
3 Aug 2022 Solutions to programming test
8 Aug 2022
updated: 23 Aug 2022
Slides: C – basics
(variables, operators, flow control, loops)
Problem 1 (quadratic equation)
Problem 2 (word counting)
Problem 4 (maximum sum of 5 consecutive elements)
Lectures 1–5
10 Aug 2022 Slides: Arrays and strings
Review questions 1    Answers
Lecture 5
17 Aug 2022 Slides: Pointers CS10003@IITKgp
Lecture 10
22 Aug 2022 Revision: problem set
Review questions 2    Answers
24 Aug 2022 Slides: Structures
Slides: Functions
29 Aug 2022 Revision  
05 Sep 2022 Slides: Input/Output
basic-io.c   getc-input.dat
07 Sep 2022 Valgrind
Example programs
12 Sep 2022
updated: 19 Sep 2022
Slides: Preprocessor directives
Review questions 3
14 Sep 2022
updated: 21 Sep 2022
Slides: Function pointers
bubble-sort.c   student-data.txt
Data Structures
28 Sep 2022 Slides: Lists, stacks, queues
stack-main.c   stack-ops.txt   sample output
queue-main.c   queue-ops.txt   sample output
More practice problems
10 Oct 2022 GDB
bug1.c   bug2.c   bug3.c
12 Oct 2022 Binary trees
Test cases 1   Test cases 2
17 Oct 2022 Binary trees (contd.)
19 Oct 2022
updated: 02 Nov 2022
Application of binary trees: Huffman coding
28 Oct 2022 Bitwise operators
31 Oct 2022
Search trees
bst-alt.h    bst-alt.c  
02 Nov 2022 Search trees (contd.)
07 Nov 2022 Search trees (contd.)
Review questions 4
09 Nov 2022 AVL trees
14 Nov 2022
16 Nov 2022 Tries

Assignments assignments

No. Deadline Test cases Solutions
Assignment 1 09:00am, October 17, 2022
Assignment 2 09:00am, November 28, 2022
Assignment 3 09:00am, December 24, 2022

Lab Teststests

  1. Lab test 1 (31 Aug 2022)    Question paper    Test cases    Test cases used for grading
  2. Lab test 2 (21 Oct 2022)    Question paper    Test cases
    Problem 2, solution 1 (corresponding to set 1 of the test cases)
    Problem 2, solution 2 (corresponding to set 2 of the test cases)
  3. Lab test 3 (21 Nov 2022)    Question paper    Test cases

Other books

  1. How to Solve it by Computer
    R. G. Dromey
    Pearson Education
  2. The Unix Programming Environment
    B. W. Kernighan and R. Pike
    Prentice Hall, India
  3. Introduction to Algorithms
    T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein
    MIT Press
  4. Fundamentals of Data Structures
    E. Horowitz and S. Sahni
    Universities Press
  5. Data Structures and Algorithms
    Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman
  6. Data Structure Techniques
    T. A. Standish
    Addison Wesley
  7. The C++ Programming Language
    Bjarne Stroustrup
    Addison Wesley
  8. C++ - The Complete Reference
    Herbert Schildt
    McGraw Hill Education (India)
  9. Object-Oriented Programming in C++
    Robert Lafore
  10. Programming Languages Design and Implementation
    T. W. Pratt and M. V. Zelkowitz
  11. Fundamentals of Data Structures in C
    E. Horowitz, S. Sahni and S. Anderson-Freed
    Silicon Press
  12. Data Structures and Algorithm Analysis in C++
    Mark A. Weiss
  13. Algorithms
    Robert Sedgewick and Kevin Wayne
    Addison-Wesley Professional
  14. The Practice of Programming
    Brian Kernighan and Rob Pike
    Addison-Wesley Professional
  15. Programming Pearls
    Jon Bentley
  16. The Linux Command Line  
    William Shotts
    No Starch Press
  17. The GNU Make Manual  
    R. M. Stallman, R. McGrath and P. D. Smith
    Free Software Foundation
  18. Randomized Algorithms
    Rajeev Motwani and Prabhakar Raghavan
    Cambridge University Press
  19. The Elements of Programming Style
    B. W. Kernighan and P. J. Plauger
  20. Expert C Programming: Deep C Secrets
    Peter van der Linden
    SunSoft Press
  21. Learning Python
    Mark Lutz
  22. Data Structures and Algorithms in Python
    Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser

Other Resources resources

Data Structure Visualizations from USFCA


Last modified: Fri Dec 30 09:02:00 IST 2022