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 - I, 4th Floor, SN Bose Bhavan (Library Building).

Lectures lectures



Day Date Topic Note Ref
0 20 Jul 2017 Preliminaries, Introduction to UNIX-like systems [MM] Slides [PDF] (B3), (B16)
1 25 Jul 2017 Programming in C – revision (basics) [AB] Slides [PDF] (B1), (B14)
Problem solving in C [SSG]
(Ignore slide number 1)
Slides [PDF] (B2)
2 27 Jul 2017 Programming in C – revision (types, arrays, pointers) [AB,MM] Slides [PDF]
common.h
string-matching.c
secondMax.c
(B1), (B14)
3 01 Aug 2017 Programming in C – revision (structures) [AB,MM] Slides [PDF] (B1), (B14)
02 Aug 2017 Tutorial [SD] Problems [PDF] Solutions [PDF]
4 03 Aug 2017 Programming in C – revision (structures, contd.) [AB,MM] See above. (B1), (B14)
Programming in C – revision (functions, file handling) [AB,MM] Slides [PDF] (B1), (B14)
Problems for Day 4 Slides [PDF]
Solution sketch [PDF]
unionFind.c
/etc/passwd
Test case for prob. 4
(B1), (B14)
5 08 Aug 2017 GDB, Valgrind [AB] GDB
Valgrind
gdb_1.c   gdb_2.c
1.c   2.c   3.c   4.c   5.c   6.c   7.c  
6 16 Aug 2017 Programming in C – wrapup [AB, SP]
Bitwise operators and type casting [SP]
Slides I [PDF]
Slides II [PDF]
7 17 Aug 2017 Programming in C – odds and ends [AB,MM] Slides [PDF]
genericSwap.cpp
Linked lists [MM] Slides [PDF]
Traditional implementation
Alternate implementation

Assignments assignments

Assignment 1         Deadline: 17th August, 2017.
INPUTS
OUTPUTS

Lab Tests tests

 

Announcements

  • Solutions / solution sketches to some of the problems assigned on day 4 uploaded.
  • Slides for functions and file handling updated.

Instructors

Teaching Assistants

Study Material

  • (B1) The C Programming Language
    B. W. Kernighan and D. M. Ritchie
    Prentice Hall, India
  • (B2) How to Solve it by Computer
    R. G. Dromey
    Pearson Education
  • (B3) The Unix Programming Environment
    B. W. Kernighan and R. Pike
    Prentice Hall, India
  • (B4) Introduction to Algorithms
    T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein
    MIT Press
  • (B5) Fundamentals of Data Structures
    E. Horowitz and S. Sahni
    Universities Press
  • (B6) Data Structure Techniques
    T. A. Standish
    Addison Wesley
  • (B7) The C++ Programming Language
    Bjarne Stroustrup
    Addison Wesley
  • (B8) C++ - The Complete Reference
    Herbert Schildt
    McGraw Hill Education (India)
  • (B9) Object-Oriented Programming in C++
    Robert Lafore
    SAMS
  • (B10) Programming Languages Design and Implementation
    T. W. Pratt and M. V. Zelkowitz
    Pearson
  • (B11) Fundamentals of Data Structures in C
    E. Horowitz, S. Sahni and S. Anderson-Freed
    Silicon Press
  • (B12) Data Structures and Algorithm Analysis in C++
    Mark A. Weiss
    Pearson
  • (B13) Algorithms
    Robert Sedgewick and Kavin Wayne
    Addison-Wesley Professional
  • (B14) The Practice of Programming
    Brian Kernighan and Rob Pike
    Addison-Wesley Professional
  • (B15) Programming Pearls
    Jon Bentley
    Pearson
  • (B16) The Linux Command Line  
    William Shotts
    No Starch Press
  • (B17) The GNU Make Manual  
    R. M. Stallman, R. McGrath and P. D. Smith
    Free Software Foundation
  • (B18) Randomized Algorithms
    Rajeev Motwani and Prabhakar Raghavan
    Cambridge University Press