Showing posts with label GitHub. Show all posts
Showing posts with label GitHub. Show all posts

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

Tuesday, August 25, 2015

Coding: The Best Path for Career Switchers?

As a history professor with well over 10 years of university and another 7 years of teaching on the tenure track, I know a fair bit about the world of higher ed.  Students arrive with great hopes of finding themselves, their dreams, and their calling all in one four year stay on campus.  For this training and admittedly life altering experience students pay a hefty price often accruing tens of thousands of dollars in student debt.  As a recipient of my own tens of thousands in debt, I feel perfectly fine about the exchange as I am sure most people with fulfilling careers do.  I would much rather be in debt with my current job than debt free doing something I totally loathe, even if I might be a little more wealthy in the long run.

However, if one ever wants to enter a different career path, college is pretty daunting.  Not only does one face the cultural adjustment of returning to school, a host of real life challenges such as family, but the possibility of accruing even more debt with less time to pay it off.  That said, for entry into most alternative career paths, a person will likely need to go or return to college.  For most people, this just is not realistic.

Enter: coding.  Since I first took a notion to start coding in July, I have logged in nearly 100 hours working on it.  My total expenditures on the endeavor total $41.  I have paid for Pine's Learning to Program book (which I could have gotten for free online) and $25 this month for TreeHouse which is a service I really love.  Compared to university, this is pennies.  If I keep my TreeHouse subscription all year and buy one new book a month for $20 (and honestly, most of them are actually free!) I will spend under $600 this year on coding.  This amounts to 2 credits (of a minimum load of 24 annually) at a university and if I mastered 12 books and worked TreeHouse all year I would be in a good spot to at least consider applying for jobs competitive or better than those college graduates would compete for after 4 years in college.

The magic of coding is that it is an measurable (as we say in the academic world) skill.  If one successfully navigates themselves to the point where one can code, the proof will be in the pudding.  That person can create a host or programs for local businesses, non profits, or even just to build a portfolio to prove they can code and share it with the world on GitHub.  Unlike many fields, coding can be assessed - you either can or you cannot.  This makes it much easier to break into than other degreed fields.  With skills you can demonstrate, you are employable.  While I am not discounting a computer science degree, I am sure this is actually much more well rounded and includes a lot of deep theoretical knowledge that practical self study simply can't provide, for a career switcher coding is gold.

The languages are free, the editors can be had for free (or for less than a basic into biology book if you really want a nice one), the training materials range from free to cheap, many of the best books and tutorials are free online!  Additionally, coding has a tremendous community.  In the past month, I have met so many super nice people who are encouraging and helpful - many of whom are already successful programmers!  Unless you sign up for one of the high priced bootcamps you can figure out if coding is for you primarily with an investment of time.

Finally, let me also point out what an amazing time we live in for all of this stuff to be to accessible.  When I was a teenager, coding training, languages, etc were hundreds of dollars, now they are there for the taking!   To me, making computers do new and interesting things is one of the most powerful things we could ever learn to do in 2015.  We do not have to pay dearly for this power, we only need to apply our time and efforts to learning it.  If I told you all the ways that programming a computer could help change the world you would expect it to be very expensive training with a line out the door to learn and an elitist community hellbent on protecting their interests.  Actually, it is a welcoming community which freely exchanges training materials and is seeking to recruit more people to help do this important, interesting, and potentially revolutionary work.  I am by no means a programmer yet, but right now I can't think of a better investment of my evenings.


Resources in Progress:
Total hours into Programming: 92 (2 since last time )
Total Weeks Programming/Hours per week: 4/23

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 (1939 Points, 24 Badges)

Code Academy Points: (704 points, 72 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 

Code Academy Ruby Course 8/5/2015


Code Academy Make a Website Course 7/29/2015

Friday, August 14, 2015

Git Immersion Tutorial

So I broke down and purchased Josh Kemp's "No Degree, No Problem" (more on that later) and one of the early lessons I kind of skipped over was a brief tutorial on the version control utility "Git".  As I understand it, this is simply a way to track the changes to your programs as well as collaborate and share your work through GitHub where folks can presumable browse and edit your work without destroying all past versions of it.

Git is one of those things you just have to learn about and it does make some basic sense.  The tricky part about it is that you have to work on a terminal to use it and it works best with its own Terminal (GitBash).  Does everything need its own terminal, really?  However, I was able to work through the first 12 or 13 lessons as well as establish my own SSH key with only mild frustration and a few searches of Stack Overflow.

Do I totally understand Git and how it works?  Hell no.  However, I have a broad sense of how it works and have now worked through it twice on a basic level, the first bring when I did the early portions of Hartl's tutorial.  I do plan to finish that, but I am working on a few earlier steps first because it has a bit of a reputation as a beast of a tutorial.

Are you on GitHub? I would love to see some work and check out how people use it if you are!

Total hours into Programming: 62 (3 today)
My Text game: 2 hours, 107 lines

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

TreeHouse (228 Points, 4 Badges) 
Code Academy Points: 568
Code Academy Badges: 60
Code Academy Skills Finished: 2 (Make a Website, Ruby)
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