CS2810 OOAIA January 2025

Photo Courtesy: Shivanshu and Vedamanvith

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

    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
    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 22OO Case Study6%
    L15April 29Lab Exam20%