Documentation of my progress in (re)learning to code
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Markdown
Python
SPARQL
SQL
YAML
100days.md
LICENSE
README.md
cheatsheets.md
kids.md
mysteries.md
report.md
resources.md
tasks.md
version-control.md

README.md

About

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

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.

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.

Acknowledgments

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