Offered:
Pre-requisite: CSE110
This course would be an introduction to data structures, formal specification, and syntax of Object Oriented Programming (OOP), elements of language theory, and mathematical preliminaries. Other topics that would be covered are formal languages, structured programming concepts, and a survey of the features of existing high-level languages. Students would design and write applications using an appropriate language. The course includes a compulsory 3-hour laboratory work each week.
- Contrast between Procedural Programming and Object-Oriented Programming(OOP) and demonstrate the way OOP divides complex problems into smaller parts encouraging modular development.
- Introduce the students to the fundamental concepts of Object-Oriented Programming Language like classes, objects, and their properties, and apply them to model real-world applications.
- Enlighten the students about the differences between different types of access modifiers and their importance in encapsulation.
- Explain the rudimentary principles of inheritance and polymorphism and how they can be applied to minimize the complexity of an object-oriented program through code reusability and make it scalable.
- Familiarize the students with the concept of abstract classes, abstract methods, and their application in setting standards for other classes inheriting them.
1. Python Crash Course: A Hands-On Project-Based Introduction to Programming, Eric Matthes, 2019, 2nd, No Starch Press, ISBN-13: 9781593279288
2. Introduction to Computation and Programming Using Python, John V. Guttag, 2016, 2nd, The MIT Press, ISBN-13 : 978-0262529624
Text and Reference Books, Lab usage manual, Programming IDE (Jupyter Notebook, Google Colab, Spider)
# | Description | Weight | Edit |
---|---|---|---|
CO1 |
Understand the fundamental entities of Object-Oriented Programming(OOP), including the concepts of class, object, constructor, instance variables, and methods, and how they are used to model real-world entities and their behaviors. |
25 |
|
CO2 |
Infer outputs from the logical sequence of a program consisting of a combination of OOP attributes and methods satisfying the fundamental concepts of procedural programming. |
15 |
|
CO3 |
Apply access modifiers such as private, public, and protected to control the visibility of instance properties and use class-level variables and methods, to demonstrate their importance in ensuring data encapsulation, information hiding, and memory management. |
30 |
Week | Lecture | CO Map |
---|---|---|
Week 1 |
Fundamentals of collection |
N/A |
Week 2 |
Functions and file I/O |
N/A |
Week 3 |
Class, object, constructor, instance variables and methods |
CO1 |