smartgrrrl's guide to stuff

smartgrrrl's guide to stuff header image 2

Learning to Code

January 10th, 2012 · No Comments · writing

I joined Code Year 2012 yesterday. Not (necessarily) in an effort to improve myself, by which I mean my chances at finding full-time or more freelance employment, but primarily because my love for learning new things has been somewhat reclusive of late, unwilling to take chances or risks for fear of … something. Failure, probably. Or that I’d be just mediocre at it. I don’t know why my brain can’t be satisfied with just being OK at something, but no. It insists I be brilliant at all things from the moment I try them. My brain is the worst.

But one of my new year’s resolutions is “learn something new,” and I was in the right sort of curious mindset when I read a brief article about Code Year yesterday morning, and actually I do want to learn more programming stuff to help my job prospects, and I’ve always been interested in how the Internet gets made. When I was still in graduate school I taught myself HTML, just for fun. I think I was drawn to the mathiness of code; after spending so much of my mental energy grading papers, creating lesson plans, reading difficult theory books and writing both my dissertation proposal and a slew of conference papers and proposals, it was so nice to write something not abstract. Something that, if it didn’t work, had a concrete solution.

I got to the point where I could create a really crappy website from scratch (and did, and wow was it crappy. Not, like, Geocities or Angelfire crappy, but close), and I started learning about CSS and then Javascript before I had to turn my attention to what I was supposed to be doing, and I never got back to it. (Unless I had to tweak something in an already written CSS, which I am occasionally called upon to do. Usually with my own websites with their pre-existing themes.)

So I’m pleased that Code Year 2012 starts off with basic Javascript programming, and even more pleased that I find it challenging yet doable. I’ve finished the first week’s eight-part lesson already, and I cruised through the first five or six parts, tricking my brain into thinking I am a programming GENIUS, and then I got stuck. And I didn’t get stuck in a “how do I do this” way, I got stuck in a “why did that work” way. I got the go-ahead to move on to the next lesson, but I could see that the code wasn’t right. Dan had to explain later that while my version of the code was technically correct, I had it ordered incorrectly.

He also had to explain why this particular code would be useful to programmers. The code had to do with numbers, and it had to do with counting, and I failed to see the practical applications — unlike the other bits of code that prompted a user to enter his or her name. I see how THAT would be applied to a website or program immediately. This is a thing that has always been true of my learning process: Not only do I need immediate hands-on lessons (which is why Code Year is proving to be my favorite tutorial so far — I get right in there), but I also need to have concrete examples of why something might be useful. I’m sure getting a program to count up or down would be tremendously useful, but I’m not a programmer and don’t have a programmer’s imagination and I can’t think what I would use that code for. And it’s embarrassing to admit that, for surely there are programmers among you who are scoffing right now, but I’m fine with putting this here because it will serve as an (embarrassing) reminder when I finally cross over that barrier preventing me from seeing what you all see. Until then, I’m sticking with “Yay, I got the computer to count to 5 and then stop. So there’s a thing I can do now. Woo?”

I got super-stuck later on, after I’d finished the lesson and moved on to the extra project designed to test my new skills. I was supposed to write a program that would eventually count to 20, replacing each number divisible by 3 with “Fizz,” each number divisible by 5 with “Buzz,” and each number divisible by both 3 and 5 with “FizzBuzz.” I guess this is a a fairly well-known word game, though I’ve never heard of it before, and it’s also apparently a litmus test for programmers on the job hunt to filter out those who can’t program at all. In which case I think it’s absolutely fantastic that Code Year is using it in their very first lesson. What a fun inside joke.

I ran into my other learning process trap, though, in that I knew what I was supposed to do and I understood how I could make it happen, but I kept overlooking something in the code and couldn’t figure out what. And then, a few times, I was able to figure it out. And when I got the program to write “FizzBuzz” instead of 15? Huge endorphin rush. You’d think after all my time spent playing video games that I would be used to that by now, but the spark of pleasure that happens when I figure out how to get out of a room in Portal is very different from what happens when I finally figure out the answer to 63-Down, or when I finally get the code to work. I finally got the code to work! I made something happen on the Internet, sort of! That was cool.

And the people behind Code Year, the people of Codecademy, totally get why that’s cool, and that’s why their crash course in programming is loaded with rewards like badges and achievements. I love it. I have points! I don’t know what the points mean, maybe they’re totally arbitrary, but I have them! They’re mine!

I wish I hadn’t whizzed through the week’s worth of lessons. I want to learn more! I want to work ahead! Ah, the last obstacle in my learning process. You’d think it wouldn’t be an obstacle, but it is. I can’t slow down once I get started on something I’m excited about, and this sometimes leads to breezing past things I should pay more attention to. Something to keep in mind as I move forward.

Related posts:

  1. I don’t know why I do this to myself. So I wasn’t planning on participating in NaNoWriMo this year....
  2. Day off I didn’t have to go into the office today and...
  3. Aha! I think. There are a couple reasons I’ve been quiet over here,...

Tags: