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 | 23 Jul 2019 | Preliminaries, Introduction to UNIX-like systems | Slides [PDF] | (B3), (B16) |
1 | 26 Jul 2019 | Programming in C – Warmup | Slides [PDF] | (B1), (B14) |
2 | 30 Jul 2019 | Review of C – Operators, Expressions, Control Flow, Basic Input/output | Slides [PDF] | |
3 | 2 Aug 2019 | Review of C – Arrays, Pointers, Dynamic Memory Allocation, Structures | Slides [PDF] | |
4 | 6 Aug 2019 | Review of C – More Input/Output, Preprocessor Directives, File Handling, Header Files, Multi-file Programs | Slides [PDF] | |
5 | 9 Aug 2019 | Functions and recursion | Slides [PDF] | |
6 | 13 Aug 2019 | Revision | Slides [PDF] | |
7 | 16 Aug 2019 | Lab test 1 | ||
8 | 20 Aug 2019 |
Surprise test Programming Style, Efficient Programming, Code Optimization |
Question paper [PDF] Slides [PDF] |
(B20), (B21) |
9 | 23 Aug 2019 | Linked lists, stacks, queues: implementation | Slides [PDF] | (B6) |
10 | 27 Aug 2019 | Function pointers; generic stacks |
Slides [PDF] C files common.h |
|
11 | 30 Aug 2019 | Tools: GDB, Valgrind |
Slides [PDF] Test1.c, Test2.c, Test3.c, Test4.c, Test5.c, Test6.c |
|
12 | 3 Sep 2019 | Tools: Gcov, Cscope, Ctags, and Makefiles |
Slides [PDF] Test.zip |
|
13 | 6 Sep 2019 | Binary Trees |
Slides [PDF] |
|
Mid-semester exam break | ||||
14 | 17 Sep 2019 | Heaps |
Slides [PDF] |
(B14) |
15 | 20 Sep 2019 |
Sorting Techniques Creating / using libraries |
Slides [PDF] Slides [PDF] |
|
16 | 24 Sep 2019 | Searching Techniques |
Slides [PDF] |
|
17 | 27 Sep 2019 | Lab test 2 | ||
18 | 1 Oct 2019 | Hashing |
Slides [PDF] |
(B12) |
19 | 3 Oct 2019 | Binary Search Trees |
Slides [PDF] Code |
|
20 | 15 Oct 2019 | Balanced Search Trees |
Slides [PDF] Code |
|
21 | 18 Oct 2019 | Tries |
Slides [PDF] Code |
|
22 | 22 Oct 2019 | Lab test 3 | ||
23 | 25 Oct 2019 | B-Trees, B+-Trees |
Slides [PDF] |
|
24 | 29 Oct 2019 | Introduction to Python |
Slides [PDF] |
(B22) |
24 | 1 Nov 2019 | More on Python |
Slides [PDF] Slides [PDF] |
|
26 | 5 Nov 2019 | Data Structures with Python |
Slides [PDF] Slides [PDF] Code |
(B23) |
Course Plan lectures
Day | Date | Topic | Note | Ref |
---|---|---|---|---|
27 | 8 Nov 2019 | Lab test 4 |
Assignments assignments
No. | Deadline | Test cases | Solutions |
---|---|---|---|
Assignment 1 | 10 Aug 2019 | ||
Assignment 2 | 11 Oct 2019 | Source code for Q1 | |
Assignment 3 | 1 Nov 2019 | ||
Assignment 4 | 15 Dec 2019 |
Lab Teststests
Test | Date | Questions | Solution |
---|---|---|---|
1 | 16 Aug 2019 | Question paper | |
2 | 27 Sep 2019 | Question paper | |
3 | 22 Oct 2019 | Question paper | |
4 | 8 Nov 2019 | Question paper |
Course Projects assignments
No. | Deadline | Resources |
---|---|---|
Project 1 | 15 Dec 2019 |
Loong et al., 2017 (Author version, arXiv version) |
Other Resources resources
Data Structure Visualizations from USFCA
Announcements
- Assignment 4 uploaded.
- Assignment 3 uploaded.
- Assignment 2 uploaded.
- Assignment 1 uploaded.
- Course project has been uploaded.
- Answer keys to Surprise test marked in red.
Instructors
Teaching Assistants
- Snehalika Lall, MIU (SL)
- Sucheta Dawn, MIU (SD)
- Rathindra Nath Dutta, ACMU (RND)
- Ritajit Majumdar, ACMU (RM)
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 -
Learning Python
Mark Lutz
O'Reilly -
Data Structures and Algorithms in Python
Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser
Wiley