Information information

Syllabus

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 CSSC Lab - 2, 4th Floor, SN Bose Bhavan (Library Building). Please note the change in venue from previous years.

Lectures lectures

Day Date Topic Note Ref
0 17 Jul 2018 Preliminaries, Introduction to UNIX-like systems Slides [PDF] (B3), (B16)
1 20 Jul 2018 Programming in C – warmup Slides [PDF]
2 24 Jul 2018 Review of C – Operators, Expressions, Control Flow, Basic Input/output Slides [PDF]
3 27 Jul 2018 Review of C – Arrays, Pointers, Dynamic Memory Allocation, Structures Slides [PDF]
4 31 Jul 2018 Review of C – More Input/Output, File Handling, Header Files, Multi-file Programs Slides [PDF]
Surprise test Question paper [PDF]
5 3 Aug 2018 Recap
6 7 Aug 2018 Programming Style, Efficient Programming Slides [PDF]
7 10 Aug 2018 Functions, call stack; recursion Slides [PDF]
8 14 Aug 2018 Linked lists, stacks, queues: implementation Slides [PDF]
9 17 Aug 2018 Linked lists, stacks, queues: generic implementation Slides [PDF]

Course plan

Day Date Topic
10 21 Aug 2018 Linked lists, stacks, queues: (generic) implementation, problem solving – 3/3
11 24 Aug 2018 Tools: gdb, valgrind, makefiles, cscope, ctags – 1/2
12 28 Aug 2018 Tools: gdb, valgrind, makefiles, cscope, ctags – 2/2
13 31 Aug 2018 Review class
Mid-semester exam break

Assignments assignments

No. Deadline Test cases Solutions
Assignment 1 31 August, 2018
Assignment 2 28 September, 2018
Assignment 3 05 November, 2018
Assignment 4 03 December, 2018

Lab Teststests

Test Date Questions Solution
1 21 Aug 2018
2 14 Sep 2018
3 09 Oct 2018
4 30 Oct 2018

 

Announcements

Instructors

Teaching Assistants

Study Material

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