Thursday, August 27, 2015

TreeHouse Git Basics by Tommy Morgan Course Review

Git is confusing to new programmers.  It is "version control software" and my only introduction to it prior to this tutorial was through the early chapters of Hartl's Rails tutorial.  While "version control" sounds like a scary thing and is really confusing at first, this tutorial is so strong at helping to clear up any confusion about Git which at its core simply helps track changes and empower programs to collaborate by allowing them to work on the same code separately.

This tutorial gives you everything you need and explains things in clear and precise terms.  Morgan not only tells you how to use Git, but explains how Git helps to both track many iterations of a project over time and how it can enable collaboration and sharing through GitHub.  Going into this, I had a rough idea that Git helped to save your work and could allow you to go back in time if you messed stuff up.  However, the finer points of branches, merging, pushing, pulling and the reasoning behind the software were lost on me.

In a relatively short period of time, Morgan gets you competent with Git and explains why you need it.  The illustrations of branches, remote repositories, and the art of pushing and pulling are just perfect.  If you are confused my Git, or even feel like you are almost there but need a little more explanation, you need to do this tutorial.  Additionally, Morgan works you through an introduction to GitHub.  GitHub is going to be crucial if you are going to share your work and become part of the programming community, but it is intimidating if you are brand new.  Morgan guides you through it and even shows you how to set up your own public repositories.

I came out of the course with the ability to explain what Git does and understanding everything from basic commits (saving your program to the repository) to what happens when Git is merging different versions of the program and how the programmer resolves conflicts between versions.  The course also features numerous opportunities to practice the commands and features manageable videos.  If you read my other reviews, you know I really loathe long videos and this section tops out around 6 minutes.  What this means is it is nicely broken down into teaching and practice.  I think it achieves a nearly perfect balance in this.

As a teacher, Morgan proves that you don't have to wear a funny hat or pack your lessons with jokes to be effective.  He is pretty low key,  but pulls this off admirably.  Taking me from loosely aware of Git to confidently understanding its purpose and being able to execute most basic commands is all I could ask from this course and it delivers strongly.

Well done TreeHouse!

Code Report!

Resources in Progress:
Total hours into Programming: 98 (4 since last time )
Days into Programming/Hours per day: 2.8 Hours Per Day (Goal:3.0)

Progress on Gaddis' Starting out with Python: Done With Chapter 1, Appendix A,B


Progress on Shaw's Learning Ruby the Hard Way: Finished Exercise 1-13

My Text game: 3 hours, 118 lines

TreeHouse (2558 Points, 32 Badges)

Code Academy Points: (733 points, 74 badges)

Progress on Hartl's Tutorial Ready to start Chapter 3! 

Resources Finished:
Josh Kemp's No Degree, No Problem 8/14/2015

Chris Pine's Learn to Program 8/9/2015

TreeHouse Make a Website Track 8/17/2015
TreeHouse Ruby Basics 8/20/2015
TreeHouse JavaScript Basics 8/22/2015
TreeHouse Console Foundations 8/24/2015 
TreeHouse Git Basics 8/25/2015
TreeHouse Installing a Ruby Environment 8/26/2015

Code Academy Make a Website Course 7/29/2015


Code Academy Ruby Course 8/5/2015
Code Academy HTML and CSS Course 8/24/2015

No comments:

Post a Comment