Udacity 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!

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.

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.

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.

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