VOOZH about

URL: https://www.coursera.org/learn/packt-java-programming-essentials-and-core-concepts-mdipw

⇱ Java Programming Essentials and Core Concepts | Coursera


Java Programming Essentials and Core Concepts

Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Java Programming Essentials and Core Concepts

Included with

β€’

Learn more

Ask Coursera

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

Recommended experience

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

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

Recommended experience

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

What you'll learn

  • Understand Java programming fundamentals like variables, expressions, and printing output

  • Learn Object-Oriented Programming concepts, including classes, methods, and constructors

  • Master Java collections, arrays, and data structures like lists and sets

  • Gain hands-on experience with exception handling, threads, and multithreading in Java

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

22 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Learn Java from Scratch - A Beginner's Guide Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 21 modules in this course

This course features Coursera Coach!

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In this course, you will learn Java programming essentials, from installation to advanced concepts. You will begin by setting up Java on different operating systems (Windows, Mac, Linux), followed by a dive into problem-solving using JShell. You'll tackle real-world programming problems like multiplication tables and master essential programming techniques, such as variable usage, expression evaluations, and printing to the console. Additionally, you will learn about loops, conditionals, and more. Next, you’ll delve deeper into Object-Oriented Programming (OOP) with methods, constructors, and class design. The course will introduce the Java platform, showing you how to work with the JVM and Eclipse IDE. You'll also explore key concepts like exception handling, collections, and concurrency with threads. By using examples such as the creation of classes and objects, working with arrays, and handling real-world problems with Java, you will solidify your programming skills. This course is perfect for beginners, with a focus on practical coding exercises. By the end, you’ll be proficient in Java, capable of applying OOP principles, handling exceptions, working with Java collections, and developing multithreaded applications.

In this module, we will introduce you to the course structure, covering key concepts and objectives that will be addressed. You'll also gain insight into the tools and environments that will be used for Java programming throughout the course. This foundation will set the stage for your learning journey.

What's included

1 video2 readings

1 videoβ€’Total 4 minutes
  • Introduction to the Specializationβ€’4 minutes
2 readingsβ€’Total 20 minutes
  • Introduction to the Course 'Java Programming Essentials and Core Concepts'β€’10 minutes
  • Full Specialization Resourcesβ€’10 minutes

In this module, we will walk you through the installation process for Java on different operating systems: Windows, macOS, and Linux. Troubleshooting tips are provided to resolve any installation issues, ensuring you're ready to begin programming with Java on your system.

What's included

5 videos1 assignment

5 videosβ€’Total 17 minutes
  • Step 00 - Installing Java - Overviewβ€’1 minute
  • Step 01 - Installing Java - Windowsβ€’7 minutes
  • Step 02 - Installing Java - Macβ€’3 minutes
  • Step 03 - Installing Java – Linuxβ€’3 minutes
  • Step 04 - Troubleshooting Java Installationβ€’3 minutes
1 assignmentβ€’Total 15 minutes
  • Installing Java - Assessmentβ€’15 minutes

In this module, we will dive into JShell for interactive Java programming and use the multiplication table challenge as an exercise. Through this challenge, you will become familiar with Java expressions, variables, and learn to print outputs to the console. You'll also tackle various puzzles and exercises to enhance your understanding.

What's included

34 videos1 assignment

34 videosβ€’Total 179 minutes
  • Step 00 – Step-By-Step Problem Solving with Programmingβ€’2 minutes
  • Step 01 - Introduction to Multiplication Table Challengeβ€’1 minute
  • Step 02 – Getting Started with JShellβ€’4 minutes
  • Step 03 - Break Down Multiplication Table Challengeβ€’2 minutes
  • Step 04 - Java Expression - an Introductionβ€’8 minutes
  • Step 05 - Java Expression – Exercisesβ€’2 minutes
  • Step 06 - Java Expression – Puzzlesβ€’8 minutes
  • Step 07 - Printing Output to Console with Javaβ€’11 minutes
  • Step 08 - Printing Output to Console with Java - Exercise Statementsβ€’2 minutes
  • Step 09 - Printing Output to Console with Java - Exercise Solutionsβ€’4 minutes
  • Step 10 - Printing Output to Console with Java – Puzzlesβ€’8 minutes
  • JShell Tip - Multiple Lines of Codeβ€’2 minutes
  • Step 11 - Advanced Printing Output to Console with Javaβ€’7 minutes
  • Step 12 - Advanced Printing Output to Console with Java – Exercisesβ€’4 minutes
  • Step 13 - Introduction to Variables in Javaβ€’8 minutes
  • Step 14 - Introduction to Variables in Java - Exercises and Puzzlesβ€’6 minutes
  • Step 15 - 4 Important Things to Know about Variables in Javaβ€’1 minute
  • Step 16 - How Are Variables Stored in Memory?β€’5 minutes
  • Step 17 - How to Name a Variableβ€’4 minutes
  • Step 18 - Understanding Primitive Variable Types in Javaβ€’7 minutes
  • Step 19 - Understanding Primitive Variable Types in Java - Choosing a Typeβ€’6 minutes
  • Java Tip - String Concatenationβ€’3 minutes
  • Step 20 - Java Assignment Operatorβ€’4 minutes
  • Step 21 - Java Assignment Operator - Puzzles on Increment, Decrement, and Compoundβ€’3 minutes
  • Step 22 - Programming Tips: JShell - Shortcuts, Multiple Lines, and Variablesβ€’7 minutes
  • Step 23 - Java Conditionals and If Statement – Introductionβ€’8 minutes
  • Step 24 - Java Conditionals and If Statement - Exercise Statementsβ€’2 minutes
  • Step 25 - Java Conditionals and If Statement - Exercise Solutionsβ€’7 minutes
  • Step 26 - Java Conditionals and If Statement – Puzzlesβ€’7 minutes
  • Step 27 - Java For Loop to Print Multiplication Table – Introductionβ€’9 minutes
  • Step 28 - Java For Loop to Print Multiplication Table - Exercise Statementsβ€’2 minutes
  • Step 29 - Java For Loop to Print Multiplication Table - Exercise Solutionsβ€’11 minutes
  • Step 30 - Java For Loop to Print Multiplication Table – Puzzlesβ€’7 minutes
  • Step 31 - Getting Started with Programming - Revise All Terminologyβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to Java Programming with JShell Using Multiplication Table - Assessmentβ€’15 minutes

In this module, we will introduce Java methods by revisiting the multiplication table challenge. You will learn how to create methods, pass parameters, and use method overloading. Practical exercises and tips will help you deepen your understanding of Java methods.

What's included

13 videos1 assignment

13 videosβ€’Total 71 minutes
  • Step 00 - Section 02 - Methods - an Introductionβ€’1 minute
  • Step 01 - Your First Java Method - Hello World Twice and Exercise Statementsβ€’9 minutes
  • Step 02 - Introduction to Java Methods - Exercises and Puzzlesβ€’6 minutes
  • Step 03 - Programming Tip - Editing Methods with JShellβ€’5 minutes
  • Step 04 - Introduction to Java Methods - Arguments and Parametersβ€’11 minutes
  • Step 05 - Introduction to Java Method Arguments – Exercisesβ€’5 minutes
  • Step 06 - Introduction to Java Method Arguments - Puzzles and Tipsβ€’4 minutes
  • Step 07 - Getting Back to Multiplication Table - Creating a Methodβ€’6 minutes
  • Step 08 - Print Multiplication Table with a Parameter and Method Overloadingβ€’4 minutes
  • Step 09 - Passing Multiple Parameters to a Java Methodβ€’5 minutes
  • Step 10 - Returning from a Java Method - an Introductionβ€’6 minutes
  • Step 11 - Returning from a Java Method – Exercisesβ€’6 minutes
  • Step 12 - Methods - Section Reviewβ€’2 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to Method with Multiplication Table - Assessmentβ€’15 minutes

In this module, we will explore the core components of the Java platform, including the role of javac and bytecode. You'll also take a first look at Java classes and objects, learning how to compile and run Java programs on your system.

What's included

8 videos1 assignment

8 videosβ€’Total 42 minutes
  • Step 00 - Section 03 - Overview of the Java Platform - Section Overviewβ€’1 minute
  • Step 01 - Overview of the Java Platform - an Introduction - java, javac, bytecodeβ€’5 minutes
  • Step 02 - Java Class and Object - First Lookβ€’6 minutes
  • Step 03 - Create a Method in a Java Classβ€’6 minutes
  • Step 04 - Create and Compile Planet.java Classβ€’6 minutes
  • Step 05 - Run Planet Class with Java - Using a Main Methodβ€’6 minutes
  • Step 06 - Play and Learn with Planet Classβ€’5 minutes
  • Step 07 - JDK Versus JRE Versus JVMβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to the Java Platform - Assessmentβ€’15 minutes

In this module, we will guide you through the installation process for Eclipse and show you how to set up your first Java project. You'll also become familiar with using Eclipse's features like saving actions, refactoring, and debugging to improve your programming workflow.

What's included

11 videos1 assignment

11 videosβ€’Total 50 minutes
  • Step 00 - Installing Eclipse - Windowsβ€’3 minutes
  • Step 00 - Installing Eclipse - Macβ€’2 minutes
  • Step 01 - Creating a New Java Project with Eclipseβ€’5 minutes
  • Step 02 - Our First Java Class with Eclipseβ€’5 minutes
  • Step 03 - Writing Multiplication Table Java Program with Eclipseβ€’6 minutes
  • Step 04 - Adding More Methods for Multiplication Table Programβ€’4 minutes
  • Eclipse Tip - Save Actionsβ€’3 minutes
  • Do Not Use Modules for Nowβ€’1 minute
  • Step 05 - Programming Tip 1: Refactoring with Eclipseβ€’5 minutes
  • Step 06 - Programming Tip 2: Debugging with Eclipseβ€’10 minutes
  • Step 07 - Programming Tip 3: Eclipse Versus JShell - How to Chooseβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to Eclipse - First Java Project - Assessmentβ€’15 minutes

In this module, we will dive into the principles of Object-Oriented Programming (OOP). You will learn about classes, objects, encapsulation, and more advanced concepts like inheritance and polymorphism. Practical exercises will help reinforce these concepts through hands-on examples.

What's included

17 videos1 assignment

17 videosβ€’Total 76 minutes
  • Step 00 - Introduction to Object-Oriented Programming - Section Overviewβ€’1 minute
  • Step 01 - Introduction to Object-Oriented Programming – Basicsβ€’5 minutes
  • Step 02 - Introduction to Object-Oriented Programming - Terminology - Class Objectβ€’5 minutes
  • Step 03 - Introduction to Object-Oriented Programming - Exercise – Online Shoppingβ€’3 minutes
  • Step 04 - Create Motor Bike Java Class and a Couple of Objectsβ€’7 minutes
  • Step 05 - Exercise Solutions - Book Class and Three Instancesβ€’2 minutes
  • Step 06 - Introducing State of an Object with Speed Variableβ€’6 minutes
  • Step 07 - Understanding Basics of Encapsulation with Setter Methodsβ€’7 minutes
  • Step 08 - Exercises and Tips - Getters and Generating Getters and Setters with Eβ€’6 minutes
  • Step 09 - Puzzles on This and Initialization of Member Variablesβ€’7 minutes
  • Step 10 - First Advantage of Encapsulationβ€’2 minutes
  • Step 11 - Introduction to Encapsulation - Level 2β€’6 minutes
  • Step 12 - Encapsulation Exercises - Better Validation and Book Classβ€’4 minutes
  • Step 13 - Introduction to Abstractionβ€’3 minutes
  • Step 14 - Introduction to Java Constructorsβ€’4 minutes
  • Step 15 - Introduction to Java Constructors - Exercises and Puzzlesβ€’7 minutes
  • Step 16 - Introduction to Object-Oriented Programming – Conclusionβ€’1 minute
1 assignmentβ€’Total 15 minutes
  • Introduction to Object-Oriented Programming - Assessmentβ€’15 minutes

In this module, we will explore Java’s primitive data types in depth, including integers, floating points, and booleans. You'll also learn about wrapper classes and how to use BigDecimal for precise calculations. Exercises and puzzles will help solidify your understanding.

What's included

15 videos1 assignment

15 videosβ€’Total 102 minutes
  • Step 00 - Primitive Data Types in Depth - Section Overviewβ€’1 minute
  • Step 01 - Basics about Java Integer Data Types - Casting, Operators, and Moreβ€’8 minutes
  • Step 02 - Java Integer Data Types - Puzzles - Octal, Hexadecimal, Post- and Pre-Integerβ€’10 minutes
  • Step 03 - Java Integer Data Types - Exercises - BiNumber - Add, Multiply, and Doubleβ€’9 minutes
  • Step 04 - Java Floating Point Data Types - Casting, Conversion, and Accuracyβ€’5 minutes
  • Step 05 - Introduction to BigDecimal Java Classβ€’7 minutes
  • Step 06 - BigDecimal Puzzles - Adding Integersβ€’3 minutes
  • Step 07 - BigDecimal Exercises - Simple Interest Calculationβ€’12 minutes
  • Step 08 - Java Boolean Data Type - Relational and Logical Operatorsβ€’11 minutes
  • Step 09 - Java Boolean Data Type - Puzzles - Short Circuit Operatorsβ€’5 minutes
  • Step 10 - Java Character Data Type char - Representation and Conversionβ€’6 minutes
  • Step 11 - Java char Data Type - Exercise 1 – isVowelβ€’8 minutes
  • Step 12 - Java char Data Type - Exercise 2 – isDigitβ€’8 minutes
  • Step 13 - Java char Data Type - Exercise 3 - isConsonant, List Upper Case, and Lβ€’9 minutes
  • Step 14 - Primitive Data Types in Depth – Conclusionβ€’1 minute
1 assignmentβ€’Total 15 minutes
  • Primitive Data Types and Alternatives - Assessmentβ€’15 minutes

In this module, we will focus on conditional statements, which are crucial for controlling the flow of your Java programs. You will learn how to use if-else, nested if-else, and switch statements to create decision-making logic. Practical exercises and puzzles will help you refine these skills.

What's included

13 videos1 assignment

13 videosβ€’Total 71 minutes
  • Step 00 - Conditionals with Java - Section Overviewβ€’1 minute
  • Step 01 - Introduction to If Else Statementβ€’5 minutes
  • Step 02 - Introduction to Nested If Elseβ€’5 minutes
  • Step 03 - If Else Statement – Puzzlesβ€’8 minutes
  • Step 04 - If Else Problem - How to Get User Input in Java?β€’7 minutes
  • Step 05 - If Else Problem - How to Get Number 2 and Choice from User?β€’3 minutes
  • Step 06 - If Else Problem - Implementing with Nested If Elseβ€’4 minutes
  • Programming Tip - CodingBat Dot Comβ€’2 minutes
  • Step 07 - Java Switch Statement - an introductionβ€’10 minutes
  • Step 08 - Java Switch Statement - Puzzles - Default, Break, and Fall Throughβ€’7 minutes
  • Step 09 - Java Switch Statement - Exercises - isWeekDay, nameOfMonth, nameOfDayβ€’13 minutes
  • Step 10 - Java Ternary Operation - an Introductionβ€’6 minutes
  • Step 11 - Conditionals with Java – Conclusionβ€’1 minute
1 assignmentβ€’Total 15 minutes
  • Conditionals - Assessmentβ€’15 minutes

In this module, you will learn how to use loops to repeat actions in your Java programs. We will cover for loops, while loops, and do-while loops. Through various exercises, you'll practice how to iterate through collections, solve puzzles, and use loops efficiently.

What's included

12 videos1 assignment

12 videosβ€’Total 70 minutes
  • Step 00 - Java Loops - Section Introductionβ€’1 minute
  • Step 01 - Java For Loop - Syntax and Puzzlesβ€’7 minutes
  • Step 02 - Java For Loop - Exercises Overview and First Exercise Prime Numbersβ€’13 minutes
  • Step 03 - Java For Loop - Exercise - Sum Up to N Numbers and Sum of Divisorsβ€’7 minutes
  • Step 04 - Java For Loop - Exercise - Print a Number Triangleβ€’5 minutes
  • Eclipse Tip - Templates - sysout, main, fore, ifelseβ€’2 minutes
  • Step 05 - While Loop in Java - an Introductionβ€’5 minutes
  • Step 06 - While Loop - Exercises - Cubes and Squares Up to Limitβ€’9 minutes
  • Step 07 - Do While Loop in Java - an Introductionβ€’4 minutes
  • Step 08 - Do While Loop in Java - an Example - Cube While User Enters Positive nβ€’8 minutes
  • Step 09 - Introduction to Break and Continueβ€’5 minutes
  • Step 10 - Selecting Loop in Java - For Versus While Versus Do Whileβ€’4 minutes
1 assignmentβ€’Total 15 minutes
  • Loops - Assessmentβ€’15 minutes

In this module, we will focus on reference types in Java, such as arrays, objects, and strings. You'll explore how reference types are stored in memory and learn the concept of immutability. Exercises and puzzles will help you gain proficiency in working with these data types.

What's included

16 videos1 assignment

16 videosβ€’Total 86 minutes
  • Step 00 - Java Reference Types - Section Introductionβ€’2 minutes
  • Step 01 - Reference Types - How Are they Stored in Memory?β€’7 minutes
  • Step 02 - Java Reference Types – Puzzlesβ€’9 minutes
  • Step 03 - String Class - Introduction and Exercise - Print Each Word and Char Onβ€’9 minutes
  • Step 04 - String Class - Exercise Solution and Some More Important Methodsβ€’9 minutes
  • Step 05 - Understanding String Is Immutable and String Concat, Upper Case, Lowerβ€’5 minutes
  • Step 06 - String Concatenation and Join, Replace Methodsβ€’8 minutes
  • Step 07 - Java String Alternatives - StringBuffer and StringBuilderβ€’5 minutes
  • Step 08 - Java Wrapper Classes - an Introduction - Why and What?β€’3 minutes
  • Step 09 - Java Wrapper Classes - Creation - Constructor and valueOfβ€’5 minutes
  • Step 10 - Java Wrapper Classes - Auto Boxing and a Few Wrapper Constants – SIZEβ€’3 minutes
  • Step 11 - Java Dates - Introduction to LocalDate, LocalTime, and LocalDateTimeβ€’4 minutes
  • Step 12 - Java Dates - Exploring LocalDate - Creation and Methods to Play with Dβ€’7 minutes
  • Step 13 - Java Dates - Exploring LocalDate - Comparing Dates and Creating Specifβ€’5 minutes
  • Eclipse Tip - Exploring Java APIβ€’4 minutes
  • Step 14 - Java Reference Types – Conclusionβ€’2 minutes
1 assignmentβ€’Total 15 minutes
  • Reference Types - Assessmentβ€’15 minutes

In this module, we will explore arrays and ArrayLists, two essential data structures in Java. You will learn how to create and manipulate arrays and ArrayLists, as well as how to use them in practical exercises such as student record management.

What's included

18 videos1 assignment

18 videosβ€’Total 86 minutes
  • Step 00 - Introduction to Array and ArrayList - Section Introduction with a Challengeβ€’1 minute
  • Step 01 - Understanding the Need and Basics about an Arrayβ€’5 minutes
  • Step 02 - Java Arrays - Creating and Accessing Values – Introductionβ€’6 minutes
  • Step 03 - Java Arrays - Puzzles - Arrays of Objects, Primitive Data Types, toStrβ€’8 minutes
  • Step 04 - Java Arrays - Compare, Sort, and Fillβ€’5 minutes
  • Step 05 - Java Arrays - Exercise - Create Student Class - Part 1 - Total and Aveβ€’6 minutes
  • Step 06 - Java Arrays - Exercise - Create Student Class - Part 2 - Maximum and Minimumβ€’13 minutes
  • Step 07 - Introduction to Variable Arguments – Needβ€’5 minutes
  • Step 08 - Introduction to Variable Arguments – Basicsβ€’5 minutes
  • Step 09 - Introduction to Variable Arguments - Enhancing Student Classβ€’2 minutes
  • Step 10 - Java Arrays - Using Person Objects and String Elements with Exercisesβ€’4 minutes
  • Eclipse Tip - Code Generationβ€’3 minutes
  • Step 11 - Java String Arrays - Exercise Solutions - Print Day of Week with Mostβ€’5 minutes
  • Step 12 - Adding and Removing Marks - Problem with Arraysβ€’3 minutes
  • Step 13 - First Look at ArrayList - an Introductionβ€’5 minutes
  • Step 14 - First Look at ArrayList - Refactoring Student Class to Use ArrayListβ€’6 minutes
  • Step 15 - First Look at ArrayList - Enhancing Student Class with Add and Removeβ€’3 minutes
  • Step 16 - Array and ArrayList – Conclusionβ€’1 minute
1 assignmentβ€’Total 15 minutes
  • Arrays and ArrayLists - Assessmentβ€’15 minutes

In this module, we will revisit object-oriented programming (OOP) concepts and expand on them with advanced topics like inheritance, abstraction, and polymorphism. Practical exercises will reinforce your skills in designing and implementing OOP solutions.

What's included

23 videos1 assignment

23 videosβ€’Total 141 minutes
  • Step 00 – Object-Oriented Programming - Level 2 - Section Introductionβ€’2 minutes
  • Step 01 - Basics of Designing a Class - Class, Object, State, and Behaviorβ€’4 minutes
  • Step 02 - OOP Example - Fan Class - Deciding State and Constructorsβ€’10 minutes
  • Step 03 - OOP Example - Fan Class - Deciding Behavior with Methodsβ€’6 minutes
  • Step 04 - OOP Exercise - Rectangle Classβ€’6 minutes
  • Step 05 - Understanding Object Composition with Customer Address Exampleβ€’11 minutes
  • Step 06 - Understanding Object Composition - an Exercise - Books and Reviewsβ€’3 minutes
  • Step 07 - Understanding Inheritance - Why Do We Need It?β€’8 minutes
  • Step 08 - Object Is at Top of Inheritance Hierarchyβ€’4 minutes
  • Step 09 - Inheritance and Overriding with toString() Methodβ€’5 minutes
  • Step 10 - Java Inheritance - Exercise - Student and Employee Classesβ€’7 minutes
  • Step 11 - Java Inheritance - Default Constructors and super() Method Callβ€’9 minutes
  • Step 12 - Java Inheritance - Puzzles - Multiple Inheritance, Reference Variablesβ€’6 minutes
  • Step 13 - Java Abstract Class – Introductionβ€’6 minutes
  • Step 14 - Java Abstract Class - First Example - Creating Recipes with Template Mβ€’8 minutes
  • Step 15 - Java Abstract Class – Puzzlesβ€’4 minutes
  • Step 16 - Java Interface - Example 1 - Gaming Console - How to Think about Intefβ€’9 minutes
  • Step 17 - Java Interface - Example 2 - Complex Algorithm - API Defined by externβ€’6 minutes
  • Step 18 - Java Interface - Puzzles - Unimplemented methods, Abstract Classes, Valuesβ€’10 minutes
  • Step 19 - Java Interface Versus Abstract Class - a Comparisonβ€’4 minutes
  • Step 20 - Java Interface Flyable and Abstract Class Animal - an Exerciseβ€’5 minutes
  • Programming Tip - 97 Things Every Programmer Should Knowβ€’2 minutes
  • Step 21 - Polymorphism - an Introductionβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Object-Oriented Programming Again - Assessmentβ€’15 minutes

In this module, we will delve into Java collections and their importance in managing data. You will explore the different collection types like List, Set, Queue, and Map, and learn how to use classes like ArrayList, HashSet, and HashMap. Exercises will give you practical experience in manipulating and sorting data with collections.

What's included

29 videos1 assignment

29 videosβ€’Total 139 minutes
  • Step 01 - Java Collections - Section Overview with Need for Collectionsβ€’3 minutes
  • Step 02 - List Interface - Introduction - Position Is Kingβ€’7 minutes
  • Step 03 - List Interface - Immutability and Introduction of Implementations – Arrayβ€’5 minutes
  • Step 04 - List Interface Implementations - ArrayList Versus LinkedListβ€’6 minutes
  • Programming Tip - Teach Yourselves Programming in 10 Yearsβ€’2 minutes
  • Step 05 - List Interface Implementations - ArrayList Versus Vectorβ€’4 minutes
  • Step 06 - List Interface - Methods to Add, Remove, and Change Elements and Listsβ€’7 minutes
  • Step 07 - List and ArrayList - Iterating Around Elementsβ€’3 minutes
  • Step 08 - List and ArrayList - Choosing Iteration Approach for Printing and Deleteβ€’7 minutes
  • Step 09 - List and ArrayList - Puzzles - Type Safety and Removing Integersβ€’7 minutes
  • Step 10 - List and ArrayList - Sorting - Introduction to Collections Sort Staticβ€’9 minutes
  • Step 11 - List and ArrayList - Sorting - Implementing Comparable Interfaceβ€’3 minutes
  • Step 12 - List and ArrayList - Sorting - Providing Flexibility by Implementing Comparatorβ€’6 minutes
  • Step 13 - List and ArrayList - a Summaryβ€’2 minutes
  • Step 14 - Set Interface - Introduction - No Duplicationβ€’4 minutes
  • Step 15 - Understanding Data Structures - Array, LinkedList, and Hashingβ€’6 minutes
  • Step 16 - Understanding Data Structures - Tree - Sorted Orderβ€’3 minutes
  • Step 17 - Set Interface – Hands-On - HashSet, LinkedHashSet and TreeSetβ€’5 minutes
  • Step 18 - Set Interface - Exercise - Find Unique Characters in a Listβ€’5 minutes
  • Step 19 - TreeSet - Methods from NavigableSet - floor, lower, upper, subSet, headβ€’5 minutes
  • Step 20 - Queue Interface - Process Elements in Orderβ€’2 minutes
  • Step 21 - Introduction to PriorityQueue - Basic Methods and Customized Priorityβ€’7 minutes
  • Step 22 - Map Interface - an Introduction - Key and Valueβ€’3 minutes
  • Step 23 - Map Interface - Implementations - HashMap, HashTable, LinkedHashMapβ€’3 minutes
  • Step 24 - Map Interface - Basic Operationsβ€’5 minutes
  • Step 25 - Map Interface - Comparison - HashMap Versus LinkedHashMap Versus TreeMapβ€’4 minutes
  • Step 26 - Map Interface - Exercise - Count Occurrences of Characters and Wordsβ€’9 minutes
  • Step 27 - TreeMap - Methods from NavigableMap - floorKey, higherKey, firstEntryβ€’4 minutes
  • Step 28 - Java Collections - Conclusion with Three Tipsβ€’3 minutes
1 assignmentβ€’Total 15 minutes
  • Collections - Assessmentβ€’15 minutes

In this module, we will introduce generics, a powerful feature in Java that enables type safety. You will learn how to create generic classes and methods, as well as how to use wildcards and define upper and lower bounds. Exercises will help you practice using generics effectively in your code.

What's included

5 videos1 assignment

5 videosβ€’Total 27 minutes
  • Step 01 - Introduction to Generics - Why Do We Need Generics?β€’6 minutes
  • Step 02 - Implementing Generics for the Custom Listβ€’5 minutes
  • Step 03 - Extending Custom List with a Generic Return Methodβ€’2 minutes
  • Step 04 - Generics Puzzles - Restrictions with Extends and Generic Methodsβ€’8 minutes
  • Step 05 - Generics and WildCards - Upper Bound and Lower Boundβ€’6 minutes
1 assignmentβ€’Total 15 minutes
  • Generics - Assessmentβ€’15 minutes

In this module, we will explore functional programming concepts in Java, such as lambda expressions and streams. You will learn how to use these tools to process data in a more declarative way. Practical exercises will help you master functional programming techniques and solve real-world problems efficiently.

What's included

18 videos1 assignment

18 videosβ€’Total 98 minutes
  • Step 01 - Introduction to Functional Programming - Functions Are First Classβ€’2 minutes
  • Step 02 - Functional Programming - First Example with Function as Parameterβ€’7 minutes
  • Step 03 - Functional Programming - Exercise - Loop a List of Numbersβ€’2 minutes
  • Step 04 - Functional Programming - Filtering - Exercises to Print Odd and Even nβ€’7 minutes
  • Step 05 - Functional Programming - Collect - Sum of Numbers in a Listβ€’7 minutes
  • Step 06 - Functional Programming Versus Structural Programming - a Quick Comparisonβ€’5 minutes
  • Step 07 - Functional Programming Terminology - Lambda Expression, Stream, and Operationsβ€’6 minutes
  • Step 08 - Stream Intermediate Operations - Sort, Distinct, Filter, and Mapβ€’5 minutes
  • Step 09 - Stream Intermediate Operations - Exercises - Squares of First 10, Mapβ€’5 minutes
  • Step 10 - Stream Terminal Operations - 1 - Max Operation with Comparatorβ€’7 minutes
  • Step 11 - Stream Terminal Operations - 2 - Min, Collect To Listβ€’7 minutes
  • Step 12 - Optional Class in Java - an Introductionβ€’5 minutes
  • Step 13 - Behind the Screen with Functional Interfaces - Implement Predicate Intβ€’8 minutes
  • Step 14 - Behind the Screen with Functional Interfaces - Implement Consumer Intβ€’3 minutes
  • Step 15 - Behind the Screen with Functional Interfaces - Implement Function Intβ€’4 minutes
  • Step 16 - Simplify Functional Programming Code with Method Referencesβ€’10 minutes
  • Step 17 - Functions Are First-Class Citizensβ€’4 minutes
  • Step 18 - Introduction to Functional Programming – Conclusionβ€’3 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to Functional Programming - Assessmentβ€’15 minutes

In this module, we will explore threads and multi-threading in Java. You'll learn how to create and manage threads, use synchronization for thread safety, and leverage concurrency utilities like ExecutorService. Exercises will help you understand the practical applications of multi-threading in Java programs.

What's included

14 videos1 assignment

14 videosβ€’Total 66 minutes
  • Step 01 - Introduction to Threads and Multi-Threading - Need for Threadsβ€’5 minutes
  • Step 02 - Creating a Thread for Task 1 - Extending Thread Classβ€’6 minutes
  • Step 03 - Creating a Thread for Task 2 - Implement Runnable Interfaceβ€’5 minutes
  • Step 04 - Theory - States of a Threadβ€’5 minutes
  • Step 05 - Placing Priority Requests for Threadsβ€’4 minutes
  • Step 06 - Communication between Threads - join Methodβ€’4 minutes
  • Step 07 - Thread Utility Methods and Synchronized Keywords - Sleep, Yieldβ€’6 minutes
  • Step 08 - Need for Controlling the Execution of Threadsβ€’3 minutes
  • Step 09 - Introduction to Executor Serviceβ€’4 minutes
  • Step 10 - Executor Service - Customizing Number of Threadsβ€’5 minutes
  • Step 11 - Executor Service - Returning a Future from Thread Using Callableβ€’7 minutes
  • Step 12 - Executor Service - Waiting for Completion of Multiple Tasks Using invokeAnyβ€’7 minutes
  • Step 13 - Executor Service - Wait for Only the Fastest Task Using invokeAnyβ€’3 minutes
  • Step 14 - Threads and Multi-Threading – Conclusionβ€’2 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to Threads and Concurrency - Assessmentβ€’15 minutes

In this module, you will learn how to handle exceptions in Java using try-catch blocks. We will cover checked versus unchecked exceptions and introduce the concept of custom exceptions. Exercises will help you practice exception handling techniques and understand the importance of robust error handling.

What's included

15 videos1 assignment

15 videosβ€’Total 72 minutes
  • Step 01 - Introduction to Exception Handling - Your Thought Process During Exceptionβ€’3 minutes
  • Step 02 - Basics of Exceptions - NullPointerException and StackTraceβ€’6 minutes
  • Step 03 - Basics of Handling Exceptions - try and catchβ€’5 minutes
  • Step 04 - Basics of Handling Exceptions - Exception Hierarchy, Matching, and Catchβ€’7 minutes
  • Step 05 - Basics of Handling Exceptions - Need for finallyβ€’6 minutes
  • Step 06 - Basics of Handling Exceptions – Puzzlesβ€’4 minutes
  • Step 07 - Checked Exceptions Versus Unchecked Exceptions - an Exampleβ€’6 minutes
  • Step 08 - Hierarchy of Errors and Exceptions - Checked and Runtimeβ€’5 minutes
  • Step 09 - Throwing an Exception - Currencies Do Not Match Runtime Exceptionβ€’7 minutes
  • Step 10 - Throwing a Checked Exception - Throws in Method Signature and Handlingβ€’3 minutes
  • Step 11 - Throwing a Custom Exception – CurrenciesDoNotMatchExceptionβ€’4 minutes
  • Step 12 - Write Less Code with Try with Resources - New Feature in Java 7β€’3 minutes
  • Step 13 - Basics of Handling Exceptions - Puzzles 2β€’2 minutes
  • Step 14 - Exception Handling - Conclusion with Best Practicesβ€’5 minutes
  • Eclipse Tip – Ctrl or Cmd + 1β€’5 minutes
