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 virtually on Zoom. Please note the change in venue from previous years.
Lectures lectures
Day | Date | Topic | Note | Ref |
---|---|---|---|---|
0 | 7 Dec 2020 | Technical details + Introduction to UNIX-like systems |
Slides [PDF] Video [MP4] |
(B3), (B16) |
1 | 11 Dec 2020 | Hands-on Python |
Slides [PDF] Video [MP4] |
(B22) |
2 | 14 Dec 2020 | Basics of Python - I |
Slides [PDF] Video [MP4] prog1.py prog2.py prog6.py |
(B22) |
3 | 18 Dec 2020 | Basics of Python - II |
Slides [PDF] Video [MP4] |
(B22) |
4 | 21 Dec 2020 | More on Python |
Slides [PDF] Video [MP4] |
(B22) |
5 | 28 Dec 2020 | Lists, Stacks, Queues in Python |
Slides [PDF] Video [MP4] |
(B6), (B23) |
6 | 1 Jan 2021 | Lists, Stacks, Queues in Python – contd. |
alt_queue.py queue-comparison.py |
(B6), (B23) |
Recursion |
Slides [PDF] Video [MP4] |
|||
7 | 4 Jan 2021 | Divide-and-Conquer Algorithms |
Slides [PDF] quicksort.py Video [MP4] |
|
8 | 8 Jan 2021 | Recap |
Slides [PDF] Video [MP4] Slides [PDF] Slides [PDF] Video [MP4] |
|
9 | 11 Jan 2021 | Binary Trees in Python |
Slides [PDF] binary_trees.py generate_random_tree.py Video [MP4] |
(B6) |
10 | 15 Jan 2021 | Object-oriented Programming with Python |
Slides [PDF] Video [MP4] |
|
11 | 17 Jan 2021 | Binary Search Trees |
Slides [PDF] binary_tree.py binary_search_tree.py Video [MP4] | (B1), (B14) |
12 | 22 Jan 2021 | Balanced Search Trees |
Slides [PDF] avl.py Video [MP4] |
|
13 | 25 Jan 2021 | Diagnostic Test (C programming) | Question paper | Test cases for Q2 |
14 | 29 Jan 2021 | Tries |
Slides [PDF] Video [MP4] |
|
15 | 1 Feb 2021 | Heaps |
Slides [PDF] Video [MP4] |
(B14) |
16 | 5 Feb 2021 | Tutorial | Video [MP4] | |
17 | 7 Feb 2021 | Hashing |
Slides [PDF] Video [MP4] |
|
18 | 12 Feb 2021 | Sorting |
Slides [PDF] Video [MP4] |
(B12) |
19 | 15 Feb 2021 | Tutorial | ||
20 | 19 Feb 2021 | Peer programming |
Notes [PDF] |
|
21 | 22 Feb 2021 | Debugging tools: GDB, Valgrind |
Slides [PDF] Video [MP4] |
|
22 | 26 Feb 2021 | Debugging tools: PDB |
Slides [PDF] Video [MP4] |
Course Plan lectures
Day | Date | Topic | Note | Ref |
---|---|---|---|---|
23 | 01 Mar 2021 | Revision | Slides [PDF] |
Assignments assignments
No. | Deadline | Test cases | Solutions |
---|---|---|---|
Assignment 1 | 07:00am, 27 January, 2021 | ||
Assignment 2 | 07:00am, 23 February, 2021 | ||
Assignment 3 | 07:00am, 27 March, 2021 |
Lab Teststests
Test | Date | Questions | Solution |
---|---|---|---|
1 | 18 Jan 2021 | Question paper | Test cases |
2 | 8 Feb 2021 | Question paper | |
3 | 5 Mar 2021 | Question paper |
Course Projects assignments
No. | Deadline | Resources |
---|---|---|
Project 1 | 31 Mar 2021 |
Cherapanamjeri et al., 2020 (Published version, arXiv version) |
Other Resources resources
Data Structure Visualizations from USFCA
Announcements
- Assignment 3 uploaded.
- Assignment 2 uploaded.
- Assignment 1 uploaded.
- Resources for the course project uploaded.
Instructors
Teaching Assistants
- Manmatha Roy (MR)
- Sourav Saha (SS)
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