Welcome to the Treehouse Library
This is a sample catalog of all the courses we offer. Browse by topic or difficulty. Sign up today and get access to our entire library. Treehouse students get access to workshops, bonus content, conferences, and more.
Ready to start learning?
Treehouse offers a 7 day free trial for new students. Get access to 1000s of hours of content. Learn to code, land your dream job.Start Your Free Trial
30 hoursBonus Series
The Treehouse Show
The Treehouse Show is your weekly dose of web design and web development news, hosted by Nick Pettit and Jason Seifer.Viewed
10 hoursBonus Series
Treehouse Friends is a series of interviews with interesting people in the web design and dev fields and other industry experts.Viewed
3 hoursBonus Series
Treehouse Quick Tips
Treehouse Quick Tips are fast and easy lessons that you can start applying now. Learn to create stunning designs in Photoshop, beautiful websites, and useful mobile apps for Android and iOS.Viewed
3 hoursBonus Series
Welcome to Treeviews, the show where Treehouse members submit their work - website, app, or other project - and a panel of Treehouse teachers offers feedback.Viewed
2 hoursBonus Series
Learn how we built Code Racer, which is a real-time multiplayer game where people learn how to create a basic HTML web page while competing with others.Viewed
75 minBonus Series
CSS3 Master Class
Learn how to build a real-world site using everything from Border Radius, Border Image, Box Shadow, Linear and Radial Gradients and more.Viewed
60 minBonus Series
In this Master Class Series, we'll prepare our project and write all the media queries and CSS we need to make our layout respond. Then we will test our layout across a few browsers.Viewed
60 minBonus Series
Mockups for Responsive Design
Learn how to wireframe and design websites that work across multiple devices and screen resolutions. We'll cover everything you need to know in order to create low fidelity and high fidelity mockups for responsive designs.Viewed
6 hoursBonus Series
Design and Development
Learn how a designer and developer can effectively collaborate to build a web app.Viewed
78 minBonus Series
Learn how to create fluid grid layouts using percentage based widths. We'll go over everything you need to know to extract fluid grid calculations from high fidelity mockups.Viewed
4 hoursBonus Series
HTML5 Mobile Web Applications
Learn how to build a mobile HTML5 web app that will work across multiple devices, from start to finish using canvas, localStorage and video.Viewed
105 minBonus Series
Exercise Your Creative
How do you practice creativity? In the Exercise Your Creative series, Mat gives us some insight by taking us through his creative process.Viewed
5 minBonus Series
In the Wild
Join Allison as she explores the web industry through interviews with web professionals. This is In the Wild.Viewed
16 minBonus Series
Web Design Q&A with Nick
In this series, Nick Pettit answers your questions about web design, web development, and anything else you're interested in knowing.Viewed
25 minBonus Series
Treehouse Teacher Q&A
In this series, the Treehouse teaching team answers your questions about web design, web development, and anything else you're interested in knowing.Viewed
Whoops! Perhaps you can try a broader search.
The following items are scheduled to be released soon. You can also visit our content roadmap for more info.
Introduction to Auto Layout in iOS
Auto Layout is the primary mechanism for laying and positioning views in iOS. In this course we're going to cover the basics of Auto Layout and learn how to adapt our apps to different device sizes and orientations. Auto Layout is used for much more than simple layouts though and we'll look at how we can resize elements based on their content and language as well.
Objective-C for Swift Developers
Now that you're up to speed with Swift, it's time to get familiar with its older sibling - Objective-C. Objective-C has a rich history and a very different way of doing things that may come as a surprise. In this course we're going to take a tour through the Objective-C language using Swift as our base. By the end of this course you will know the ins and outs of using the Objective-C language and be able to use either Swift, Objective-C or both to build iOS apps.
Location-Based Networking with Objective-C
One of the many fun things our iPhones can do is track our location automatically. We can use this ability to develop lots of interesting apps and in this course we’re going to use the CoreLocation framework and the Foursquare API to build an app that lists all the restaurants around us. We’ll learn a lot of new concepts including how to use a tab bar, how to write networking code using delegation and how to display content on a map.
In this course we'll build on what you learned in C# Basics. You'll learn about Object Oriented Programming (OOP). We'll use OOP to write the code for a tower defense game. After completing this course, you'll have learned most of the syntax of the C# programming language.
Network Programming with Swift 2
In this project, we're going to build a weather app together and broaden our understanding of Swift and Cocoa Touch frameworks. We will start by learning foundational concepts like networking and concurrency while building on our existing knowledge of data modeling, Auto Layout and more. We’ll even take a look at how we can structure our code better and construct decoupled classes and structs that lead to greater code reuse. By the end of this project you will have built your second iOS app and be well on your way to becoming an iOS developer.
Maya Modeling Tools
If you are already familiar with Maya’s interface and basic modeling tools, and are interested in diving deeper into 3D modeling workflow, this is a great course for you. In this class, you will be creating a fairly detailed 3D prop, and exploring many of Maya’s more advanced modeling tools. You will begin by working with curve and surface creation tools, which can offer some excellent advantages over polygon tools for many hard surface modeling challenges. Next, you will convert all of our surfaces to geometry that is compatible with game engines, and make some additional modifications using a few of Maya’s intermediate polygon and deformer tools. Then, you will take advantage of Maya’s advanced duplication tools in order to precisely position and distribute shapes that are repeated multiple times within our prop. And even explore Maya’s basic animation toolset to add some movement to our finished asset. By the time you finish this course, you will have a solid understanding of Maya’s hard surface modeling features, and will be able to use these tools to develop your own game assets.
Testing in Android
Learn how to use common testing tools available for Android development.
Displaying Data with Table Views in Swift 2
Table views are used in lots of cool ways in iOS apps. They let us display structured data in a simple manner. In this course we are going to use table views to add weather data for the upcoming week to our weather app from the previous course.
Components in Unity
Every GameObject in Unity can use components, which are pieces of code that can change how the game behaves. We'll explore some of the problems that can surface while programming and techniques you can use to untangle your thinking.
Saving Data on a Server with Swift 2
So far all our networking code could do was make GET requests but being able to send and save data to a server is just as important. In this course, let's improve our networking code and learn how to make a POST request. There are a lot of additional concerns when saving data and we'll spend some time talking about security, preventing malicious input and much more.
Querying With LINQ
Learn to query in C# with LINQ.
ASP.NET MVC Basics
ASP.NET MVC is a popular server-side framework developed by Microsoft that is used to build dynamic websites. In this course, you'll learn about the basics of ASP.NET MVC while we build a comic book gallery website using Visual Studio Community. Along the way, you'll learn how to create a new project, add controllers and views, model data, and create repositories.
Spring with Hibernate
Using Hibernate to manage relational data in a Spring web application is not only an extremely powerful and scalable approach, but also widely used. In this course, we'll add a database to an animated GIF library, and discuss some more powerful features of Spring and Thymeleaf, such as HTML forms, file uploading, form validation, and flash messaging.
Introduction to Kotlin
Kotlin is a newer language that runs in a JVM and and can be used to develop Android apps. You can interweave Kotlin and Java in the same app, and it brings new features for better safety, readability, and tooling.
At a glance, object-oriented programming can appear to be far more complex than simple procedural, or inline, code. However, this doesn’t have to be the case. Because object-oriented programing is similar to the way human beings perceive the real world, using the object-oriented approach, can help you visualize the solution to a problem more easily. Object-oriented programming, or OOP for short, is a style of coding that allows developers to group similar tasks into containers. In PHP containers are defined using classes. A class contains all the functions and variables that describe an object.
Build a REST API With Express
REST services are a powerful way of providing functionality over the internet. Not only can they be used as a foundation to build sophisticated web applications, they can also be integrated into any number of other projects, making them the ultimate in modularity and reusability! Instead of having to rebuild an application for several platforms, for example--iOS, android, browser, etc--you can build the back-end once and just add user interfaces as needed. You can build a REST service in many different languages/platforms, but for this course, we will be building one with Express, a popular framework written for Nodejs. We will also use Mongoose with MongoDB to persist our data. Let’s get started!
User Authentication With Express and Mongo
Learn how to implement a custom user authentication system that controls users access to web resources using Node.js using Express and MongoDB. The system lets users sign up, log in, and log out, limiting access to password-protected resources. Express is a popular web framework for creating MVC applications and RESTful APIs in Node.js. Express lets developers define routes and middleware for submitting and retrieving data in our database. We will leverage the document based NoSQL database, MongoDB, to store our user data by creating a user model with mongoose. Mongoose is an open source Node package for defining data models for an application and connecting to MongoDB.
Displaying API Data with Collection Views in Objective-C
In this course we learn how to display data in Collection Views by creating an app for browsing Instagram photos. In addition, we will learn the basics of the oAuth protocol, how to authenticate and sign into a service, how to download large files like images and much more!
Introduction to Core Data with Swift 2
Saving data on your device is a fundamental part of building apps and in this course we're going to learn how to use the Core Data framework to persist data between launches by building a simple to-do list app. We'll also learn how to utilize table views to display, edit and delete data by communicating with Core Data.
Introduction to Scroll Views with Swift 2
Scroll Views are powerful objects in iOS that lets you implement scrollable view in many different ways. In this course, we're going to build a simple product demo, like the tutorials you see at the start of many apps, and we'll do so using UIScrollView. We'll also learn how to interact with the user's touch gestures modify elements in our view.
Advanced Debugging in iOS
As your apps get large and encompass many hundreds of lines of code it becomes very easy to introduce bugs into your code. Some bugs are easily fixed but others lurk around, causing your app to become slow, leak memory and frustrate your users. In this course we learn how to use the Instrument toolset provided in Xcode to resolve some of the more trickier bugs that plague our codebase.
Unit Testing in iOS
Unit testing allows you to test your application for logic errors, prevent crashes, and even write better code. In this course, we cover the philosophy behind unit testing, ways we can structure our code to make it more testable and look at tools we can use to test our code. We'll look at both tools that come built in, like the XCTest Framework in Xcode, as well as a few third party solutions for both Objective-C and Swift.
Intents and Broadcast Receivers
Intents allow Android apps to communicate with each other in a standard way, and broadcast receivers enable an app to listen for specific events. In this course you'll learn how to utilize both to integrate your apps with other apps and aspects of the Android system.
Django REST Framework
You’ve been learning Django and building great things. Suddenly it hits you. How do I take all this data I have and make it available to the world? Look no further than Django Rest Framework (DRF). DRF is a powerful and flexible framework, on top of a framework (Django), for building RESTful Web APIs. Built-in features like the Web browsable API, authentication policies, robust serialization for your models and excellent documentation make it a great choice for your API needs.
Querying Relational Databases
Building off of previous SQL courses, this course will begin to introduce the student to more complex database concepts. Students will learn to think about data as sets and subsets and practice achieving desired query results via such operations as inner and outer joins, unions and except. They will also be introduced to the concepts of Set Theory and Database Normalization to aid in understanding good query practices.