Information information
Marks distribution: Assignments - 50%; Lab Tests - 50%; Course Projects - BONUS.
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] | (B1), (B14) |
| 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] | (B20), (B21) |
| 7 | 10 Aug 2018 | Functions, call stack; recursion | Slides [PDF] | |
| 8 | 14 Aug 2018 | Linked lists, stacks, queues: implementation | Slides [PDF] | (B6) |
| 9 | 17 Aug 2018 | Review | ||
| 10 | 21 Aug 2018 | Lab test I | ||
| 11 | 24 Aug 2018 | Function pointers; generic stacks |
Slides [PDF] C files common.h |
|
| 12 | 28 Aug 2018 | Tools: GDB, Valgrind |
Slides [PDF] Test1.c, Test2.c, Test3.c, Test4.c, Test5.c |
|
| 13 | 31 Aug 2018 | Tools: Gcov, Cscope, Ctags, and Makefiles |
Slides [PDF] Test.zip |
|
| Mid-semester exam break | ||||
| 14 | 11 Sep 2018 | Binary Trees |
Slides [PDF] |
|
| 15 | 13 Sep 2018 (EXT) | Heaps |
Slides [PDF] |
(B14) |
| 16 | 14 Sep 2018 |
Sorting Techniques Creating / using libraries |
Slides [PDF] Slides [PDF] |
|
| 17 | 18 Sep 2018 | Disjoint Sets, Skip Lists, Generic Implementations |
Slides [PDF] |
(B4) |
| 18 | 25 Sep 2018 | Searching Techniques |
Slides [PDF] |
|
| 19 | 28 Sep 2018 | Hashing |
Slides [PDF] |
(B12) |
| 20 | 05 Oct 2018 | Binary Search Trees |
Slides [PDF] Code |
|
| 21 | 12 Oct 2018 | Review | ||
| 22 | 23 Oct 2018 | Balanced Search Trees |
Slides [PDF] Code |
|
| 23 | 26 Oct 2018 | B-Trees, B+-Trees |
Slides [PDF] |
|
| 24 | 30 Oct 2018 | Tries |
Slides [PDF] Code |
|
| 25 | 02 Nov 2018 | Data Structure Libraries |
Slides [PDF] Code |
|
Assignments assignments
| No. | Deadline | Test cases | Solutions |
|---|---|---|---|
| Assignment 1 | 10 September, 2018 | ||
| Assignment 2 | 03 October, 2018 | ||
| Assignment 3 | 05 November, 2018 | ||
| Assignment 4 | 12 December, 2018 |
Lab Teststests
| Test | Date | Questions | Solution |
|---|---|---|---|
| 1 | 21 Aug 2018 | Question paper Test cases |
Q1: stable-marriage.c Q2: rotate-matrix.c |
| 2 | 20 Sep 2018 | Question paper | |
| 3 | 09 Oct 2018 | Question paper Test cases |
|
| 4a | 06 Nov 2018 | Question paper | |
| 4b | 30 Nov 2018 | Question paper, supplementary note |
Course Projects assignments
| No. | Deadline | Resources |
|---|---|---|
| Project 1 | 07 December, 2018 |
Rubinchik and Shur, 2018 (Published version, arXiv version) |
Other Resources resources
Data Structure Visualizations from USFCA
Announcements
- Assignment 3 uploaded.
- Assignment 2 uploaded.
- Course project has been uploaded.
- Assignment 1 uploaded.
- Sample solutions to Lab test 1 uploaded.
- Answer keys to Surprise test marked in red.
Instructors
Teaching Assistants
- Aparajita Khan, MIU (AK)
- Rathindra Nath Dutta, ACMU (RND)
- Sebati Ghosh, ASU (SG)
- Shankar Kumar Ghosh, ACMU (SKG)
- Subhadeep Ranjan Dev, ACMU (SRD)
- Subhra Mazumdar, CSRU (SM)
Study Material
-
The C Programming Language
B. W. Kernighan and D. M. Ritchie
Prentice Hall, India -
How to Solve it by Computer
R. G. Dromey
Pearson Education -
The Unix Programming Environment
B. W. Kernighan and R. Pike
Prentice Hall, India -
Introduction to Algorithms
T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein
MIT Press -
Fundamentals of Data Structures
E. Horowitz and S. Sahni
Universities Press -
Data Structures and Algorithms
Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman
Pearson -
Data Structure Techniques
T. A. Standish
Addison Wesley -
The C++ Programming Language
Bjarne Stroustrup
Addison Wesley -
C++ - The Complete Reference
Herbert Schildt
McGraw Hill Education (India) -
Object-Oriented Programming in C++
Robert Lafore
SAMS -
Programming Languages Design and Implementation
T. W. Pratt and M. V. Zelkowitz
Pearson -
Fundamentals of Data Structures in C
E. Horowitz, S. Sahni and S. Anderson-Freed
Silicon Press -
Data Structures and Algorithm Analysis in C++
Mark A. Weiss
Pearson -
Algorithms
Robert Sedgewick and Kevin Wayne
Addison-Wesley Professional -
The Practice of Programming
Brian Kernighan and Rob Pike
Addison-Wesley Professional -
Programming Pearls
Jon Bentley
Pearson -
The Linux Command Line
William Shotts
No Starch Press -
The GNU Make Manual
R. M. Stallman, R. McGrath and P. D. Smith
Free Software Foundation -
Randomized Algorithms
Rajeev Motwani and Prabhakar Raghavan
Cambridge University Press -
The Elements of Programming Style
B. W. Kernighan and P. J. Plauger
McGraw-Hill -
Expert C Programming: Deep C Secrets
Peter van der Linden
SunSoft Press
