From CS50 to Ruby and elsewhere

I’m still slowly making my way through the online computer science course I’ve mentioned before. It’s time commitment is significant so I’ve also been doing some simpler courses which can be fit into 15-20 minutes during lunch breaks (the weather makes it easy to choose to stay indoors at lunch).

I’ve completed Codecademy’s “Learn Ruby” course. Unsurprisingly, two weeks of 15 minute lessons is not enough to really learn Ruby. However, the broad, shallow overview of a different language has fit nicely with the more in depth lessons I’m doing in C. I’ve found it’s helped me to get more used to coding as a practice by seeing some of the common ideas across languages.

Two evenings of writing a very small, simple programme in Ruby (a “Fizz Buzz” task) ended up with me installing not just Ruby on my computer but also Git, and then starting to learn the BASH commands to use Git to update the record of my programme on GitHub

This is probably excessive for an 11 line interpretation of simple maths game.

Learning coding in 3,872,104 difficult steps

I’ve been interested in coding for a long time. But I’ve never committed to learning it before. A few times I’ve started courses on sites like Codeacademy and quit them after a week or two.

So why try again now? When I tried before I worked in a field which didn’t need many technology skills. I was a press officer and I was doing well in that career so coding seemed like a distraction.

Now that I work in a technology start-up I’m working with developers every day. I write tickets on Jira and I help them out with testing. And when talking to our users I have to explain how parts of the site work. I can keep up, but I know I could do more.

A second change is in my mindset. Previously I didn’t like starting new things, I like falling back on the stuff I’ve always been good at and which I feel comfortable with. But by moving to Germany I’ve had to get used to doing new things, and doing them badly. Learning the language, getting used to the culture and understanding how life works differently here.

I mess up every time I speak German. I screw up when I try to change energy suppliers. And I’m getting used to feeling out of my depth.

But I have to keep looking forward to the rewards it will bring in 1, 5 or 10 years time.

So with that in mind, why not try to learn to code? I want to open up more possibilities in my career, and I’d like to make projects for my own interest too. I know I’m going to be frustrated and feel stupid, but I’ve got to start somewhere.

That somewhere is taking Harvard’s Introduction to Computer Science course through EdX, or “CS50” as it’s commonly referred to.

My first assignment was to make a small project in Scratch, an app where you code by dragging and dropping jigsaw pieces with different instructions on them. You can play the game I made at this link, you’ll need to do it on a desktop computer rather than phone.

Game built in Scratch
Catch that ball!