Curriculum Ideas

Struggling to come up with a project idea? No problem! These are a few ideas for goals we can set and how we'll get there. As we learn, you'll generate ideas of your own to pursue, no problem.

Infrastructure and Configuration as Code
Learning Goal Project
Deploy a Virtual Machine with Terraform Learn how to research your cloud's Terraform providers, and how to build out systems, relating the web-based UI to Terraform's concepts.
Configure your Virtual Machine using Ansible Configuring programmatically means you can build a thousand of the same system, quickly
Linux Project Based Learning Ideas
Learning Goal Project
Shell Pipelines pipelines and the strengths of viewing data as text streams vs a data structure. Write simple shell aliases and customise your terminal workflow
Scripting Write shell scripts that operate on text streams, files, and output captured from commands, learning control structures and good script hygiene.
Processes and how they use the kernel Build a chroot jail, using various system tools to see what breaks and fixing the issues
Interacting with the Web from the CLI Using curl, we'll interact with web APIs and parse the data
Interacting with the Web using Go enough go to retrieve data from web APIs and parse it
Containerisation Basics Use docker (popular, commercial) or podman (less frequently seen, but open source) to build containers
Container Implementation Details Review the fundamental primitives exposed by the kernel to make a container, and build one without docker or podman
Continuous Integration and Delivery with Build Systems
Learning Goal Project
Github Actions Binary Release Set up github actions to build, test and release QA binaries and tags for releasing official builds
Jenkins Setup Set up a self-hosted build server, and learn how to interact with it through the UI and programmatically

Get in touch and let's chat about what you'd like to learn. We'll talk until the right path is clear.