Birla Institute of Technology & Science, Pilani
Object Oriented Programming

Saving $160 on access to 10,000+ programs is a holiday treat. Save now.

Birla Institute of Technology & Science, Pilani

Object Oriented Programming

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

3 months to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

3 months to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Apply the concepts of OOP including abstraction, encapsulation, inheritance, and polymorphism to implement efficient and modular Java applications.

  • Create robust and maintainable code through Java classes, objects, and constructors using access modifiers, variable types, and control structures.

  • Apply static, final, overloading, abstract classes, interfaces, and object parameters to extend and enhance the functionality of Java applications.

  • Explain the use of generics and how to handle exceptions, perform file input/output operations, and implement multithreading concepts.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

November 2025

Assessments

143 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 10 modules in this course

In this module, you will be introduced to the fundamentals of object-oriented programming (OOP) and the Java programming language. You will learn about the basic principles of OOP, such as objects, classes, abstraction, encapsulation, inheritance, and polymorphism. Additionally, you will explore the structure of a Java program, primitive types, variables, and control statements. By the end of this module, you will have a solid foundation in OOP and Java programming concepts.

What's included

14 videos18 readings14 assignments1 plugin

In this module, you will learn about defining classes, objects, and constructors in Java. You will explore access modifiers, object creation, constructors, instance fields and methods, the difference between class and instance variables, mutable and immutable objects, command-line arguments, and use the Scanner class to read input.

What's included

13 videos16 readings14 assignments2 ungraded labs1 plugin

In this module, you will explore the static and final keywords in Java, method and constructor overloading, working with objects as method parameters, and handling arrays. You will learn about static variables and methods, final variables and methods, various overloading techniques, and objects as parameters and return type methods, and implement one-dimensional and two-dimensional arrays using the Arrays class.

What's included

14 videos17 readings15 assignments1 ungraded lab

This module covers the essential concepts of inheritance, abstract classes, and interfaces in Java. You will learn about extending classes, method overriding, polymorphism, and the use of interfaces to implement multiple inheritance. The module also introduces nested, inner, and anonymous classes, as well as the comparable and comparator interfaces for comparing objects.

What's included

13 videos16 readings14 assignments1 ungraded lab1 plugin

In this module, you will explore the concept of generic programming in Java, which allows you to create classes and methods that work with different types of objects. You will learn about generic classes, interfaces, bounded types, and wildcards. Additionally, this module will introduce you to the Java Collections Framework, covering essential classes like ArrayList, LinkedList, Set, and Map. You will also learn about wrapper classes, autoboxing, and unboxing, which help you work with primitive types and objects seamlessly.

What's included

13 videos16 readings14 assignments1 ungraded lab

In this module, you will delve into the crucial aspect of Java programming, which is exception handling. Exception handling allows programmers to manage errors and unexpected situations that may arise during program execution. The module also covers file handling in Java, which enables reading and writing data to and from files. Key concepts covered in this module include exception types, try-catch blocks, finally block, throw and throws keywords, custom exceptions, and various file handling classes.

What's included

13 videos16 readings14 assignments3 ungraded labs1 plugin

In this module, you will dive deeper into file handling and explore the Java Object Model. This module covers advanced file handling concepts like buffered streams, appending to files, and manipulating file properties. You will also learn about Java’s type system, object casting, the Object class, cloning, serialization, and Java’s Reflection API.

What's included

14 videos17 readings15 assignments1 ungraded lab

This module focuses on the fundamental concepts of multithreading in Java, including the differences between multithreading and multitasking. It introduces the Thread class and the Runnable interface for creating and managing threads. Students will learn about thread states, life cycles, priorities, daemon threads, and synchronization. The module also covers the prevention and handling of deadlocks and methods for inter-thread communication.

What's included

14 videos17 readings15 assignments1 ungraded lab

This module explores various best practices, additional concepts, and advanced techniques for Java programming. The key concepts covered in this module include coding standards, code review, refactoring, debugging, unit testing, memory management, garbage collection, common libraries and frameworks, JavaFX, networking, performance optimization, monitoring, and security best practices.

What's included

13 videos15 readings14 assignments1 plugin

In this final module, we will recap the key concepts covered throughout the course and explore various real-world applications of Java and object-oriented programming (OOP). You will learn about the different domains where Java is widely used, such as web development, mobile app development, desktop applications, big data, machine learning, enterprise applications, and the Internet of Things (IoT). Additionally, we will discuss the importance of continuous learning, staying updated in Java and OOP, advanced Java topics, and resources to help you pursue a career in Java development.

What's included

14 videos14 readings14 assignments1 plugin

Instructor

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
30 Courses41,095 learners

Offered by

Explore more from Software Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions