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

Object Oriented Programming

Instructor: BITS Pilani Instructors Group
Access provided by Mapua University
Recommended experience
Recommended experience
Intermediate level
Basic understanding of programming concepts, such as variables, data types, control structures, and logic.
Recommended experience
Recommended experience
Intermediate level
Basic understanding of programming concepts, such as variables, data types, control structures, and logic.
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
Tools you'll learn
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 assignments
14 videos• Total 101 minutes
- Course Introduction• 3 minutes
- Object-Oriented Programming Introduction• 6 minutes
- Object and Class Basics• 7 minutes
- Abstraction in OOP• 10 minutes
- Encapsulation in OOP• 8 minutes
- Inheritance in OOP• 7 minutes
- Polymorphism in OOP• 7 minutes
- Java Program Structure• 7 minutes
- Java Primitive Types• 10 minutes
- Java Variables and Scope• 6 minutes
- Type Promotion and Type Casting• 9 minutes
- Basic Operators in Java• 9 minutes
- Control Statements in Java• 13 minutes
- Module Wrap-Up - Introduction to Object-Oriented Programming and Java Basics • 2 minutes
18 readings• Total 300 minutes
- Course Overview• 10 minutes
- Course Structure & Critical Information• 10 minutes
- Recommended Reading: Object-Oriented Programming Introduction • 20 minutes
- Recommended Reading: Object and Class Basics • 20 minutes
- Recommended Reading: Abstraction in OOP • 20 minutes
- Recommended Reading: Encapsulation in OOP• 20 minutes
- Introduction to Concepts of OOPS• 10 minutes
- Recommended Reading: Inheritance in OOP• 20 minutes
- Recommended Reading: Polymorphism in OOP• 20 minutes
- Inheritance and Polymorphism in OOP• 10 minutes
- Recommended Reading: Java Program Structure• 20 minutes
- Recommended Reading: Java Primitive Types• 20 minutes
- Recommended Reading: Variables and Scope• 20 minutes
- Recommended Reading: Type Promotion and Type Casting• 20 minutes
- Java Programming Basics• 10 minutes
- Recommended Reading: Basic Operators in Java• 20 minutes
- Recommended Reading: Control Statements in Java• 20 minutes
- Operators and Control Statements in Java• 10 minutes
14 assignments• Total 201 minutes
- Practice Quiz: Object-Oriented Programming Introduction • 12 minutes
- Practice Quiz: Object and Class Basics• 12 minutes
- Practice Quiz: Abstraction in OOP• 12 minutes
- Practice Quiz: Encapsulation in OOP• 12 minutes
- Practice Quiz: Inheritance in OOP• 12 minutes
- Practice Quiz: Polymorphism in OOP• 15 minutes
- Practice Quiz: Java Program Structure• 18 minutes
- Practice Quiz: Java Primitive Types• 18 minutes
- Practice Quiz: Java Variables and Scope• 9 minutes
- Practice Quiz: Type Conversion and Casting• 9 minutes
- Practice Quiz: Basic Operators in Java• 6 minutes
- Practice Quiz: Control Statements in Java• 6 minutes
- Let's Practice: Introduction to Object-Oriented Programming and Java Basics• 30 minutes
- Test Yourself: Introduction to Object-Oriented Programming and Java Basics• 30 minutes
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 labs
13 videos• Total 80 minutes
- Defining Classes in Java• 8 minutes
- Access Modifiers and Visibility• 9 minutes
- Creating Objects in Java• 6 minutes
- Constructors and Object Initialization• 6 minutes
- Default Constructors• 5 minutes
- Parameterized Constructors• 8 minutes
- Accessing Instance Fields and Methods• 5 minutes
- Class vs. Instance Variables• 5 minutes
- Mutable vs. Immutable Objects• 6 minutes
- Command-Line Arguments• 8 minutes
- Scanner Class Basics• 7 minutes
- Reading Input Using Scanner Class• 7 minutes
- Module Wrap-Up - Defining Classes, Objects, and Constructors• 1 minute
16 readings• Total 280 minutes
- Recommended Reading: Defining Classes in Java• 20 minutes
- Recommended Reading: Access Modifiers and Visibility• 20 minutes
- Recommended Reading: Creating Objects in Java• 20 minutes
- Recommended Reading: Constructors and Object Initialization• 20 minutes
- Recommended Reading: Default Constructors• 20 minutes
- Recommended Reading: Parameterized Constructors• 20 minutes
- Java Classes and Objects • 10 minutes
- Recommended Reading: Accessing Instance Fields and Methods• 20 minutes
- Recommended Reading: Class vs. Instance Variables• 20 minutes
- Recommended Reading: Mutable vs. Immutable Objects• 20 minutes
- Instance Fields, Methods, and Variables• 10 minutes
- Recommended Reading: Command-Line Arguments• 20 minutes
- Recommended Reading: Scanner Class Basics• 20 minutes
- Recommended Reading: Reading Input Using Scanner Class• 20 minutes
- User Input and Command-Line Arguments• 10 minutes
- Solutions: Practice Lab• 10 minutes
14 assignments• Total 249 minutes
- Practice Quiz: Defining Classes in Java• 12 minutes
- Practice Quiz: Access Modifiers and Visibility • 15 minutes
- Practice Quiz :Creating Objects in Java • 15 minutes
- Practice Quiz: Constructors and Object Initialization • 18 minutes
- Practice Quiz :Default Constructors • 15 minutes
- Practice Quiz: Parameterized Constructors • 15 minutes
- Practice Quiz: Accessing Instance Fields and Methods• 18 minutes
- Practice Quiz :Class vs. Instance Variables • 15 minutes
- Practice Quiz: Mutable vs. Immutable Objects • 18 minutes
- Practice Quiz :Command-Line Arguments • 15 minutes
- Practice Quiz Scanner Class Basics• 15 minutes
- Practice Quiz Reading Input Using Scanner Class• 18 minutes
- Let's Practice: Defining Classes, Objects, and Constructors• 30 minutes
- Test Yourself: Defining Classes, Objects, and Constructors• 30 minutes
2 ungraded labs• Total 120 minutes
- Practice Lab: Java Classes and Objects• 60 minutes
- Upskill Lab: Week 1 & 2 Wrap-up• 60 minutes
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
14 videos• Total 81 minutes
- Static Keyword in Java• 5 minutes
- Static Variables and Methods• 7 minutes
- Final Keyword in Java• 4 minutes
- Final Variables and Methods• 6 minutes
- Method Overloading Basics• 4 minutes
- Method Overloading with Different Parameter Types• 6 minutes
- Constructor Overloading• 8 minutes
- Objects as Method Parameters• 8 minutes
- Returning Objects from Methods• 7 minutes
- Introduction to Arrays in Java• 7 minutes
- Implementing 1-D Arrays• 6 minutes
- Implementing 2-D Arrays• 5 minutes
- Arrays Class and Its Methods• 6 minutes
- Module Wrap-Up - Static, Final, Overloading, and Object Parameters • 2 minutes
17 readings• Total 300 minutes
- Recommended Reading: Static Keyword in Java• 20 minutes
- Recommended Reading: Static Variables and Methods• 20 minutes
- Recommended Reading: Final Keyword in Java• 20 minutes
- Recommended Reading: Final Variables and Methods• 20 minutes
- Recommended Reading: Method Overloading Basics• 20 minutes
- Recommended Reading: Method Overloading with Different Parameter Types• 20 minutes
- Recommended Reading: Constructor Overloading• 20 minutes
- Static, Final, and Overloading in Java• 10 minutes
- Recommended Reading: Objects as Method Parameters• 20 minutes
- Recommended Reading: Returning Objects from Methods• 20 minutes
- Objects as Parameters and Return Types• 10 minutes
- Recommended Reading: Introduction to Arrays in Java• 20 minutes
- Recommended Reading: Implementing 1-D Arrays• 20 minutes
- Recommended Reading: Implementing 2-D Arrays• 20 minutes
- Recommended Reading: Arrays Class and Its Methods• 20 minutes
- Arrays in Java• 10 minutes
- Solutions: Practice Lab• 10 minutes
15 assignments• Total 255 minutes
- Practice Quiz : Static Keyword in Java• 15 minutes
- Practice Quiz :Static Variables and Methods • 15 minutes
- Practice Quiz : Final Keyword in Java• 15 minutes
- Practice Quiz :Final Variables and Methods• 15 minutes
- Practice Quiz :Method Overloading Basics • 15 minutes
- Practice Quiz : Method Overloading with Different Parameter Types• 15 minutes
- Practice Quiz : Constructor Overloading• 15 minutes
- Practice Quiz : Objects as Method Parameters• 15 minutes
- Practice Quiz : Returning Objects from Methods• 15 minutes
- Practice Quiz : Introduction to Arrays in Java• 15 minutes
- Practice Quiz : Implementing 1-D Arrays• 15 minutes
- Practice Quiz : Implementing 2-D Arrays• 15 minutes
- Practice Quiz : Arrays Class and Its Methods• 15 minutes
- Let's Practice: Static, Final, Overloading, and Object Parameters • 30 minutes
- Test Yourself: Static, Final, Overloading, and Object Parameters • 30 minutes
1 ungraded lab• Total 60 minutes
- Practice Lab: Static and Final Keywords in Java • 60 minutes
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 lab
13 videos• Total 75 minutes
- Inheritance Basics• 8 minutes
- Extending Classes in Java• 6 minutes
- Super Keyword in Java• 5 minutes
- Method Overriding and Polymorphism• 7 minutes
- Super vs. Sub-Type Relationships in Java• 6 minutes
- Abstract Classes Introduction• 5 minutes
- Abstract Methods in Java• 4 minutes
- Abstract Methods in Java• 6 minutes
- Implementing Interfaces• 5 minutes
- Comparable and Comparator Interfaces• 7 minutes
- Nested and Inner Classes• 6 minutes
- Anonymous Classes and Objects• 6 minutes
- Module Wrap-Up - Inheritance, Abstract Classes, and Interfaces• 4 minutes
16 readings• Total 280 minutes
- Recommended Reading: Inheritance Basics• 20 minutes
- Recommended Reading: Extending Classes in Java• 20 minutes
- Recommended Reading: Super Keyword in Java• 20 minutes
- Recommended Reading: Method Overriding and Polymorphism• 20 minutes
- Recommended Reading: Super vs. Sub-Type Relationships in Java• 20 minutes
- Recommended Reading: Abstract Classes Introduction• 20 minutes
- Inheritance and Polymorphism• 10 minutes
- Recommended Reading: Abstract Methods in Java• 20 minutes
- Recommended Reading: Interfaces in Java• 20 minutes
- Recommended Reading: Implementing Interfaces• 20 minutes
- Recommended Reading: Comparable and Comparator Interfaces• 20 minutes
- Abstract Classes, Interfaces, and Comparators• 10 minutes
- Recommended Reading: Nested and Inner Classes• 20 minutes
- Recommended Reading: Anonymous Classes and Objects• 20 minutes
- Nested, Inner, and Anonymous Classes• 10 minutes
- Solutions: Practice Lab• 10 minutes
14 assignments• Total 234 minutes
- Practice Quiz : Inheritance Basics• 6 minutes
- Practice Quiz : Extending Classes in Java• 15 minutes
- Practice Quiz : Super Keyword in Java• 12 minutes
- Practice Quiz : Method Overriding and Polymorphism• 15 minutes
- Practice Quiz: Super vs. Sub-Type Relationships in Java• 15 minutes
- Practice Quiz: Abstract Classes Introduction• 18 minutes
- Practice Quiz: Abstract Methods in Java• 15 minutes
- Practice Quiz : Interfaces in Java• 18 minutes
- Practice Quiz : Implementing Interfaces• 15 minutes
- Practice Quiz : Comparable and Comparator Interfaces• 15 minutes
- Practice Quiz: Nested and Inner Classes• 15 minutes
- Practice Quiz : Anonymous Classes and Objects• 15 minutes
- Let's Practice: Inheritance, Abstract Classes, and Interfaces• 30 minutes
- Test Yourself: Inheritance, Abstract Classes, and Interfaces• 30 minutes
1 ungraded lab• Total 60 minutes
- Practice Lab: Inheritance, Abstract Classes, and Interfaces• 60 minutes
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
13 videos• Total 87 minutes
- Introduction to Generic Programming• 6 minutes
- Generic Classes in Java• 7 minutes
- Generic Interfaces in Java• 6 minutes
- Bounded Types• 4 minutes
- Wildcards in Generics• 6 minutes
- Collections Framework Introduction• 6 minutes
- ArrayList Class and Methods• 8 minutes
- LinkedList Class and Methods• 8 minutes
- Iterators and ListIterators• 9 minutes
- Wrapper Classes in Java• 8 minutes
- Set Interface and Implementations• 9 minutes
- Map Interface and HashMap Class• 7 minutes
- Module Wrap-up - Generic Programming and Collections Framework • 4 minutes
16 readings• Total 280 minutes
- Recommended Reading: Introduction to Generic Programming• 20 minutes
- Recommended Reading: Generic Classes in Java• 20 minutes
- Recommended Reading: Generic Interfaces in Java• 20 minutes
- Recommended Reading: Bounded Types• 20 minutes
- Recommended Reading: Wildcards in Generics• 20 minutes
- Generic Programming in Java• 10 minutes
- Recommended Reading: Collections Framework Introduction• 20 minutes
- Recommended Reading: ArrayList Class and Methods• 20 minutes
- Recommended Reading: LinkedList Class and Methods• 20 minutes
- Recommended Reading: Iterators and ListIterators• 20 minutes
- Introduction to Collections Framework and Lists• 10 minutes
- Recommended Reading: Wrapper Classes in Java• 20 minutes
- Recommended Reading: Set Interface and Implementations• 20 minutes
- Recommended Reading: Map Interface and HashMap Class• 20 minutes
- Wrapper Classes, Sets, and Maps• 10 minutes
- Solutions: Practice Lab• 10 minutes
14 assignments• Total 255 minutes
- Practice Quiz: Introduction to Generic Programming• 18 minutes
- Practice Quiz: Generic Classes in Java• 15 minutes
- Practice Quiz: Generic Interfaces in Java• 15 minutes
- Practice Quiz: Bounded Types• 15 minutes
- Practice Quiz: Wildcards in Generics• 18 minutes
- Practice Quiz Collections Framework Introduction• 21 minutes
- Practice Quiz: ArrayList Class and Methods• 15 minutes
- Practice Quiz: LinkedList Class and Methods• 15 minutes
- Practice Quiz: Iterators and ListIterators• 15 minutes
- Practice Quiz: Wrapper Classes in Java• 18 minutes
- Practice Quiz: Set Interface and Implementations• 15 minutes
- Practice Quiz: Map Interface and HashMap Class• 15 minutes
- Let's Practice: Generic Programming and Collections Framework• 30 minutes
- Test Yourself: Generic Programming and Collections Framework• 30 minutes
1 ungraded lab• Total 60 minutes
- Practice Lab: Collections Framework• 60 minutes
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 labs
13 videos• Total 78 minutes
- Introduction to Exception Handling• 5 minutes
- Types of Exceptions in Java• 6 minutes
- Try and Catch Blocks• 5 minutes
- Multiple Catch Blocks• 7 minutes
- Finally Block• 7 minutes
- Throw and Throws Keywords• 6 minutes
- Creating Custom Exceptions• 6 minutes
- File Handling Basics• 6 minutes
- File Class in Java• 7 minutes
- FileReader and FileWriter• 6 minutes
- BufferedReader and BufferedWriter• 7 minutes
- FileInputStream and FileOutputStream• 6 minutes
- Module Wrap-Up: Exception Handling in Java• 4 minutes
16 readings• Total 280 minutes
- Recommended Reading: Introduction to Exception Handling• 20 minutes
- Recommended Reading: Types of Exceptions in Java • 20 minutes
- Recommended Reading: Try and Catch Blocks• 20 minutes
- Recommended Reading: Multiple Catch Blocks• 20 minutes
- Recommended Reading: Finally Block• 20 minutes
- Recommended Reading: Throw and Throws Keywords• 20 minutes
- Fundamentals of Exception Handling• 10 minutes
- Recommended Reading: Creating Custom Exceptions• 20 minutes
- Recommended Reading: File Handling Basics• 20 minutes
- Recommended Reading: File Class in Java• 20 minutes
- Custom Exceptions and File Handling Basics: • 10 minutes
- Recommended Reading: FileReader and FileWriter• 20 minutes
- Recommended Reading: BufferedReader and BufferedWriter• 20 minutes
- Recommended Reading: FileInputStream and FileOutputStream• 20 minutes
- Advanced File Handling Techniques• 10 minutes
- Solutions: Practice Lab• 10 minutes
14 assignments• Total 255 minutes
- Practice Quiz: Introduction to Exception Handling• 18 minutes
- Practice Quiz : Types of Exceptions in Java • 15 minutes
- Practice Quiz: Try and Catch Blocks• 15 minutes
- Practice Quiz: Multiple Catch Blocks• 15 minutes
- Practice Quiz : Finally Block• 18 minutes
- Practice Quiz: Throw and Throws Keywords• 15 minutes
- Practice Quiz: Creating Custom Exceptions• 18 minutes
- Practice Quiz: File Handling Basics• 15 minutes
- Practice Quiz: File Class in Java• 15 minutes
- Practice Quiz: FileReader and FileWriter• 18 minutes
- Practice Quiz: BufferedReader and BufferedWriter• 15 minutes
- Practice Quiz: FileInputStream and FileOutputStream• 18 minutes
- Let's Practice: Exception Handling in Java• 30 minutes
- Test Yourself: Exception Handling in Java• 30 minutes
3 ungraded labs• Total 180 minutes
- Practice Lab: Exception Handling• 60 minutes
- Upskill Lab: Exception Handling• 60 minutes
- Practice Lab: Advanced File Handling• 60 minutes
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
14 videos• Total 84 minutes
- BufferedInputStream and BufferedOutputStream• 7 minutes
- Reading and Writing with Streams• 8 minutes
- Appending to Files• 7 minutes
- Deleting and Renaming Files• 5 minutes
- Practicing File Handling• 7 minutes
- Java Object Model Overview• 5 minutes
- Java Type System• 5 minutes
- Type Inquiry and Casting• 6 minutes
- Object Class and Its Methods• 7 minutes
- Shallow and Deep Copy in Java• 6 minutes
- Serialization and Deserialization• 8 minutes
- Reflection API in Java• 5 minutes
- Dynamic Class Loading• 5 minutes
- Module Wrap-up - Advanced File Handling and Object Model• 3 minutes
17 readings• Total 300 minutes
- Recommended Reading: BufferedInputStream and BufferedOutputStream• 20 minutes
- Recommended Reading: Reading and Writing with Streams• 20 minutes
- Recommended Reading: Appending to Files• 20 minutes
- Recommended Reading: Deleting and Renaming Files• 20 minutes
- Recommended Reading: Practicing File Handling• 20 minutes
- Advanced File Handling• 10 minutes
- Recommended Reading: Java Object Model Overview• 20 minutes
- Recommended Reading: Java Type System• 20 minutes
- Recommended Reading: Type Inquiry and Casting• 20 minutes
- Recommended Reading: Object Class and Its Methods• 20 minutes
- Recommended Reading: Shallow and Deep Copy in Java• 20 minutes
- Java Object Model and Cloning• 10 minutes
- Recommended Reading: Serialization and Deserialization• 20 minutes
- Recommended Reading: Reflection API in Java• 20 minutes
- Recommended Reading: Dynamic Class Loading• 20 minutes
- Serialization, Deserialization, and Reflection• 10 minutes
- Solutions: Practice Lab• 10 minutes
15 assignments• Total 270 minutes
- Practice Quiz: BufferedInputStream and BufferedOutputStream• 15 minutes
- Practice Quiz: Reading and Writing with Streams• 15 minutes
- Practice Quiz: Appending to Files• 15 minutes
- Practice Quiz: Deleting and Renaming Files• 15 minutes
- Practice Quiz: Practicing File Handling• 21 minutes
- Practice Quiz: Java Object Model Overview• 18 minutes
- Practice Quiz: Java Type System• 15 minutes
- Practice Quiz: Type Inquiry and Casting• 15 minutes
- Practice Quiz: Object Class and Its Methods• 15 minutes
- Practice Quiz: Shallow and Deep Copy in Java• 15 minutes
- Practice Quiz: Serialization and Deserialization• 15 minutes
- Practice Quiz: Reflection API in Java• 18 minutes
- Practice Quiz: Dynamic Class Loading• 18 minutes
- Let's Practice: Advanced File Handling and Object Model • 30 minutes
- Test Yourself: Advanced File Handling and Object Model • 30 minutes
1 ungraded lab• Total 60 minutes
- Ungraded Lab• 60 minutes
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
14 videos• Total 78 minutes
- Introduction to Multithreading• 5 minutes
- Multithreading vs. Multitasking• 6 minutes
- Thread Class in Java• 7 minutes
- Creating Threads with Thread Class• 7 minutes
- Runnable Interface• 6 minutes
- Creating Threads with Runnable Interface• 5 minutes
- Thread States and Life Cycle• 8 minutes
- Thread Priority and Daemon Threads• 5 minutes
- Thread Synchronization• 6 minutes
- Synchronized Methods and Blocks• 5 minutes
- Deadlocks in Java• 6 minutes
- Inter-Thread Communication• 5 minutes
- Practicing Inter-Thread Communication• 4 minutes
- Module Wrap-Up Video - Multithreading Basics and Thread Class• 3 minutes
17 readings• Total 300 minutes
- Recommended Reading: Introduction to Multithreading• 20 minutes
- Recommended Reading: Multithreading vs. Multitasking• 20 minutes
- Recommended Reading: Thread Class in Java• 20 minutes
- Recommended Reading: Creating Threads with Thread Class• 20 minutes
- Recommended Reading: Runnable Interface• 20 minutes
- Recommended Reading: Creating Threads with Runnable Interface• 20 minutes
- Introduction to Multithreading and Thread Creation• 10 minutes
- Recommended Reading: Thread States and Life Cycle• 20 minutes
- Recommended Reading: Thread Priority and Daemon Threads• 20 minutes
- Thread States, Life Cycle, and Priorities• 10 minutes
- Recommended Reading: Thread Synchronization• 20 minutes
- Recommended Reading: Synchronized Methods and Blocks• 20 minutes
- Recommended Reading: Deadlocks in Java• 20 minutes
- Recommended Reading: Inter-Thread Communication• 20 minutes
- Recommended Reading: Practicing Inter-Thread Communication• 20 minutes
- Thread Synchronization, Deadlocks, and Communication.• 10 minutes
- Solutions: Practice Lab• 10 minutes
15 assignments• Total 267 minutes
- Practice Quiz: Introduction to Multithreading• 15 minutes
- Practice Quiz: Multithreading vs. Multitasking• 15 minutes
- Practice Quiz: Thread Class in Java• 15 minutes
- Practice Quiz: Creating Threads with Thread Class• 12 minutes
- Practice Quiz: Runnable Interface• 15 minutes
- Practice Quiz: Creating Threads with Runnable Interface• 15 minutes
- Practice Quiz: Thread States and Life Cycle• 24 minutes
- Practice Quiz: Thread Priority and Daemon Threads• 15 minutes
- Practice Quiz: Thread Synchronization• 18 minutes
- Practice Quiz: Synchronized Methods and Blocks• 15 minutes
- Practice Quiz: Deadlocks in Java• 15 minutes
- Practice Quiz: Inter-Thread Communication• 18 minutes
- Practice Quiz: Practicing Inter-Thread Communication• 15 minutes
- Let's Practice: Multithreading Basics and Thread Class• 30 minutes
- Test Yourself: Multithreading Basics and Thread Class• 30 minutes
1 ungraded lab• Total 60 minutes
- Practice Lab: Multithreading• 60 minutes
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 assignments
13 videos• Total 88 minutes
- Java Coding Standards• 8 minutes
- Code Review and Refactoring• 8 minutes
- Debugging Techniques in Java• 7 minutes
- Unit Testing in Java• 9 minutes
- Java Memory Management• 8 minutes
- Garbage Collection in Java• 6 minutes
- Common Java Libraries and Frameworks • 6 minutes
- Introduction to JavaFX• 5 minutes
- Java Networking Basics• 8 minutes
- Java Performance Optimization• 6 minutes
- Monitoring Java Applications• 7 minutes
- Java Security Best Practices• 7 minutes
- Module Wrap-Up - Java Best Practices and Additional Concepts• 2 minutes
15 readings• Total 270 minutes
- Java Coding Standards• 20 minutes
- Recommended Reading: Code Review and Refactoring• 20 minutes
- Recommended Reading: Debugging Techniques in Java• 20 minutes
- Recommended Reading: Unit Testing in Java• 20 minutes
- Recommended Reading: Java Memory Management• 20 minutes
- Recommended Reading: Garbage Collection in Java• 20 minutes
- Java Best Practices and Techniques• 10 minutes
- Recommended Reading: Common Java Libraries and Frameworks • 20 minutes
- Recommended Reading: Introduction to JavaFX• 20 minutes
- Recommended Reading: Java Networking Basics• 20 minutes
- Recommended Reading: Java Performance Optimization• 20 minutes
- Java Libraries, Frameworks, and Additional Concepts• 10 minutes
- Recommended Reading: Monitoring Java Applications• 20 minutes
- Recommended Reading: Java Security Best Practices• 20 minutes
- Monitoring and Security Best Practices• 10 minutes
14 assignments• Total 255 minutes
- Practice Quiz: Java Coding Standards• 15 minutes
- Practice Quiz: Code Review and Refactoring• 15 minutes
- Practice Quiz: Debugging Techniques in Java• 15 minutes
- Practice Quiz: Unit Testing in Java• 15 minutes
- Practice Quiz: Java Memory Management• 15 minutes
- Practice Quiz: Garbage Collection in Java• 15 minutes
- Practice Quiz: Common Java Libraries and Frameworks • 15 minutes
- Practice Quiz: Introduction to JavaFX• 15 minutes
- Practice Quiz: Java Networking Basics• 18 minutes
- Practice Quiz: Java Performance Optimization• 18 minutes
- Practice Quiz: Monitoring Java Applications• 15 minutes
- Practice Quiz: Java Security Best Practices• 24 minutes
- Let's Practice: Java Best Practices and Additional Concepts• 30 minutes
- Test Yourself: Java Best Practices and Additional Concepts• 30 minutes
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 assignments
14 videos• Total 113 minutes
- Recap of Key Concepts in OOP and Java• 8 minutes
- Real-World Applications of Java and OOP• 7 minutes
- Java in Web Development• 7 minutes
- Java in Mobile App Development• 10 minutes
- Java in Desktop Applications• 9 minutes
- Java in Big Data and Machine Learning• 11 minutes
- Java in Enterprise Applications• 12 minutes
- Java in Internet of Things (IoT)• 10 minutes
- Importance of Continuous Learning• 8 minutes
- Staying Updated in Java and OOP• 11 minutes
- Advanced Java Topics and Resources• 8 minutes
- Pursuing a Career in Java Development• 6 minutes
- Module Wrap-Up: Course Recap and Real-World Applications• 2 minutes
- Course Wrap-Up• 3 minutes
14 readings• Total 260 minutes
- Recommended Reading: Recap of Key Concepts in OOP and Java• 20 minutes
- Recommended Reading: Real-World Applications of Java and OOP• 20 minutes
- Recommended Reading: Java in Web Development• 20 minutes
- Recommended Reading: Java in Mobile App Development• 20 minutes
- Recommended Reading: Java in Desktop Applications• 20 minutes
- Recommended Reading: Java in Big Data and Machine Learning• 20 minutes
- Recommended Reading: Java in Enterprise Applications• 20 minutes
- Recommended Reading: Java in Internet of Things (IoT)• 20 minutes
- Course Recap and Java Applications• 10 minutes
- Recommended Reading: Importance of Continuous Learning• 20 minutes
- Recommended Reading: Staying Updated in Java and OOP• 20 minutes
- Recommended Reading: Advanced Java Topics and Resources• 20 minutes
- Recommended Reading: Pursuing a Career in Java Development• 20 minutes
- Course Summary• 10 minutes
14 assignments• Total 237 minutes
- Practice Quiz: Recap of Key Concepts in OOP and Java• 15 minutes
- Practice Quiz: Real-World Applications of Java and OOP• 15 minutes
- Practice Quiz: Java in Web Development• 12 minutes
- Practice Quiz: Java in Mobile App Development• 15 minutes
- Practice Quiz: Java in Desktop Applications• 15 minutes
- Practice Quiz: Java in Big Data and Machine Learning• 15 minutes
- Practice Quiz: Java in Enterprise Applications• 15 minutes
- Practice Quiz: Java in Internet of Things (IoT)• 15 minutes
- Practice Quiz: Importance of Continuous Learning• 15 minutes
- Practice Quiz: Staying Updated in Java and OOP• 15 minutes
- Practice Quiz: Advanced Java Topics and Resources• 15 minutes
- Practice Quiz: Pursuing a Career in Java Development• 15 minutes
- Let's Practice: Real-World Applications• 30 minutes
- Test Yourself: Real-World Applications• 30 minutes
Instructor

Offered by

Offered by

Birla Institute of Technology & Science, Pilani (BITS Pilani) is one of only ten private universities in India to be recognised as an Institute of Eminence by the Ministry of Human Resource Development, Government of India. It has been consistently ranked high by both governmental and private ranking agencies for its innovative processes and capabilities that have enabled it to impart quality education and emerge as the best private science and engineering institute in India. BITS Pilani has four international campuses in Pilani, Goa, Hyderabad, and Dubai, and has been offering bachelor's, master’s, and certificate programmes for over 58 years, helping to launch the careers for over 1,00,000 professionals.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Explore more from Computer Science
AAmazon
Course
UUniversity of Michigan
Course

