Udacity Accenture logo
Log InJoin for Free

Java Programming

Nanodegree Program

This Nanodegree program is intended to elevate your Java abilities and teach you the fundamental skills used by Java developers to design, code, test and deploy cutting-edge Java software.

This Nanodegree program is intended to elevate your Java abilities and teach you the fundamental skills used by Java developers to design, code, test and deploy cutting-edge Java software.

Intermediate

3 months

Real-world Projects

Completion Certificate

Last Updated February 6, 2024

Skills you'll learn:
Java collections • Maven • Java data types • Java inheritance
Prerequisites:
Functional programming • Basic Java • Basic computer programming

Courses In This Program

Course 1 1 hour

Welcome to the Java Programming Nanodegree Program

Welcome to Udacity! We're excited to share more about your nanodegree and start this journey with you! In this course, you will learn more about the pre-requisites, structure of the program, and getting started!

Lesson 1

Java Programming Nanodegree Program Introduction

Welcome to Udacity! We're excited to share more about your Nanodegree and start this journey with you.

Lesson 2

Getting Help

You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.

Course 2 4 weeks

Java Fundamentals

In order to be a great Java developer you must first learn the fundamentals of Java. This course introduces the fundamental concepts and practices of Java programming. These include basic Object-oriented Programming (OOP) concepts such as classes, encapsulation and inheritance, as well as core Java concepts such as collections, exceptions and commonly used Java types.

Lesson 1

Introduction to Java

In this lesson, we'll cover some fundamentals—such as why you would want to learn Java, and what prerequisites you'll need to succeed in the course.

Lesson 2

Java Programing Basics

This lesson covers all the major building blocks we need to create a simple Java app, including keywords, variables, loops, methods, access modifiers, arrays, and Javadoc.

Lesson 3

Defining Classes

In this lesson, we'll learn about what an object is, what a class is, and how we can create (or instantiate) objects from classes.

Lesson 4

Object-Oriented Programming

In this lesson, we'll go deeper into objects and classes and learn about some of the advanced concepts of object-oriented programming, including inheritance and polymorphism.

Lesson 5

Common Types

We'll learn about some of the important class types provided by the Java API, including Exceptions, Enums, RegEx, Dates and Calendar, and advanced String features.

Lesson 6

Generics and Collections

Working with multiple types can introduce some challenges. In this lesson we'll learn how two tools—generics and collections—can help us address these challenges and make our code type safe.

Lesson 7

Advanced Collections

In this lesson we'll learn about maps, sets and queues. Each of these provides a uniquely powerful data structure that, when used correctly, can solve complex problems efficiently.

Lesson 8 • Project

Hotel Reservation Application

In this project, you will demonstrate your new Java skills by creating a fully functional hotel reservation app that will allow customers to check room availability and book a room.

Course 3 4 weeks

Advanced Java Programming Techniques

The best Java programs combine excellent software designs with modern language features. This course will teach you some lesser known features of Java, such as functional programming, I/O, serialization, and reflection. Strengthen your software design intuition by exploring the design ideas that underpin understandable, extensible and scalable software systems. Learn the basic concepts and techniques of concurrent programming in Java, so your programs can take advantage of modern, multi-core hardware.

Lesson 1

Introduction to Advanced Java Programming Techniques

In this lesson, you'll be introduced to the course and what to expect!

Lesson 2

Functional Programming in Java

In this lesson, you'll learn how to implement lambdas, functional interfaces, and other Java functional programming tools.

Lesson 3

Working with Files & I/O

In this lesson, you'll learn how to use files and streams in Java.

Lesson 4

Design Patterns

In this lesson, you'll learn about common design patterns and when to use them.

Lesson 5

Reflection

In this lesson, you'll learn reflection, the ability of a program to examine its own structure at runtime.

Lesson 6

Introduction to Concurrent Programming

In this lesson, you'll be introduced to concurrency and threading in Java.

Lesson 7 • Project

Project: Parallel Web Crawler

In this lesson, you will create a parallel web crawler to replace legacy code at a large company.

Course 4 4 weeks

Java Application Deployment

This course introduces Java ecosystem topics that are necessary to develop production-ready applications. It starts by covering the construction and makeup of Java program artifacts. You will learn how Java program code is compiled, packaged and executed. Next, you’ll learn how to use Maven to automate and customize the build process, as well as manage external project dependencies. This course also covers the topic of Modules, introduced in Java 9. In addition to build topics, this course will also teach you to use the tools of JUnit 5 to write unit tests and evaluate code coverage. To expand our testing capabilities for complex applications, the Mockito library and test doubles will be covered as well.

Lesson 1

Introduction to Java Application Deployment

In this lesson, you'll be introduced to the course and what to expect!

Lesson 2

Running Java Applications

In this lesson you'll learn how to run and package Java applications.

Lesson 3

Dependency Management with Maven

In this lesson, you'll learn about different types of dependencies and how to manage them with Maven.

Lesson 4

Java Modules

In this lesson, you'll learn how to divide projects into modules in Java.

Lesson 5

Unit Testing With Java

In this lesson, you'll learn how to write unit tests in Java.

Lesson 6

Test Doubles, Mocking, and Integration Testing

In this lesson, you'll learn how to write more complex tests in Java.

Lesson 7 • Project

Project: UdaSecurity

In this lesson, you'll create modules, write unit tests, and package your project for others to use.

Taught By The Best

Photo of Jeff Phillips

Jeff Phillips

Senior Software Engineer

During his 20+ years of software development experience, Jeff has worked on embedded avionics flight controls systems for both Honeywell and Boeing. Jeff then moved into Java Cloud based SAAS applications. He has earned a Bachelor's and Master's degree in Computer Science from Arizona State University.

Photo of Dustin Hellstern

Dustin Hellstern

Software Engineer

Dustin is a software engineer with 15 years of Java experience, including over 7 years designing and building large-scale systems for one of the top companies in the tech industry. He is excited to share his knowledge with you in this program.

Photo of Alex Pritchard

Alex Pritchard

Senior Software Engineer

Alex is a Senior Software Engineer for CPA Global. He is excited to combine his background as a music educator with more than a decade of enterprise Java experience to help create this hands-on course about testing and deploying Java applications.

Ratings & Reviews

Average Rating: 4.5 Stars

85 Reviews

Page 1 of 17

The Udacity Difference

Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects

Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.

  • Gain proven experience

  • Retain knowledge longer

  • Apply new skills immediately

Top-tier services to ensure learner success

Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.

  • Get help from subject matter experts

  • Learn industry best practices

  • Gain valuable insights and improve your skills

Unlock access to Java Programming and the rest of our best-in-class catalog

  • Unlimited access to our top-rated courses

  • Real-world projects

  • Personalized project reviews

  • Program certificates

  • Proven career outcomes

Full Catalog Access

One subscription opens up this course and our entire catalog of projects and skills.

Month-To-Month

4 Months

Average time to complete a Nanodegree program

*Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.

Your subscription also includes:

Get Started Today

Java Programming

Month-To-Month


  • Unlimited access to our top-rated courses
  • Real-world projects
  • Personalized project reviews
  • Program certificates
  • Proven career outcomes

4 Months

Average time to complete a Nanodegree program

  • All the same great benefits in our month-to-month plan
  • Most cost-effective way to acquire a new set of skills
Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.

Related Programs

Udacity Accenture logo
Company
  • Facebook
  • Twitter
  • LinkedIn
  • Instagram

© 2011-2024 Udacity, Inc. "Nanodegree" is a registered trademark of Udacity. © 2011-2024 Udacity, Inc.
We use cookies and other data collection technologies to provide the best experience for our customers.