CS2810 OOAIA January 2025

Photo Courtesy: Shivanshu and Vedamanvith

  • Moodle
  • Lecture Videos
  • Practice Problems (courtesy: Karan Agrawal, Parthiv Gondaliya)

    Slides [as google slides]
    1. OO Motivation
    2. Classes and Objects
    3. Polymorphism
    4. Inheritance
    5. Functors
    6. Templates
    7. Streams
    8. STL
    9. Exceptions
    10. Type Traits
    11. RTTI

    TCF:
  • Course: 0.84 (institute mean: 0.8)
  • Instructor: 0.86 (institute mean: 0.81)
  • Technical Staff: 0.82 (institute mean: 0.82)
  • Full Report
  • Evaluation pattern:
    Lab assignments 60% + in-lab exams 40%
    Lab assignments = Best 10 out of 11
    In-lab exams = 2

    Q slot [Tuesdays at 14:00 in SSB 134 and DCF]
    TAs: Pritam De, Debasmita Mandal, Nallagatla Rohith Kumar Reddy, Neel Rayal, Debendra Kumar Pal, Omkar Prakash Mande, Rishabh Singh Gaharwar , Gokulakrishnan R, Manglesh Patidar, Santhi Raj Kumar Seelam, Y Bhargav Ganesh, Chahel Singh, Parthiv Gondaliya, Karan Agrawal
    Instructor: Rupesh Nasre.

    Schedule
    LabDateObjectiveMarksRemarks
    L1January 21OO Motivation0%
  • hello.c, hello.cpp, hello.java
  • L2January 28Classes, Objects6%
  • constructor, destructor
  • default argument constructor
  • public, protected, private
  • L3February 4Polymorphism6%
  • function overloading
  • operator overloading: one, two, three
  • overloading binary operator
  • overloading commutative plus
  • overloading unary
  • L4February 11Polymorphism (Operator Overloading)6%
  • overloading <<, >>
  • overloading cout with friend
  • overloading subscript
  • overloading ->
  • overloading new/delete
  • L5February 18Inheritance + Numbers0%
  • Base and derived classes
  • Multiple Inheritance
  • Inheritance and Access
  • Diamond Inheritance
  • Virtual Methods
  • Virtual Destructor
  • Virtual: Two levels
  • L6February 25Functors + Sorting + More on Numbers6%
  • with Aggregates
  • Function with Arrays
  • Functor with Arrays
  • Parameterized Functor
  • Multiple ways to print
  • L7March 4STL + Matrices + Divide-and-Conquer6%
  • vector, array
  • list, forward_list
  • stack, queue, deque, priority_queue
  • set, multiset
  • map, multimap
  • L8March 11Lab Exam20%
    L9March 18Topological Sort + SCC6%
  • Basic Templates
  • Methods outside class: Erroneous, Correct
  • Group Implementation
  • Multiple Arguments
  • L10March 25Templates and Polynomials6%
  • Basic cin, cout
  • Ignoring input
  • Issue with integers and strings
  • File reading: Wrong, Correct
  • getline
  • cp
  • Formatted output: Wrong, Correct
  • L11April 1Greedy + Graphs6%
  • try-catch
  • Catching Exception from Caller
  • Multiple / Nested try-catch
  • Uncaught exceptions
  • throw
  • User-Defined Exception
  • Cascaded catch
  • L12April 8Dynamic Programming Greedy + OO6%
  • Basic Type Traits: is_integral
  • is_base_of
  • Error due to type
  • Custom Typetraits: is_swappable
  • Static Assertion
  • Rank
  • is_same
  • Custom Typetraits: Algorithm Selection
  • Custom Typetraits: Linear versus Binary Search
  • L13April 15Dynamic Programming + OO6%Run-Time Type Information
    L14April 22Dynamic Programming + OO6%OO Case Study
    L15April 29Lab Exam20%