Showing posts with label code academy. Show all posts
Showing posts with label code academy. Show all posts

Sunday, September 6, 2015

Programming Practice Vs. Programming Tutorials

I love tutorials.  I especially love tutorials that give me points and badges.  This is one of the reasons why I will do an exercise every day on Code Academy despite the fact that I have long ago given up on it as a great resource for me to learn code.  I have moved on to TreeHouse which I really love.  However, is there a time when tutorials hinder more than help?

Tutorials are wonderful for a number of reasons.  You are always making progress, you are always learning new things, and there are a number of built in confidence boosters.  Even if you are not understanding as I experienced with the Rails course, you are still getting points and moving along!  However, if you are not careful, you will end up knee deep in the tutorials and stunting your progress.

One of the dangers of hanging out in the tutorials is that you can become very reliant on their environments, forums, and constant positive feedback.  When you work on your own, you don't get any badges and some of the problems you face may take hours to solve.  You may fail to solve some of them or there may not be a solution at all!  You have to search high and low to find what you need and it is rare when the answers are in any kind of easily digestible format.

However, making your own programs is the goal!  Yesterday I was buoyed by my creation of a very simple program which simply takes information I input and processes it into a usable format.  As a professor every semester we need to take a series of archaic numbers and turn them into averages.  Now, I have a program that will do it for me!  It made use of my work with loops, but there are still more improvements I want to make.  That said, it was very gratifying to help solve a real world problem with my programming knowledge.  It is also empowering to make something on your own without a friendly face (who you are paying for) guiding you every step of the way.

Am I going to stop using tutorials?  Of course not!  However, I am going to work on getting out of them more often so I can refocus on the task at hand: making programs on my own.  Even though I ran into a host of problems making my little program, it was so empowering to solve them based on my own research!


Resources in Progress:
Total hours into Programming: 114 (3 since last time )
Days into Programming/Hours per day: 2.5 Hours Per Day (Goal:3.0)

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

My Text game: 3 hours, 118 lines

TreeHouse (3637 Points, 42 Badges)

Code Academy Points: (753 points, 79 badges)

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

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


Resources Finished:

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

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

Created a Program for Teaching Evals 9/6/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
TreeHouse Making a ToDo Rails App 8/31/15
TreeHouse Ruby Logical Operators 9/4/2015
TreeHouse Ruby Collections 9/5/2015
TreeHouse Loops 9/6/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

Thursday, August 13, 2015

Entering the TreeHouse (vs CodeAcademy)

Today was a pretty busy work day, so I did not have a great deal of time to put in to my coding exploits.  That said, I have decided to try out Treehouse.  Treehouse is roughly similar to Code Academy, but features a few key differences:

(1) The worst, it runs $25 or $50 for a premium membership.  I am currently on a 14 day trial but in order to get the trial you do need to provide a credit card.  So, compared to Code Academy, this is a definite downgrade!

(2) Videos!  I always said I did not love videos because they require a measure of absolute attention which I do not often have to give (sometimes I try to sneak in lessons while my son plays with legos!).  However, the videos have so far been really helpful and explained the information much more fully than the brief text blurbs on Code Academy.

(3) Quizzes!  As a professor, I love quizzes.  These prevent you from totally zoning out during the videos and actually listening.  They also focus you more on learning and less on simply getting through the exercises.  If you missed something that was important they can also refocus you.

(4) Tracking!  When you first begin they ask you a few more questions about what you want to do with your coding training.  While, as a newcomer, I found this a bit frustrating because I don't know exactly what I want yet, the system was a a little bit more robust than CodeAcademy's.

(5) Robust Profiles!  At CodeAcademy, you get one point per lesson.  Sometimes the lesson takes 2 seconds, like ones where you read a line and click save.  Others take 20-30 minutes of struggle depending on how much willpower yo avoid cutting and pasting you have.  At any rate, getting one point becomes pretty demoralizing after a while even though this makes no real difference in how much or little you learn about coding.  Tree House has a similar points system but there are different values for different tasks and you can also get points from being a valued contributer to the forums.

At this point, I am less than 2 hours into TreeHouse and have spend well over 30 hours on CodeAcademy, so I am not really qualified to weigh in with any kind of final verdict, but those were my thoughts after just a sampling of TreeHouse.  I should also mention that I am not into the coding part yet, I am just doing the basic HTML which they sort of force you to do unless you just opt out of the tracks altogether.

Total hours into Programming: 59 (.5 yesterday, I have had faculty orientation for 2 days, its been rough)
My Text game: 2 hours, 107 lines

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

TreeHouse (105 Points) Code Academy Points: 567
Code Academy Badges: 60
Code Academy Skills Finished: 2 (Make a Website, Ruby)
Progress on Hartl's Tutorial Ready to start Chapter 3! 

Books Finished:
Chris Pine's Learn to Program 8/9/2015 

Friday, July 31, 2015

Ruby on Rails Tutorial: Day 1

After a very confusing intro to Ruby on Rails via Code Academy (where I somehow managed to "complete" 24% of the lesson), I was not feeling so confident about apps, Ruby on Rails, or much of anything really.  Tonight, I started Michael Hartl's Ruby on Rails tutorial book which seems to be a real standard in learning the ropes of Rails.  I spent about 2 hours with it so far and have completed 1-1.4.1.  This doesn't seem like much and at the end of the day it is a very small chunk of the tutorial, but I am trying to take my time and really learn it.

So, how is it for the complete newb?  I like it a lot, actually.  I am actually working in an Integrated Development Environment, and it is really explaining in detail what is going on at every stage.  I was introduced to Cloud 9, Git, and Bitbucket today and I have a pretty solid concept of what version control is and why programmers do it.  Hartl does a nice job of explaining what is pertinent to the new coder without speaking a different language I would never understand.  I was also really happy to recognize some of the formats I had learned from the Ruby Code Academy tutorial and understood what was going on when instructed to place a method within the controller.  I also now have a clue what a gem is and understand what is happening on some basic level when rails designs the framework for your new app.  So far, I really love it!

I also worked through a few lessons on Python this morning which were much easier and faster than my early Ruby lessons.  I am enjoying the learning process and have actually had a few moments today where I knew what to do without making many, many mistakes and having to scratch my head in frustration.  Good day!

Total hours into Programming: 30 (4 today)
Progress on Hartl's Tutorial 1.4.1
Code Academy Points: 368
Code Academy Badges: 43
Code Academy Skills Finished: 2 (Make a Website, Ruby)

Thursday, July 30, 2015

Ruby: Finished!

I completed the Ruby lesson a few minutes ago and while I know a good deal about terminology (method, classes, procs, variables, modules, etc) I really have no idea how I would sit down and write a program.  The encouraging and upbeat language of the tutorial seem confident that I have some new found skills, but I don't believe it at this point.  I think that they need to come up with some additional levels or practice projects to really push the person into the realm of programming.  Code Academy does not do a good job of introducing you to anything beyond their tutorials, does not address how one sets up a coding environment on their own computer, or what the process is for turning your code into a functional program.  While I appreciate the lessons and I definitely feel like I am on the cusp of being able to create, Code Academy has, to this point fallen short on prepping me to make much in Ruby, set up my own environment, or really get started outside of their comfortable shell world.

That said, I love it as an intro and as a starting point.  I think next I am going to do the Ruby on Rails lessons in tandem with Michael Hartl's Ruby on Rails tutorial book (free online!).  While I have only read Hartl's into I can say he does a much better job getting a beginner set up to code in a real environment that Code Academy at this point.  More to come!

Code Academy stats:
Skills:2
Points: 327
Badges: 39

Wednesday, July 29, 2015

Code Academy: Pushing You Right Along

One complaint I have with Code Academy is that it seems more interested in awarding me a badge rather than teaching me context, meaning, and mastery.  The lessons are very to the point and you can get through them pretty easily.  I do feel like in terms of the nitty gritty of executing the code, you do get better by going through.  That said, it does not explain why you need to do these things or give any real qualitative explanations about why things are this way and why you might need to worry about them.  At times I must also admit that I gave up on understanding the slim text and just used the code provided by fellow students in the forums as a template for understanding.  I believe this is probably pretty common among beginners.

Other times, it goes into depth that cannot possibly be digested meaningfully by beginners and seems pretty arcane.  I desperately tried to understand why one would use lambdas vs. procs for quite some time.  They seem to be more or less the same outside of a few differences which I was not able to wrap my mind around.  Despite the fact that I did want to learn more, Code Academy pushes you relentlessly forward.  In some ways this misses the point.  I want to go through the lessons so I understand the coding process, not simply so I can earn badges.  I am hoping that as I go through more lessons and begin to code some of my own primitive projects some of this will come to make sense.

