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.
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 September 4, 2024
Skills you'll learn:
Prerequisites:
Course 1 • 1 day
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
Welcome to Udacity! We're excited to share more about your Nanodegree and start this journey with you.
Lesson 2
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
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
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
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
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
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
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
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
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
Lesson 9
Lesson 10 • Project
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
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
In this lesson, you'll be introduced to the course and what to expect!
Lesson 2
In this lesson, you'll learn how to implement lambdas, functional interfaces, and other Java functional programming tools.
Lesson 3
In this lesson, you'll learn how to use files and streams in Java.
Lesson 4
In this lesson, you'll learn about common design patterns and when to use them.
Lesson 5
In this lesson, you'll learn reflection, the ability of a program to examine its own structure at runtime.
Lesson 6
In this lesson, you'll be introduced to concurrency and threading in Java.
Lesson 7 • Project
In this lesson, you will create a parallel web crawler to replace legacy code at a large company.
Course 4 • 4 weeks
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
In this lesson, you'll be introduced to the course and what to expect!
Lesson 2
In this lesson you'll learn how to run and package Java applications.
Lesson 3
In this lesson, you'll learn about different types of dependencies and how to manage them with Maven.
Lesson 4
In this lesson, you'll learn how to divide projects into modules in Java.
Lesson 5
In this lesson, you'll learn how to write unit tests in Java.
Lesson 6
In this lesson, you'll learn how to write more complex tests in Java.
Lesson 7 • Project
In this lesson, you'll create modules, write unit tests, and package your project for others to use.
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.
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.
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.
Average Rating: 4.5 Stars
85 Reviews
Yi K.
October 9, 2022
This is great!
Hazem F.
September 11, 2022
i had to wait for more than 12 hours to feedback
Dimitrios M.
September 5, 2022
Its great
ATINDRA G.
May 6, 2022
Overall meeting my expectations
Lukasz M.
April 26, 2022
4 stars for now. I think first project needs to have requirements refined as it brings some confusion to learners especially on what should be validated where & how exactly find a room works. Overall it was great experience and reviewer was super helpful with his extensive good feedback. Thanks Udacity <3
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
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.
Average time to complete a Nanodegree program
(269)
3 months
, Intermediate
(75)
3 months
, Intermediate
(119)
2 months
, Intermediate
(729)
3 months
, Intermediate
4 weeks
, Intermediate
(93)
2 months
, Intermediate
(449)
3 months
, Intermediate
(225)
3 months
, Intermediate
(398)
3 months
, Intermediate
(1309)
5 months
, Beginner
3 weeks
, Beginner
2 months
, Beginner
4 weeks
, Intermediate
4 weeks
, Beginner
(416)
2 months
, Intermediate
(47)
3 months
, Intermediate