CS2810: Object Oriented Algorithms, Implementation and Analysis Lab

Course information

  • When: Jan-May 2026

  • Lectures: Slot Q

  • Where: SSB134 and DCF

  • Teaching Assistants: Prashant Singh (CS24D002), Arun Prabhakar (CS23S200), Sagar Biswas (CS24M039), Ankit Kumar (CS25M012), Ayush Raj (CS25M015), Bantu Vijayendra Varma (CS25M016), Kotam Naga Surendra ReddyCS25M025), Ravijyotisna Pachauri (CS25M040), Shivam (CS25M045), Shubham Kumar (CS25M046), Aditya Jain (CS22B065), Yashvardhan Toshniwal (CS22B088), Vikash Kumar Ojha (CS22B013),

Course Content

  • Basics of C++ programming.

  • Object-oriented design: Inheritance, polymorphism, templates, exceptions, STL.

  • C++ implementation of data structures and algorithms

Grading

  • Mid-term: 20%

  • Final exam: 24%

  • Assignments: 7% each (Best 8 out of 10)

Textbooks

  • Michael T. Goodrich, Roberto Tamassia, and David M. Mount. Data structures and algorithms in C++. John Wiley & Sons, 2011.

  • Scott Meyers, Effective C++: 55 specific ways to improve your programs and designs. Pearson Education, 2005.

Additional References

  • Robert Lafore. Object-oriented programming in C++. Pearson Education, 1997.

  • Mark A. Weiss, Data structures and algorithm analysis in C++. Pearson, 2014.

Schedule

Lecture number Topics Covered Section reference
Lecture 1 C++ basics Chapter 1 of [Goodrich et al.]
Lecture 2 Inheritance Section 2.2 of [Goodrich et al.]
Lecture 3 Polymorphism Section 2.2 of [Goodrich et al.]
Lecture 4 Operator overloading revisited, Templates Section 2.3, 5.1 of [Goodrich et al.]
Chapter 7 of [S. Meyers]
Lecture 5 Inheritance+scoping, Exceptions Chapters 6 and 7 of [S. Meyers]
Chapter 14 of [R. Lafore]
Lecture 6 Friends, Static members and Streams Chapter 12 and parts of Chapters 6,11 of [R. Lafore]
Lecture 7 STL Algorithms and Sequence Containers Chapter 15 of R. Lafore’s book
Parts of S. Meyers' ‘‘Effective STL''
Lecture 8 STL: Associative Containers, Function Objects Chapter 15 of R. Lafore’s book
Lecture 9 STL applications using maps Section 4.8 of M. Weiss’s book
Lecture 10 Skip Lists and Sequences using C++ Sections 9.4 and 6.3 of [Goodrich et al.]
Lecture 11 Dynamic Programming: Matrix chain and LCS Section 12.2 of [Goodrich et al.]
Lecture 12 Applied Dynamic Programming Chapter 1 of Bellman and Dreyfus's book