TeamTreeHouse – Intermediate Java Track


Curate your Java learning with this Treehouse Track. Courses in Java expressions, environments, lambdas, unit testing, Maven, Gradle, and more.


Java made its debut in 1995 and is now the most popular language in the world. It is commonly used for everything from smartphones, tablets, watches, servers, information security, artificial intelligence, games, and even robots! Because of its maturity and popularity, learning Java is a great way to land a software development job in just about any market.

This 17-hour Track will guide you through the more intermediate parts of the language and help you gain the experience and confidence you need to explore any direction your programming adventures may lead.

As a prerequisite for this Track, we recommend our Beginning Java Track.

We’ll begin with a quick workshop on regular expressions in Java, to learn to use them for searching, replacing and validating that text meets certain formats. Then we’ll dive right into a course on local development environments and how to set yours up.

Next, we’ll touch on Java lambdas, which can be used any place a Single Abstract Method was used, before embarking on a Unit Testing course. We’ll cover the essentials, including defining a unit, composition vs. inheritance, test fixtures, test suites, and the jUnit test runner. Then, a workshop on dependency management with Gradle.

The next 4 hours of the Track are dedicated to functional programming. You’ll master imperative vs. declarative syntax, lambdas & method references, streams, functional programming concepts, and higher order functions and closures.

In the following course, Java Annotations, we’ll first explore the basic use of annotations to give the compiler instructions. Then, we’ll use more advanced techniques to create our own annotation and look for it using reflection.

Next, you’ll complete a workshop on Maven, and then a workshop on debugging. Finally, you’ll work on a project to build a Pomodoro timer using JavaFX.

This Track will take you to the next level in the wonderful world of Java programming. Let’s go!