Information information

Syllabus

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

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

Textbooks

  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

(*) Note that the local copies may not always be up to date.
Date Topic Additional Material
29 Jul 2024 Introduction to UNIX-like systems
31 Jul 2024
5,7 Aug 2024
C – basics (variables, operators, flow control, loops)
local copy (*)
Solutions to programming test
prog1.c
prog2.c
prog3.c
common.h
12,14 Aug 2024 C – I/O (basic)
local copy (*)
getc-input.txt
basic-io.c
robust-scanf.c
test-input-14082024.txt
19 Aug 2024 C – arrays, strings (basic)
local copy (*)
strcpy.c
21,26 Aug 2024 C – pointers
local copy (*)
pointer-basics.c
large-vlas.c
28 Aug 2024 Review + practice session
2,4 Sep 2024
updated: 15.10.24
C – functions
local copy (*)
array-args.c
multi-dim-arrays.c
18,23 Sep 2024 C – structures    local copy (*)
C – function pointers    local copy (*)
30 Sep 2024 C – preprocessor    local copy (*)
04 Oct 2024 GDB
14 Oct 2024 Recursion
16 Oct 2024 Binary trees Test cases 1
Test cases 2
21 Oct 2024 Using stacks to handle recursion
Heaps
Creating and using libraries
stack.h    stack.c
stack-main.c
int-heap.h    int-heap.c
int-heap-testing.c
25 Oct 2024 Generic data structures generic-stacks.h
30 Oct 2024 Search trees
06 Nov 2024 AVL trees Code
08 Nov 2024 Debugging tools: valgrind Test programs

Assignment

Lab Teststests

Test Date Questions Solution
Lab test 1 25 September, 2024 Question paper Q1
Q2, Q3
Q4
Lab test 2 28 October, 2024 Question paper
Lab test 3 02 December, 2024 Question paper Q1–Q4
Lab test 4 06 December, 2024 Question paper

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
    Pearson
  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
    SAMS
  10. Programming Languages Design and Implementation
    T. W. Pratt and M. V. Zelkowitz
    Pearson
  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
    Pearson
  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
    Pearson
  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
    McGraw-Hill
  20. Expert C Programming: Deep C Secrets
    Peter van der Linden
    SunSoft Press
  21. Learning Python
    Mark Lutz
    O'Reilly
  22. Data Structures and Algorithms in Python
    Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser
    Wiley

Other Resources resources

Data Structure Visualizations from USFCA

 


Last modified: Mon Dec 9 20:18:00 IST 2024