We are always working on new content so Treehouse students can stay up to date with the latest technology. This content roadmap contains everything that's planned for release. Please contact support if there is a course you want to take but don't see listed.
The dates reflected for each course are estimates and may change.
Build an Interactive Story App (Refresh)
In this course we will build a simple choose-your-own-adventure story app, complete with fantastic illustrations. We will model our story and introduce the Model-View-Presenter pattern, and we will learn about getting input from users, displaying images, and using more than one Activity.
Browser Persistent Data with PHP
With smartphones, smartwatches and even smart appliances. The internet of things has brought us into a world to rival sci-fi novels. We're no-longer content to with a simple search. We want context. We expect our devices to know our locations, preferences, desires and goals. We expect tailored suggestions, reminders and announcements. Most of the time we don't even realize how much our devices or websites are setup to assist us until our connection is broken or we try to use a different device, and all of a sudden our history and setting aren't there and it's so much harder to do or find anything. Users have come to expect so much and it's just getting worse. So what does that mean to you as a programmer? How can you make your own applications "user aware"? It starts with data persistence.
A spreadsheet is an electronic document that arranges data in a table by using columns and rows. Among other things, spreadsheets let you store, manipulate, share and analyze data. They're used in business to help make complicated decisions like where to open a new restaurant location, where to build a wind farm, or where to expand a business' marketing efforts. Spreadsheets aren't just for business use either. A household expense spreadsheet can help you determine when you will be able to afford a new car, or take your next trip. In this course, you'll learn the basics of spreadsheets including the parts of a spreadsheet, spreadsheet vocabulary, how to import data, how to make complex calculations, how to reference data in different cells, and how to use spreadsheet functions. You'll also learn best practices for formatting spreadsheets, protecting your data, and more. When you're done you'll have built an entire spreadsheet complete with data, complex functions and formulas and colorful and meaningful formatting.
Front End Web Optimization
As more people are getting on the web every day, there is a desire for those web sites and apps to load quickly. Most users have become accustomed to better and better performance from their home computers and with more apps moving to the web, that desire for performance is still there. The fact is that slow load times cause user frustration and you lose users and possibly money. In these lessons we're going to exercise some common real-world examples of how you can make a slow web app perform better using common techniques for front-end optimization. By the end, you will have a better understanding about how web apps work, what causes performance issues and how to best address them.
Introduction to Scala
The name Scala derives from a combination of the words “scalable” and “language”. Scala is a functional programming language, which runs on top of the Java virtual machine and can use any Java class. Scala is well suited for distributed programming and big data. It is what Apache Spark is build in and can provide better performance when compared to Python and is much less verbose than Java. Whether you’re learning about functional programming or starting a career in big data, Scala is a great place to start.
Sass Basics (Refresh)
Sass is a stylesheet language that extends CSS with features like variables, nested rules, mixins, functions and more, in a CSS-compatible syntax. In this course, you'll learn to use the powers of Sass to boost your front end workflow. The examples will teach you why you should use Sass in your projects. By the end, you will be writing more efficient CSS using code that is easy to read and maintain.
Introduction to Functional Programming
Functional Programming is an old paradigm, but one that is relatively new to Java world. In this course we will explore how to take advantage of the power that comes with thinking declaratively.
Object-Oriented Python (Refresh)
Sometimes simple scripts with functions in them just aren't enough. Eventually you'll need logical models of your work and that'll lead you to creating custom classes in Python. Object-oriented programming is a large topic. It provides us some amazing tools, though, so it's one of the most beneficial things to learn about in Python. First, you'll learn how to build basic custom classes. Then, you'll expand them through inheritance. And for some extra power, you'll also learn how to take control of Python's built-in classes to make your own more powerful while doing less work. Finally, we'll put everything together into a fun game utility.
Using Entity Framework with ASP.NET MVC
In Entity Framework Basics, you learned how to use Entity Framework to persist data to a database within the context of a console application. In this course, you'll learn how to use Entity Framework with ASP.NET MVC.