CO# | CO Description |
---|---|
CO1 | Understand the static object-oriented programming concepts and thereby to understand a given program |
CO2 | Understand the dynamic object-oriented programming concepts and thereby to understand a given program |
CO3 | Implement ADT in static and dynamic object-oriented paradigm |
CO4 | Analyze the similarities, differences and code efficiency among object-oriented programming languages |
CO5 | Develop computer programs that implement suitable algorithms for given problem scenario and applications |
Unit # | Lecture No. | Topic | No. of Hours |
---|---|---|---|
1 | 1 | Overview of Object-Oriented Paradigm | |
1 | 2 | Programming in C++: Objects as a group of variables Classes as a named group of methods and data, morphing from structures to classes |
|
1 | 1 | Input and Output, Access Specifiers | |
1 | 2 | Member functions: Accessor, Mutator, and Auxiliary, Constructors and Destructors, New and Delete Operators |
|
1 | 3 | Overloading, Inheritance: Handling Access and Specialization through Overriding | |
1 | 3 | Polymorphism: Virtual Functions, Abstract Class, and Virtual Function Tables | |
2 | 2 | Revisiting Pointers: Pointers to Pointers, Pointers and String Array, Void Pointers | |
2 | 1 | Function Pointers | |
2 | 1 | Standard Template Library | |
2 | 3 | Implementation of Stack, Queue, Hash Table, and Linked Lists with STL. | |
2 | 2 | Basic Python: Multi-paradigm language, Data Types and Variables, Indentation, Input and Output statements |
|
2 | 2 | Lists and Strings, Deep and Shallow Copy, Tuples and Dictionaries, Set and Frozen Sets |
|
2 | 2 | Control Statements and Loops, Iterators, and Iterable | |
2 | 2 | Functions, Recursion and Parameter Passing, Namespaces and Variable Scope, Exception Handling |
|
3 | 2 | Object-Oriented Concepts in Python: Class, Instance Attributes, Getters, Setters | |
3 | 2 | Inheritance, Multiple Inheritance, Magic Methods, and Operator Overloading | |
3 | 2 | Class Creation, Slots, Meta Classes, and Abstract Classes | |
3 | 4 | Implementation of Stack, Queue, Hash Table, and Linked Lists |
Components | Marks |
---|---|
[Internal][CA-Theory] Quiz - 1 | 5 |
[Internal][CA-Lab] Lab Evaluation - 1 | 15 |
[Internal][CA-Theory] Quiz - 2 | 5 |
[Internal][CA-Lab] Lab Evaluation - 2 | 15 |
[Internal][CA-Lab] Lab Evaluation - 3 | 10 |
[Internal] Midterm | 20 |
[External] End-Semester Exam | 30 |
Course Start | 09 - Aug - 2023 |
---|---|
Quiz 1 | 27 - Sept - 2023 |
Lab Evaluation - 1 | 10 - Oct - 2023 |
Mid-Term Examination | 18 - Oct - 2023 |
Quiz 2 | 08 - Dec - 2023 |
Lab Evaluation - 2 | 12 - Dec - 2023 |
Lab Evaluation - 3 | 20 - Dec - 2023 |
End-Semester Exam | 08 - Jan - 2024 |
Publication of Results | 09 - Feb - 2024 |
- Text: Stroustrup B. Programming: Principles and Practice using C++. Second edition, Addison Wesley; 2014
- Text: Charles R. Severance. Python for Everybody: Exploring Data Using Python 3, Charles Severance; 2016.
- Reference: Guttag J. Introduction to Computation and Programming Using Python: With Application to Understanding Data. Second Edition.MIT Press; 2016.
- Reference: Gaddis T. Starting out with Python. Third Edition, Pearson; 2014.
- Reference: Lambert KA. Fundamentals of Python: first programs. Second Edition, Cengage Learning; 2018.
- Reference: Downey AB. Think Python: How to Think Like a Computer Scientist. O’Reilly Media; 2012.