Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Java Programming Essentials and Core Concepts

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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.

Syllabus

  • Introduction to Course – Java Programming
    • 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.
  • Installing Java
    • 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.
  • Introduction to Java Programming with JShell Using Multiplication Table
    • 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.
  • Introduction to Method with Multiplication Table
    • 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.
  • Introduction to the Java Platform
    • 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.
  • Introduction to Eclipse - First Java Project
    • 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.
  • Introduction to Object-Oriented Programming
    • 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.
  • Primitive Data Types and Alternatives
    • 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.
  • Conditionals
    • 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.
  • Loops
    • 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.
  • Reference Types
    • 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.
  • Arrays and ArrayLists
    • 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.
  • Object-Oriented Programming Again
    • 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.
  • Collections
    • 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.
  • Generics
    • 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.
  • Introduction to Functional Programming
    • 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.
  • Introduction to Threads and Concurrency
    • 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.
  • Introduction to Exception Handling
    • 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.
  • Files and Directories
    • 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.
  • More Concurrency with Concurrent Collections and Atomic Operations
    • 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.
  • Java Tips
    • 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.

Taught by

Packt - Course Instructors

Reviews

Start your review of Java Programming Essentials and Core Concepts

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.