Object Oriented Programming
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Object Oriented Programming
Included with
Learn more
Ask Coursera
Recommended experience
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
Tools you'll learn
Details to know
143 assignments
See how employees at top companies are mastering in-demand skills
There are 10 modules in this course
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.
In this course, you will be introduced to the fundamental concepts of OOP, such as abstraction, encapsulation, inheritance, and polymorphism. These principles form the core of modern software development and are essential for creating modular, flexible, and reusable code. In addition to OOP, you will explore a wide range of advanced Java features that extend the functionality of your applications. Topics covered include generics, enabling type safety and flexibility, exception handling for robust error management, file input/output operations for data persistence, and multithreading concepts for improved application responsiveness. This course covers a diverse array of topics in Java programming, including the design and construction of Java classes and objects, utilizing appropriate access modifiers, variable types, and control structures. You will also master the manipulation of data using arrays, strings, and the collections framework, empowering you to efficiently store, retrieve, and manipulate data. By the end of this course, you will have developed a strong understanding of OOP principles in Java and acquired the necessary skills to design and implement robust, efficient, and modular Java applications. This solid foundation will serve as a stepping stone for your future academic pursuits and a successful career in Java programming and software development.
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
- Test Yourself: Introduction to Object-Oriented Programming and Java Basicsβ’30 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
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
- Test Yourself: Defining Classes, Objects, and Constructorsβ’30 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
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
- Test Yourself: Static, Final, Overloading, and Object Parameters β’30 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
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
- Test Yourself: Inheritance, Abstract Classes, and Interfacesβ’30 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
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
- Test Yourself: Generic Programming and Collections Frameworkβ’30 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
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
- Test Yourself: Exception Handling in Javaβ’30 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
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
- Test Yourself: Advanced File Handling and Object Model β’30 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
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
- Test Yourself: Multithreading Basics and Thread Classβ’30 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
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
- Test Yourself: Java Best Practices and Additional Conceptsβ’30 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
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
- Test Yourself: Real-World Applicationsβ’30 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
Build toward a degree
This course is part of the following degree program(s) offered by Birla Institute of Technology & Science, Pilani. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.ΒΉ
Instructor
Explore more from Software Development
- Status: Free Trial
- Status: Free Trial
- Status: Free TrialA
Amazon
Course
- Status: Free TrialU
University of Michigan
Course
Why people choose Coursera for their career
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you canβt afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, youβll find a link to apply on the description page.
More questions
Financial aid available,
