Skip to content


Repository files navigation


This repo helps document my progress in learning how to code in programming languages new to me, with an initial focus on Python and Scratch. Apart from the outline in this file, the repo also contains a collection of useful resources, some notes on version control, some ideas for programming tasks as well as an irregularly updated report. I have also begun to use it for documenting my progress regarding data science more broadly, e.g. in terms of query languages like SQL or SPARQL or data formats like JSON.

Learning Python

Documentation of my progress in learning Python.

Why Python?

More and more of the software I come across in research contexts but also around Wikimedia is written in Python, which means I have seen a fair bit of Python code already, so it's about time to try and actually learn to write it myself in a way that is not too inconsiderate of any users or readers that may ever get. Besides, for data work, “[i]t’s actually pretty hard to argue against using Python”. More details on the pros and cons of Python can be found in this blog post.

Comparison of programming languages

Never having taken any computer science classes, the precise pros and cons of different languages remain somewhat of a mystery to me, but I am conscious that Python tends to be much slower than compiled languages like C or Fortran, and that's fine for most of my purposes. I am interested in ways to reduce the speed gap, though, as well as in how Python compares to other languages when it comes to data science.

For a more playful approach to comparing programming languages, see Dylan Beattie's The Art of Code.

Learning Scratch

Documentation of my progress in learning Scratch.

Why Scratch?

I've come across numerous examples of introductions to programming that use visual programming languages like Scratch, Alice or Blockly. Since I am frequently in a position to explain programming concepts to non-programmers, I thought I'd familiarize myself with one of those visual languages, so as to help those beginning coders make best use of the available introductory materials.


This project was supported by the Shuttleworth Foundation through a Flash Grant in 2015.

Shuttleworth Foundation Logo The logo is licensed CC BY-SA 3.0


Documentation of my progress in (re)learning to code




Security policy





No releases published


No packages published