1 assignmentβ€’Total 15 minutes
  • Introduction to Exception Handling - Assessmentβ€’15 minutes

In this module, you will learn how to work with files and directories in Java. We will cover how to list files, read from and write to files, and filter directories. Practical examples will help you understand how to handle file operations efficiently.

What's included

5 videos1 assignment

5 videosβ€’Total 23 minutes
  • Step 01 - List Files and Folders in Directory with Files List Methodβ€’5 minutes
  • Step 02 - Recursively List and Filter All Files and Folders in Directoryβ€’7 minutes
  • Step 03 - Read Content from a File - Files readAllLines and Lines Methodsβ€’6 minutes
  • Step 04 - Writing Content to a File - Files Write Methodβ€’2 minutes
  • Step 05 - Files – Conclusionβ€’2 minutes
1 assignmentβ€’Total 15 minutes
  • Files and Directories - Assessmentβ€’15 minutes

In this module, we will build upon the concurrency concepts introduced earlier and delve deeper into synchronized blocks, locks, and atomic operations. You will also explore concurrent collections and their use in multi-threaded programming.

What's included

9 videos1 assignment

9 videosβ€’Total 42 minutes
  • Step 01 - Getting Started with Synchronizedβ€’7 minutes
  • Step 02 - Problem with Synchronized - Less Concurrencyβ€’3 minutes
  • Step 03 - Enter Locks with ReEntrantLockβ€’5 minutes
  • Step 04 - Introduction to Atomic Classes – AtomicIntegerβ€’4 minutes
  • Step 05 - Need for ConcurrentMapβ€’4 minutes
  • Step 06 - Implementing an Example with ConcurrentHashMapβ€’6 minutes
  • Step 07 - ConcurrentHashMap Uses Different Locks for Different Regionsβ€’3 minutes
  • Step 08 - CopyOnWrite Concurrent Collections - When Reads Are More Than Writesβ€’7 minutes
  • Step 09 – Conclusionβ€’2 minutes
1 assignmentβ€’Total 15 minutes
  • More Concurrency with Concurrent Collections and Atomic Operations - Assessmentβ€’15 minutes

In this module, you will discover various tips and best practices to enhance your Java programming skills. From working with static methods and final variables to using enums, this section will help you write cleaner, more efficient Java code.

What's included

17 videos1 reading3 assignments

17 videosβ€’Total 84 minutes
  • Java Tip 01 - Imports and Static Importsβ€’7 minutes
  • Java Tip 02 – Blocksβ€’3 minutes
  • Java Tip 03 - Equals Methodβ€’6 minutes
  • Java Tip 04 - hashcode Methodβ€’3 minutes
  • Java Tip 05 - Class Access Modifiers - Public and Defaultβ€’5 minutes
  • Java Tip 06 - Method Access Modifiers - Public, Protected, Private, and Defaultβ€’7 minutes
  • Java Tip 07 - Final Classes and Final Methodsβ€’5 minutes
  • Java Tip 08 - Final Variables and Final Argumentsβ€’3 minutes
  • Java Tip 09 - Why Do We Need Static Variables?β€’5 minutes
  • Java Tip 09 - Why Do We Need Static Methods?β€’3 minutes
  • Java Tip 10 - Static Methods Cannot Use Instance Methods or Variablesβ€’3 minutes
  • Java Tip 11 - Public Static Final – Constantsβ€’6 minutes
  • Java Tip 12 - Nested Classes - Inner Class Versus Static Nested Classβ€’6 minutes
  • Java Tip 13 - Anonymous Classesβ€’7 minutes
  • Java Tip 14 - Why Enum and Enum Basics - Ordinal and Valuesβ€’7 minutes
  • Java Tip 15 - Enum - Constructor, Variables, and Methodsβ€’4 minutes
  • Java Tip 16 - Quick Look at Inbuilt Enums - Month, DayOfWeekβ€’3 minutes
1 readingβ€’Total 10 minutes
  • Conclusion to the Course 'Java Programming Essentials and Core Concepts'β€’10 minutes
3 assignmentsβ€’Total 90 minutes
  • Full Course Practice Assessmentβ€’15 minutes
  • Java Tips - Assessmentβ€’15 minutes
  • Full Course Assessmentβ€’60 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Packt
1,946 Coursesβ€’575,115 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

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."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

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."
πŸ‘ Image

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."

Frequently asked questions

Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.

If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.

Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.

If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.

This course is currently available only to learners who have paid or received financial aid, when available.

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.

Financial aid available,