Honestly, I just thought programming could be cool. I remember taking a computer class in high school where we played around with HTML and thought it was fun. My friend told me there was a free class where you learn how to program so I decided why not. I mean, it was free. FREE! What do you have to lose if it’s free, right?
I’ve basically been in education and/or service work for most of my adult life. I graduated with a Bachelors in Philosophy and Self-Designed Nonprofit Work and a Masters in Philosophy. I’ve tutored for AmeriCorps and, as part of an undergraduate project, my friends and I helped create/sustain microloan and fair trade projects in Rwanda and Tanzania in Africa. These days, when I’m not working, I’m ranting about classic nerd stuff: video games, comic book movies, and the like.
Any “A-HA!” moment—that moment where something FINALLY clicks—is a great time. Like that time I suddenly understood recursion, or how pointers worked. Also, finishing any homework assignment is a big deal. For those who haven’t taken the course yet, just know completing the assignment “server.c” will probably go down as one of your greatest accomplishments.
Any "A-Ha!" moment — that moment where something FINALLY clicks — is a great time. Like that time I understood recursion, or how pointers worked.
On the positive side, I was surprised how hard I could get myself to work. For the most part, I’ve gotten myself to show up to class, tutoring sessions, and my partner’s place to code for hours at a time. Given my job and other responsibilities, I wouldn’t have thought I’d have the energy to spend so much time simply coding. Yet, here I am, about to go to class after finishing this profile. On the negative side, I learned that I don’t have as much patience as I’d like. Luckily, CS50x teaches patience, because you won’t get through it if, at some point, you don’t learn how to slow down. You need to learn how to strategize and plan your code before you actually write it, and you need to learn how to debug your code after it’s written. That takes a lot of time, which can be aggravating if you’re impatient.
First, find a partner (or partners) immediately. Working with at least one other person is a game-changer—or at least it was for me. When I worked by myself, I got easily confused, frustrated, and overwhelmed. Working with my partner changed that. It gave me an opportunity to explain what I understood, learn what he understood, and problem solve what we both didn’t understand. It also kept me sane because I had a person I could crack jokes with and vent to while working. I guarantee I wouldn’t pass this course without him. Second, always, always, always be working. Always. Don’t stop. If you get a holiday break, use it to catch up or work ahead. My partner and I programmed almost every day, did assignments before they were due, and were sometimes even a week ahead of the schedule—and we still barely turned everything in on time. The prep work takes a lot of time and the homework assignments are VERY long. If you’re not constantly working on them, they can become overwhelming.