It's amazing how much resistance the brain puts up to learning new things once you reach a certain point.

For Reference:  279 points, 35 Badges

Tuesday, July 28, 2015

Ruby: 60%

I am around 60% through the Ruby tutorial section and I am stuck.  I tried to check out the Q and A stuff others have posted, but nothing directly applied.  Therefore, I have asked my first question.  Rather then wallow in failure, I have completed some small "code bits" on the site which are small exercises that primarily seem to be there to build confidence.  I did move through them quite easily which helped to dull the pain of being stuck on what I am sure is a very basic Ruby lesson.

In other news I purchased a book called "Help Your Kids With Computer Coding" by DK Publishing.  It is intended to be a resource for parents teaching their kids, but I think some of the straightforward talk about how to start, installing the IDLE, and many of the basics have been really helpful.  I really enjoyed it even though its very basic.  On a side note, my son (age 6) was interested in it as well.   I wanted to buy a more serious programming book, but the bookstore only had this one.  What has happened to bookstores?  All I could find was Ipads, Iphones, and Word for Dummies.  Really?  In the mid 1990s, we were all sure everyone would be very knowledgeable about computers by 2015.  While people are certainly more capable of using the programs, I think computers remain as mysterious as ever to most people.  (Clearly me included!)

So... I am kind of stuck but also continuing to learn.

Sunday, July 26, 2015

Code Academy Days 1-3

As I previously mentioned, I come to this with basically no knowledge.  I did some work with basic about 20 years ago and was not very advanced then,  As a history professor, I have no day to day background in this.  This is, partly, what makes the process so intriguing to me.  Code Academy is well marketed and really does make you feel like it can help you learn to program with no real background.

So, does it work?  Well, I have been at it for 3 days.  I have around 170 points and 25 badges which equates to around 15 hours of work.   I went through the HTML introductory lesson pretty quickly and I am now around halfway through the Ruby programming language one.  Some of the lessons are smooth and very easy to follow.  Others are exceedingly vague and you have to go sifting through the forums to find your way. .  One thing is clear, I will be nowhere near ready to do anything on my own when I finish the Ruby lesson.  While the lessons teach you how to work within their nicely curated format featuring an editor and an output box which will allow you to see what your programs do, I have no idea how to open or begin to actually Program in the language at this point.

I have taken copious notes and can make things happen if I concentrate and follow along.  However, I feel sort of rudderless in terms of what I might or might not do in Ruby or any other language.  One thing I think the Academy needs is more forced practice.  While you must get your answers correct to move on in the lessons, one never really practices and masters.  One gains a basic level of familiarity and then it is on to the next thing.  Also, so far, there is very little practical talk about why I want an array.  What might I use an array for?  I have determined that Code Academy is a great first step, but that I am going to have to use it along with other resources to become a functional intermediate programmer.

Help, ideas, books?  Feel free to drop me a line!

..amazed, excited, empowered...frustrated.

Getting Started


A few days ago, I decided to see if I could learn how to make computer programs.  This happens just about every day, but in my case it is a little strange because I already have a career as a history professor.  In college I studied history and finished my Ph.D. in 2008.  Since then, I have been working at a small liberal arts college using computers but never much thinking about how they work.

Honestly, I can't think of a particular reason why I am interested in computer programming outside of my teenage years.  As a teen, I assembled my own computers, worked as "SysOp" of my own Bulletin Board System (BBS), and tinkered with my computer endlessly mostly in an effort to get it to play a host of computer games.  I worked with some Basis computer language and even did a high school independent study where I designed a lengthy but simple program.  I did some work on some very simple text games.  However, ultimately, I drifted away from this as I attended college and at this point I am no more computer literate than your average 35 year old person.

I don't know what I want to do with the skill of computer programming, but I do have a mini-goal.  I want to create an ap to go along with my basic history courses.  I don't exactly know how that will work yet, but I will be sharing my ups and downs in the coding world here.  After a basic google search, I have begin work in Code Academy which advertises itself as a (free!) site to help people teach themselves to code.  I completed the basic HTML lessons and am now around halfway through Ruby.  I also have begun to look at the MIT Open Courses (http://ocw.mit.edu/index.htm) and have started on the basic computer science course.

More to come as I have more to say!