Monday, August 24, 2015

TreeHouse JavaScript Basics by Dave McFarland Course Review

I entered this course a little bit differently than I entered the HTML and Ruby courses and I do think this colored my experience a bit.  When starting those courses, I had completed a number of resources focusing on the material already.  This does not mean I had them mastered, but I had at least seen the syntax before.  With JavaScript this was not the case.  This was the first resource I had ever worked with to learn JavaScript.

At first, this was tough.  While McFarland is the most natural of the three teachers I have encountered on TreeHouse, he is also the fastest.  In fact, for the first time on TreeHouse there were times I totally stopped following along on their integrated Workspaces platform.  This man types like a friggin maniac and even for those who type pretty quickly you are going to need to pause it.  Combine this with some of the strange syntax embedded in JavaScript and there are going to be some moments of confusion.

That said, I think McFarland might be my favorite of the teachers in terms of his manner with the viewers.  He is very natural and conversational and you do feel like you are in a classroom with him.  Once I decided to just focus right in on what he was saying and picking my spots on Workspaces, I was able to get what he was saying pretty easily.  While some of the other teachers can hammer a simple point over and over again, McFarland doesn't do this.  He gets right to it.

I should also point out that the explanations built into the course are really nicely done.  He explains concepts such as if/else if/else statements and functions in the best way I have yet heard (and I have read a lot on these basic programming elements).  McFarland draws in real life examples and features helpful visuals to back up his points which add a lot to the course and really help you understand what the benefits of a function or the if/else tree are.

This course also features a bit of a different element: integrated challenges.  While it still has quizzes, simple code challenges, and videos a few times throughout the course he will give you a more complex challenge separated off in its own video.  In these challenges the directions are embedded in Workspaces and you are to work through the solution on your own before playing how he solved it in the next video.  I thought these were a nice touch and added another level of complexity to the course.  I also felt these were doable.  Some code challenges (Pine I'm looking at you!) are insane for the level of the person working them.  They seem to come straight from the moon.  These challenges are ones that you can actually do at your level.  There is nothing more devastating than reading a code challenge and feeling like "Ok, I'm an idiot" right after you read it.  These can actually be done by someone of the course's target's level.  

This course did, however, seem to be a little bit out of step with Ruby Basics just in terms of its coverage.  It was much more extensive and deeper than the Ruby basics course.  You get pushed through a lot of important and basic concepts, and you are expected to be a semi-functional basic programmer when you get done.  While the Ruby course really was like dipping your toes in a new language, this course throws you in a bit more.  My only other issue was that at times my Workspace did not function all that well.  I am sure this was due to my internet settings on my browser or something simple, but it did happen from time to time.

Overall, this was a nice course which felt a lot more challenging than Ruby Basics.  I spent more time pausing, taking notes, and thinking as opposed to simply waiting for the videos to end.    If McFarland would slow it down just a hare I think we would have the perfect formula here.  That said, I understand (as a teacher of sorts myself) how excruciating it can be to slowly work through simple material.  I am sure he is doing his best, but sometimes old newbs like me need it just a bit slower!


Code Report!

Resources in Progress:
Total hours into Programming: 90 (3 since last time )
Total Weeks Programming/Hours per week: 4/22

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 (1779 Points, 21 Badges)

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

Code Academy Ruby Course 8/5/2015


Code Academy Make a Website Course 7/29/2015

No comments:

Post a Comment