I've created these resources for use in teaching computer programming to secondary students in Tanzania. If you wish to use or adapt these for your own purposes, you are free to do so without restriction.
These exercises are for students interested in learning about hacking into servers and computers; they assume familiarity with the command line and basic knowledge of computer programming. Needless to say, every target mentioned herein is mocked up and independent of actual production systems.
These challenges are for individual students who voluntarily requested practice with more advanced topics. They are of varying difficulty based on the backgrounds of the students I designed them for.
Inspiration credit due to projecteuler.net.
Inspiration credit due to rosalind.info.
In which students use Python to programmatically interact with the popular Minecraft game. This is Form 1's first exposure to text-based programming, using a customized implementation of Google's Blockly to bridge the gap from block-based programming. Form 2 already knows the basics of Python but will hopefully benefit from continuing to learn Python in an environment like Minecraft.
These are traditional-style lesson plans that I designed and used when first starting out. I eventually found this manner of teaching to be too rigid and inflexible, instead choosing to adopt log-style plans and reflections for topics spanning at least one month of instruction (i.e., Blockly, Scratch, Minecraft, etc.).
Students recommended and chose project ideas of their own interest, then joined together in long-term groups to implement those ideas.
I gave the following maps of Tanzania's submarine Internet links to groups of students and had them identify the countries connected by each link. Groups wrote their lists up on the board and discussed the purpose of the links and how they are used. Three of the five will be complete in 2018, so discussion also touched on what that will mean for Tanzania and what it says about government and economic priorities.
Students were given the following article about two schools in Oklahoma - one with increased funding due to Google's construction of a data center in their town, and the other without. Class discussion centered on the differences between the two schools, comparisons to similar situations in Tanzania, and the global effects of increased use of technology without the concomittant employment of increased numbers of people.
An open source, block-based web interface I forked from an existing project that aims to make the transition from MIT Scratch to Python coding easier. I made several changes based on my particular requirements and situation. For more details, see this section.