Well… I’ve survived till Thursday.
Since Tuesday’s post I’ve had a few more thoughts about this whole “learning to code” thing. I’ve also had thoughts about the craziness of city life, wondering why parking can’t be a simple (free) offering to everyone, walked several miles of sidewalks and managed to get stuck on the MARTA system for a little while.
Add to all of that the fact that I’m trying to learn a coding language from the “first floor” up and we have a recipe for potential craziness or at the very least minor disasters.
Monday – Getting Started
So… Let me tell you just a little about the stuff I really came to Atlanta for. The code school stuff…
Monday morning we dove right into learning Ruby, the programming language we will be using as we learn to work with the Rails app framework. Now, all of us students have completed the CodeAcademy Ruby tutorial before we arrived. So we did have a bit of an idea of what we were getting ourselves into.
After getting over the initial process of installing all the necessary components on our computers we started building simple scripts that can be run from the command line.
In our first class we basically walked through building a very simple “black jack game” with our teacher (Shelby Switzer – you should totally follow her on twitter.).
Homework that was due the next morning was a guessing game. My version wasn’t pretty, or very smart, but it worked.
Tuesday – Hashes and Arrays – It’s all About Data
Tuesday we went over a bunch of the homework. One person would stick their code up for everyone to look at and another person walked through it line by line and said what each bit of code did.
Once we got finished with the homework stuff we talked about hashes versus arrays, how they are similar, how they are different and how to use them… homework asked us to build a “personality test” that stored answers and users for the scope of the program.
Again… my code worked, but wasn’t overly beautiful.
Wednesday – Remember The Code You Wrote – It Kind of Stinks
Wednesday was supposed to be a lighter day because of the Great Wide Open conference. We discussed methods and all of the great things that can be stored in methods and then called at a moments notice. Along with that we discussed instance variables and class variables.
Homework Wednesday evening was to rework our code from the previous two assignments and try to make it simpler and a bit better… hopefully I accomplished some version of that.
Thursday – Who Put Gas On The Fire!
Thursday (today) we moved to talking about classes. They sound great, but they honestly kind of freak me out. I’ll definitely be doing a fair bit of reading on them in the next twenty four hours as I am supposed to be building a horse racing game.
I have a feeling that I won’t like how the code looks in this piece of homework either. Hopefully it will be fully functional!
Simple Doesn’t Mean Stupid
This is probably one of the biggest things that I’ve learned this week so far. Start small. Make that work. Then add functionality bit by bit.
One of the hardest things for me to do is to think of a complete “stanza” of code and how it all ties together. When I start on something, my first impulse is to get as much of the complete project done as possible and then see if anything breaks when I try to run it. Apparently that’s not the best idea in the world.
Shelby was giving us some tips the other day regarding how we should go about building a program. Basically walking us through the “phases” of building. If I was to paraphrase what I got from it, I’d say something like this.
Make sure you know what your core functionality needs to be. Build that bit of functionality. Make it work. Then add some “flesh” to those “bones.”
Put it in a loop, add pieces to the puzzle, go piece by piece.
And that my friends is my best learn from the week. I’ve been a fan of keeping things simple for a long time, but for some reason forgot to apply it to writing code.
Technically I’m not quite through the first week of my twelve weeks of classes. We have class time Monday through Thursday and then Friday is for homework and figuring all the things out. Homework is definitely on the agenda for tomorrow.
I’m not sure what all I’ll do this weekend, but I wouldn’t be too surprised if I’d find some time to work on my homework. Even if I can get the basic functionality working tomorrow, there will definitely be a host of things I can do to make it better.
I should probably wash some clothes. I might should go grocery shopping. Then I’ve got a number of projects from “before The Iron Yard” that could use some attention… Oh, and some time I need to record another episode for the CorePresets show!
Then Sunday morning I need to find a pew that I can sit in…
… and Monday it all starts over! Oh, joy oh delight!
A peaceful weekend to each of you.