ABOUT THE COURSE:This course provides a comprehensive introduction to Object-Oriented Programming (OOP) principles and their application in various programming languages like C++, Java, and Python. Students will learn to design and implement efficient, reusable, and maintainable code using OOP concepts. This foundational course is essential for anyone aiming to build a career in software development or IT.INTENDED AUDIENCE: Undergraduate/Graduate studentsPREREQUISITES: There are no strict educational qualifications required to enroll in this course. However, having a basic understanding of programming concepts will be beneficial. It is recommended that students have completed an introductory course in programming or have equivalent experience.INDUSTRY SUPPORT: This course is recognized by various companies in the software development and IT sectors. It provides foundational knowledge that is highly valued by employers, including: Tech companies, IT departments in various industries, Startups looking for proficient programmers
Overview
Syllabus
Week 1: Introduction to Object-Oriented Programming
- History and evolution
- Key concepts: classes, objects, inheritance, polymorphism
Week 2: Classes and Objects
- Defining classes
-Creating objects
- Constructors and destructors
Week 3: Inheritance
- Types of inheritance
- Implementing inheritance in C++ and Java
- Overriding methods
Week 4 :Polymorphism
- Static vs dynamic polymorphism
- Operator overloading
- Method overloading and overriding
Week 5: Encapsulation and Abstraction
- Data hiding
- Access specifiers
- Abstract classes and interfaces
Week 6: Exception Handling
- Types of exceptions
- Try-catch blocks
- Custom exceptions
Week 7: File Handling
- Reading and writing files
- Serialization and deserialization
Week 8: Templates and Generics
- Template functions and classes in C++
- Generics in Java and Python
Week 9: Standard Template Library (STL)
- Containers
- Iterators
- Algorithms
Week 10:Design Patterns
- Introduction to design patterns
- Common design patterns: Singleton, Factory, Observer
Week 11: Advanced Topics
- Multithreading and concurrency
- Network programming
- GUI development
Week 12: Project and Case Studies
- Building a small project using object-oriented concepts
- Case studies of real-world applications
- History and evolution
- Key concepts: classes, objects, inheritance, polymorphism
Week 2: Classes and Objects
- Defining classes
-Creating objects
- Constructors and destructors
Week 3: Inheritance
- Types of inheritance
- Implementing inheritance in C++ and Java
- Overriding methods
Week 4 :Polymorphism
- Static vs dynamic polymorphism
- Operator overloading
- Method overloading and overriding
Week 5: Encapsulation and Abstraction
- Data hiding
- Access specifiers
- Abstract classes and interfaces
Week 6: Exception Handling
- Types of exceptions
- Try-catch blocks
- Custom exceptions
Week 7: File Handling
- Reading and writing files
- Serialization and deserialization
Week 8: Templates and Generics
- Template functions and classes in C++
- Generics in Java and Python
Week 9: Standard Template Library (STL)
- Containers
- Iterators
- Algorithms
Week 10:Design Patterns
- Introduction to design patterns
- Common design patterns: Singleton, Factory, Observer
Week 11: Advanced Topics
- Multithreading and concurrency
- Network programming
- GUI development
Week 12: Project and Case Studies
- Building a small project using object-oriented concepts
- Case studies of real-world applications
Taught by
Prof. Balasubramanian Raman