Information information

Syllabus

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

  1. The C Programming Language
    B. W. Kernighan and D. M. Ritchie
    Prentice Hall, India
  2. How to Solve it by Computer
    R. G. Dromey
    Pearson Education
  3. The Unix Programming Environment
    B. W. Kernighan and R. Pike
    Prentice Hall, India
  4. Introduction to Algorithms
    T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein
    MIT Press
  5. Fundamentals of Data Structures
    E. Horowitz and S. Sahni
    Universities Press
  6. Data Structures and Algorithms
    Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman
    Pearson
  7. Data Structure Techniques
    T. A. Standish
    Addison Wesley
  8. The C++ Programming Language
    Bjarne Stroustrup
    Addison Wesley
  9. C++ - The Complete Reference
    Herbert Schildt
    McGraw Hill Education (India)
  10. Object-Oriented Programming in C++
    Robert Lafore
    SAMS
  11. Programming Languages Design and Implementation
    T. W. Pratt and M. V. Zelkowitz
    Pearson
  12. Fundamentals of Data Structures in C
    E. Horowitz, S. Sahni and S. Anderson-Freed
    Silicon Press
  13. Data Structures and Algorithm Analysis in C++
    Mark A. Weiss
    Pearson
  14. Algorithms
    Robert Sedgewick and Kevin Wayne
    Addison-Wesley Professional
  15. The Practice of Programming
    Brian Kernighan and Rob Pike
    Addison-Wesley Professional
  16. Programming Pearls
    Jon Bentley
    Pearson
  17. The Linux Command Line  
    William Shotts
    No Starch Press
  18. The GNU Make Manual  
    R. M. Stallman, R. McGrath and P. D. Smith
    Free Software Foundation
  19. Randomized Algorithms
    Rajeev Motwani and Prabhakar Raghavan
    Cambridge University Press
  20. The Elements of Programming Style
    B. W. Kernighan and P. J. Plauger
    McGraw-Hill
  21. Expert C Programming: Deep C Secrets
    Peter van der Linden
    SunSoft Press
  22. Learning Python
    Mark Lutz
    O'Reilly
  23. Data Structures and Algorithms in Python
    Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser
    Wiley

Last modified: Sun Mar 7 23:14:09 IST 2021