5 Reasons Treehouse is Great for Beginners
Tags: treehouse, beginners, selftaught
Published: 2020-10-28 00:57:29

When I was first learning how to code, I spent a lot of time on a lot of learning platforms. While there are plenty of resources, free and otherwise, out there, Treehouse soon became my go-to programming education resource. If you are a beginner, or are picking up a new skill or framework, I highly recommend it! 


## Guided Tracks
Treehouse allows you to take courses on their own, or pick tracks that consist of recommended courses, in a logical order. These tracks can focus on languages (Beginning Python) or disciplines (Full Stack JavaScript). When exploring new tracks, Treehouse gives you examples of companies that use the concepts you’ll learn, a general idea of salary expectations for people who’ve conquered the skillset and a short trailer video. 

I am goal-oriented, especially when it comes to tackling a new challenge. Each track comes with an estimated time for completion that is reduced. As you complete individual courses, the time to completion reduces and courses get marked as complete. This small part of the UX does wonders for motivation. 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6rskk3zlc79h35m8mn0z.PNG)

## Short Video Lessons
All of Treehouse’s courses are video based. Instructors walk you through the topic at hand in short, 2-10 minute videos that are interspersed with interactive graphics and the instructor’s screen as they actually code. Each course is broken into what I like to think of as chapters. Each chapter has multiple videos, and often reviews and coding challenges.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/f7ybtdg1k4lj3r68mzon.PNG)

This format was great for me as a beginner, as I would tend to speed read through the all-text lessons I found online. The short videos, broken up with quizzes and challenges, made me take a breath and absorb the material. 

You can pause, restart and skip videos if you’d like. You can also choose the video speed, allowing you to speed through concepts you are already familiar with, and take time with more difficult concepts. There are also text transcripts, which are great for accessibility and clarity.

## Code Challenges & Review
After every few video lessons, you’ll be presented with a code challenge. This is your chance to put what you’ve learned into practice. Often this is a repetition of an exact coding example in the video itself. Programmers familiar with the material won’t get much out of the challenges, but they are great for beginners, new concepts and refreshers.

You’ll also be challenged with reviews, or quizzes, often at the end of each chapter. The quizzes consist of multiple choice, true/false or short write-in questions, meant to test your knowledge of the material you just went through. These questions can be about coding concepts, the history and utility of the language or framework, and best practices. 
You’ll be awarded points for each challenge and review you pass, which leads us to…

## Gamification of Learning
Treehouse makes great use of gamification throughout the entire platform. Watch a video lesson? You get a point. Pass a coding challenge? You get a point. Provide a correct answer in the active student forums? You get a point! EVERYBODY GETS A POINT!
![Oprah Gif](https://media.giphy.com/media/COYggJB0KnADm/giphy.gif)


You also receive badges as you complete lessons, courses and tracks. You can see them all on your profile. Unfortunately, Treehouse doesn't make it easy to share these badges outside of your profile. What if you want to share them on your portfolio without having the save all of the badge images? Run this script in the console:
``` JavaScript
achievements = document.getElementsByClassName("content-block-list")[1].children
achievement_list = []
for(badge of achievements){
       achievement_list.push({
      title: badge.querySelector("h3").innerText, 
      descrip: badge.querySelector("p").innerText, 
      img: badge.querySelector("img").src,
      achieved: badge.querySelector(".content-actions-container p").innerText
    })
}
```
Now you have all the necessary information to recreate your badges on your own website or application. The code above will return an array of hashes, with each hash containing the information for one badge.
``` 
$ achievement_list[0]
{
  title: "Understanding Classes", 
  descrip: "Object-Oriented PHP Basics", 
  img: "https://achievement-images.teamtreehouse.com/badge_php_oop_stage02.png", 
  achieved: "Jan 19, 2021"
}
```

Your total points are displayed on your user profile (here’s [mine](https://teamtreehouse.com/lizlaffitte) ), as well as a breakdown of points by language/framework/skillset. While it’s fun to just try and improve your own high score, it’s more fun to beat other people. Treehouse doesn’t link to their leaderboards anymore, but they still [exist](https://teamtreehouse.com/community/leaderboards). You can see your badge and points rankings by time frame and topic. 


## Low Cost
Plans start at $25/month, but with their referral program, you can actually end up with a free account. For every person that signs up for a paid account with your referral link, you get 20% off your subscription. Five referrals = free account! (Here is [mine](http://referrals.trhou.se/lizlaffitte), if you’re interested.)

Even without a referral, you can definitely get your money’s worth if you are actively putting in the time. 

If you are ready to learn something new, but not ready for a bootcamp, give Treehouse a try! It is great for self-paced, self-taught programmers.