A Historian Learns to Code

4653088356 194d56a59a z

I want to learn how to code. This is a post about how I’m going to try and do that.

(This is also the kind of blog post that won’t stand the test of time. I know I’ll be struck by my own ignorance in a matter of weeks, but you have to start somewhere!)

Why Learn How to Code?


– Partly out of simple curiosity. I have used many software programmes while researching and writing my PhD, as well as blogging, using twitter, and all the other online distractions. I’d like to find out how these things actually work. I turn on my computer, double click on an icon, and I can do all kinds of things. It’s not clear how all those 1’s and 0’s I learned about in AS physics relate to the screen I’m staring at right now. I want to find out.

– Another reason to learn to code is the draw of digital humanities. Exciting digital projects constantly crop up (e.g. here, here, and here) and I want to understand how they are done. Maybe I can do something similarly cool one day.

My first THATCamp was back in 2012 and prompted me to learn about how to run a blog. I’ve taught myself how to use WordPress and some basic HTML/CSS to tweak things, which impressed me at the time. Now I’m ready to push on and be able to create some digital tools to drive my future research.

– Finally, there’s also the fact that coding seems to be a rather important skill for us twenty-first century dwellers.

Learning to Code: A Plan of Action

Of course, as a humanities student, I had to start with a book, which I recommend:

Code

I’m currently watching some introductory computer science lectures through some free online courses. CS50 from Harvard is going nicely for me right now (I might even buy the t-shirt!). Because I’m a complete beginner, I’ll do Udacity’s version as well to reinforce things.

I’ve got as far as choosing Python as my first programming language. There seems to be plenty of conflicting advice on which language to start with. But I like animals, so Python will do.

Many of the ‘how to learn to code’ resources I’ve read suggest jumping to actual coding as early as possible. I did some HTML lessons at Codeacademy last year, so I’ll go back there again to get my feet wet after the online computer science courses.

That’s as far as the plan goes for now.

The Programming Historian seems to be exactly the website I’ll eventually need, but at the moment I find it a little intimidating. I have no idea where to start.

There is a chicken and egg dilemma as I take some basic introductory lessons: Soon I’ll need a small project to work on to give purpose to my learning, but I currently have no idea what that small project could be. I don’t know enough to understand what is feasible with rudimentary coding skills. I’ll have to cross that bridge when I come to it.

My Commitment

This isn’t a full speed ahead commitment – I’m still working on my entirely non-DH dissertation – but I intend to use coding as a productive distraction after a day of dissertation writing.

The  point of this post is to publicly commit to learning to code. I’m at the beginning of this journey and will blog my progress along the way.

Follow along – or shame me into doing more – on my codeacademy page or, once I’ve worked out what it’s actually for, on my GitHub page.

I have no idea where this will go, but as an evening hobby there’s no down-side and at least I’ll learn a bit of code.

Wish me luck!

Anyone who already has the most basic coding skills will know that I clearly have no idea what I’m doing, so feel free to help me out in the comment section!

  • Mark

    I think this is a good idea. It is a useful skill to have and digital humanities/history is on the way up. Good luck with it.

  • Ian Milligan

    Great idea!

    For Programming Historian, the best learning pathway in mine (and my students) experience begins with the Getting Started with Python sequence. So begin here – http://programminghistorian.org/lessons/introduction-and-installation, proceed to the lesson for your OS to install Komodo Edit, and then just keep following the ‘next lesson’ tab at right.

    It should hopefully be a gentle learning curve, but if not, let us know in the lesson comments.

    Good luck!

    • http://nickblackbourn.com/ Nick Blackbourn

      Thanks. programminghistorian.org is clearly the place for me! I wanted to get a bit a grounding in basic computer science before getting dirty with actual coding. So far, so good.

      • Ian Milligan

        Makes total sense to me. Looking forward to seeing how it goes!

        • http://nickblackbourn.com/ Nick Blackbourn

          I thought I’d download Komodo and get Python set up, which prompted 45 mins of wondering why I kept getting ‘return 0′ rather than the ‘hello world’ I wanted to print in the Command Output. Turns out I just needed to enlarge the Output panel. There’s a long road ahead… :)