A colleague at Makerere is taking
over teaching the Advanced Programming course. It needs some updating.
I based my course roughly on what John taught before. The skills of the students was incredibly varied: Many hadn’t programmed before! While others were doing day jobs coding all day.
The course had the following parts:
1) Python and OOP
2) Regex
3) The linux bash command line
4) The LAMP model, sqlite3, XSS, etc.
5) Web APIs
I’d really like to change the course, adding some of the following:
Definitely need to add using
code repos collaboratively: E.g. git. I’d like to make this a project where students find
github projects they want to help, and make pull requests to provide improvements to fix bugs, etc. Or maybe work together on a project with their fellow students.
Using AWS: The cloud is where things are these days, learning to use their interface and the API. Maybe could approach AWS to see if they’ll provide free credits to allow the course to use their servers? They do have a free tariff that students could use maybe?
Mobile development: something that’s now ubiquitous, so really should be in a course maybe at Makerere? Could make it one week.
Microprocessor development: the arduino and atTiny
Internet of things: already tried to address this by the API work
more on security: from letsencrypt to pen-testing and firewalls (ip-tables) – I didn’t know enough about these topics to go into them in too much depth. And there’s already too much on security in the course.
Internet communication: packets etc?
Coding methodologies: e.g. pair programming
Visualisation on the web: d3?
GPU programming: also something I’ve limited experience of, but could be interesting?
Includes 2014 course work, the 2014 exam and the lecture slides. Note: Definitely need to update to python3 (from python2.x).
I used my own laptop to host quite a bit of this (including the bash learning), used my mobile as the hotspot to let the students connect.