This comprehensive course is designed to prepare you for a successful career in Java programming and software development, with a strong focus on object-oriented programming (OOP) principles. By leveraging Java, one of the most popular and versatile programming languages, you will gain a solid foundation in both Java programming and object-oriented concepts.



Object Oriented Programming

Instructor: BITS Pilani Instructors Group
Access provided by BEI Center for Career Transformation
Recommended experience
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.
Skills you'll gain
Details to know

Add to your LinkedIn profile
143 assignments
November 2025
See how employees at top companies are mastering in-demand skills

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

Why people choose Coursera for their career





