X

Fundamentals of Object Oriented Programming

By Prof. Balasubramanian Raman   |   IIT Roorkee
Learners enrolled: 8593   |  Exam registration: 329
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 students

PREREQUISITES: 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
Summary
Course Status : Upcoming
Course Type : Core
Language for course content : English
Duration : 12 weeks
Category :
  • Computer Science and Engineering
  • Programming
Credit Points : 3
Level : Undergraduate/Postgraduate
Start Date : 20 Jan 2025
End Date : 11 Apr 2025
Enrollment Ends : 27 Jan 2025
Exam Registration Ends : 14 Feb 2025
Exam Date : 27 Apr 2025 IST

Note: This exam date is subject to change based on seat availability. You can check final exam date on your hall ticket.


Page Visits



Course layout

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

Books and references

The following will be used as a reference/text book for this course:
 1. Dietel H.M, Dietel P.J, "Java: How to Program", Prentice-Hall, 7th Edition, 2006.
 2. Flanagan D, "Java in a Nutshell", O'Reilly Media, Inc., 5th Edition. 2005.
 3. Eckel B, "Thinking in Java", Prentice-Hall. 1998.
 4. Gosling J, Joy B, Steele G., Bracha G., "The Java Language Specification", Prentice-Hall, 2nd Edition, 2000.
 5. Xavier C, "Java Programming - A Practical Approach", Tata McGraw-Hill, 2011.
 6. Bloch J., "Effective Java", Addison-Wesley, 3rd Edition, 2018

Instructor bio

Prof. Balasubramanian Raman

IIT Roorkee
Dr. Balasubramanian Raman received his Ph.D. from IIT Madras and his B.Sc. and M.Sc. in Mathematics from the University of Madras. He is a Chair Professor in the Department of Computer Science and Engineering and a Joint Faculty in the Mehta Family School of Data Science and Artificial Intelligence at IIT Roorkee. Since December 2018, he has been a Professor in the Department of Computer Science and Engineering at IIT Roorkee and has held the iHUB Divyasampark Chair Professor position since May 2022. With over 200 research papers published in reputed journals and conferences, his research interests span Machine Learning, Image and Video Processing, Computer Vision, and Pattern Recognition. Dr. Raman has served as a Guest Professor and Visiting Researcher at prestigious institutions such as Osaka Metropolitan University, Curtin University, and the University of Cyberjaya. He has held postdoctoral positions at Rutgers University and the University of Missouri-Columbia. Under his coaching, teams have achieved notable rankings in the ACM International Collegiate Programming Contest (ICPC) World Finals. He has been recognized with several awards, including the BOYSCAST Fellowship and the Ramkumar Prize for Outstanding Teaching and Research.

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: EXAM DATE : April 27, 2025 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

Please note that assignments encompass all types (including quizzes, programming tasks, and essay submissions) available in the specific week.

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Roorkee .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team


MHRD logo Swayam logo

DOWNLOAD APP

Goto google play store

FOLLOW US