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

Udacity

Java Fundamentals

via Udacity

Overview

Master Java fundamentals through practical lessons on classes, inheritance, collections, and exceptions. Cement your knowledge by building a working hotel reservation system to showcase your new skills.

Syllabus

  • Introduction to the Course
    • Get an overview of the course structure, objectives, key topics, and expectations to prepare for a successful learning journey.
  • Introduction to Java Development Environment
    • Discover the Java platform, its components (JVM, JRE, JDK), and how Java code is compiled and run on any OS, including new Java 25 compact source file features.
  • Set Up Java Development Environment with VSCode in Udacity Workspace
    • Set up Java in Udacity Workspace, verify the environment, and write interactive Java programs with input, output, string variables, and terminal workflows using VSCode.
  • Introduction to Variables and Data Types
    • Learn how to declare, initialize, and use variables of different Java data types, handle type conversions, constants, variable scope, and follow naming conventions.
  • Implement Variables and Data Types in Java Programs
    • Practice declaring and using Java variables and data types, parsing input, mixing int and double, using constants, and avoiding integer division errors in real programs.
  • Introduction to Operators and Control Flow
    • Learn to use operators and control flow in Java, including if-else, switch, loops, break, and continue, to write dynamic, responsive programs that make decisions and repeat tasks.
  • Implement Control Flow Structures in Java Applications
    • Apply Java control flow structures (while loops, switch, if-else, for, continue) to build real programs: a grade classifier and a menu-driven smart calculator with input validation.
  • Introduction to Classes, Objects, and Methods
    • Explore Java classes, objects, constructors, methods, and encapsulation. Learn to design your own types, use access modifiers, and build robust, object-oriented code.
  • Create Classes and Objects for Java Applications
    • Learn to create Java classes in their own files, use constructors and methods, apply overloading and delegation, and manage object state for robust, reusable applications.
  • Introduction to OOP Principles
    • Learn the core principles of OOP, especially encapsulation, using private fields, public methods, getters, setters, validation, and composition for maintainable Java classes.
  • Apply Encapsulation in Java Classes
    • Practice Java encapsulation by hiding fields, creating validating getters/setters, delegating constructors, using boolean getter conventions, and linking objects via composition.
  • Introduction to Inheritance and Interfaces
    • Learn how Java inheritance and interfaces enable code reuse, abstraction, and polymorphism, and when to use extends, implements, or composition for clean, flexible designs.
  • Implement Inheritance and Polymorphism in Java
    • Learn how to implement inheritance, interfaces, and polymorphism in Java, using real-world class hierarchies, abstract classes, interfaces, and pattern matching instanceof.
  • Introduction to Java Collections Framework
    • Explore Java's Collections Framework: understand List, Set, and Map, their core implementations, and how to choose the best collection type for different programming needs.
  • Work with Collections in Java Applications
    • Master Java Collections by using List, Set, and Map to efficiently manage ordered items, unique elements, and key-value pairs in real applications.
  • Introduction to Generics and Type Safety
    • Discover Java generics to write reusable, type-safe code. Learn generic classes, methods, bounded type parameters, wildcards, and the PECS principle for safe flexibility.
  • Apply Generics to Java Collections and Classes
    • Learn to create type-safe, reusable Java classes and collections using generics, including bounded type parameters, the diamond operator, and nested generics with practical exercises.
  • Introduction to Exception Handling
    • Learn Java exception handling: organize errors, catch and throw exceptions, create custom types, and manage resources with try-catch, finally, and try-with-resources.
  • Implement Exception Handling in Java Programs
    • Learn to use Java's try-catch, multi-catch, custom checked exceptions, and try-with-resources to build robust, error-tolerant programs with reliable resource cleanup.
  • Introduction to String and Date/Time Processing
    • Learn to effectively process strings and date/time in Java: understand immutability, use StringBuilder and java.time API, and apply key methods for transformation and formatting.
  • Manipulate Strings and Dates in Java Applications
    • Master Java string manipulation and date/time handling with StringBuilder, substring, LocalDate, DateTimeFormatter, ChronoUnit, and .formatted() for real-world validation and formatting tasks.
  • FreshBox Meal Order Kit
    • You will build FreshBox, a console-based meal kit ordering system where customers can browse kits, place orders, and manage deliveries using core Java programming skills.

Taught by

Jeff Phillips

Reviews

4.8 rating at Udacity based on 186 ratings

Start your review of Java Fundamentals

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.