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

Udacity

Java Build Tools, Testing & AI-Assisted Development

via Udacity

Overview

Gain hands-on experience through comprehensive lessons that cover everything from writing code to deploying and managing Java applications. This course teaches practical tips on scaling applications in a cloud environment and how to ensure high availability for Java-based web services.

Syllabus

  • Introduction to Java Application Deployment
    • Explore the basics of deploying Java applications, including packaging, environment setup, deployment tools, and best practices for smooth application release.
  • Maven Build Management
    • Discover the basics of Maven build management, including project setup, dependency management, and automation of Java project builds.
  • Build Java Projects with Maven
    • Learn to configure Maven for a multi-module Java project, manage shared dependencies, resolve conflicts, and structure POM files for reliable builds and easier maintenance.
  • Gradle Build Automation
    • Explore the basics of Gradle, its build automation capabilities, core concepts, and how to set up and run simple builds for software projects.
  • Automate Builds with Gradle
    • Learn to translate a Maven Java build to Gradle Kotlin DSL, configuring plugins, dependencies, Java version, test setup, packaging, and deployment for an incident alert app.
  • Unit Testing with JUnit
    • Learn the basics of unit testing in Java using JUnit, including writing, running, and interpreting test cases to improve code reliability and software quality.
  • Write Effective Unit Tests with JUnit
    • Learn advanced JUnit 6 techniques—parameterized tests, tags, assumptions, timeouts, and test ordering—to create robust unit tests for a SaaS pricing calculator.
  • Test-Driven Development (TDD)
    • Explore the basics of Test-Driven Development (TDD), its process, benefits, and how writing tests first leads to better, more reliable code.
  • Practice Test-Driven Development
    • Practice strict Red-Green-Refactor TDD by building and testing a payroll overtime calculator one step at a time, ensuring code correctness and safe refactoring.
  • Mocking and Test Doubles with Mockito
    • Explore the basics of mocking and test doubles in unit testing, focusing on how to use Mockito for effective Java code testing.
  • Write Isolated Tests with Mockito
    • Learn to write isolated unit tests for business logic in Java services using Mockito—stubbing, verifying call order, and argument matchers—without real dependencies.
  • Integration Testing Strategies
    • Explore integration testing strategies, their importance, common approaches, and how they ensure components work smoothly together in software systems.
  • Implement Integration Tests
    • Learn to implement real HTTP integration tests to validate external API handling, data filtering, and workflow integration for a customer support ticket aggregator.
  • Code Coverage with JaCoCo
    • Explore the basics of code coverage, understand its importance, and learn how to use JaCoCo to measure and improve Java code quality.
  • Measure and Improve Test Coverage
    • Learn to configure JaCoCo for Java projects, generate coverage reports, and interpret results to identify and improve untested code branches using Maven build tooling.
  • Intro to AI-Assisted Development
    • Explore cloud-based Claude Code for AI-assisted development, learning to configure environments and leverage AI for coding and workspace management tasks.
  • AI Coding Assistants
    • Explore AI coding assistants like Copilot, their modes (edit, agent), and learn to systematically review and evaluate AI-generated code using proven engineering best practices.
  • Evaluate AI-Generated Code
    • Learn to systematically review AI-generated Java code for clarity, magic numbers, and error handling by analyzing test failures and comparing improvements for code quality.
  • Prompt Engineering for Code Generation
    • Learn structured prompt engineering for code generation—move from reactive fixes to proactive, clear communication using a 5-step framework for higher-quality, efficient AI output.
  • Generate Code with Effective Prompts
    • Learn to write clear, structured prompts for AI code generation using XML, reducing context gaps and ensuring targeted, safe code changes with preserved behaviors and constraints.
  • AI Oversight and Hallucination Detection
    • Learn to detect code quality red flags, spot AI-specific hallucinations, and assess security, ethical, and reliability risks in AI-assisted development for safe production code.
  • Detect and Correct AI Hallucinations
    • Learn to identify and correct AI hallucinations in code by reviewing for structure, phantom libraries, security, bias, and reliability issues before deployment.
  • CosmoChain Launch Monitoring CLI Application
    • Build a Java CLI tool that tracks rocket launches, detects schedule changes via APIs, and notifies the operations team—all using Maven, unit tests, integration tests, and code coverage tools.

Taught by

Alex Pritchard

Reviews

Start your review of Java Build Tools, Testing & AI-Assisted Development

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.