Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



23 Commits

Repository files navigation

Micromaterials List

this is a curated list of micromaterials from across the internet that satisfy a few basic criteria:

  • they are focused
  • they are free
  • they give automated feedback*

(* - it might be the case that some materials are primarily forms of input, ie infographs or text passages, and so if they don't have any activities for users to complete, they can't really give feedback)


So far the following categories are things that I'm tracking, but I'd love to add more categories as micromaterials are found in the wild.

  • Language
  • Software development
  • Mathematics

Learning objectives

Due to the very focused nature of the materials (at least at present) the learning objectives tend to cluster closer to knowledge and comprehension, though I'm hoping to add some application and possibly analysis at some point.

Software development

  • git rebasing - helps learners step through the process of rebasing a git branch to fixup two commits.
  • git reflog - helps learners use the reflog to bring a local deleted branch back to life.
  • git submodules - helps learners practice running through some simple submodule commands.
  • public and private ip addresses - helps learners practice identifying which IP addresses are public and which aren't.
  • netmasks and subnets - helps learners visualize what a netmask is and how it affects aspects of the subnet.
  • network debugging - a fun choose-your-own-adventure style journey through some network debugging.
  • array methods in javascript - easily search for different array methods based on what you want to do.
  • object methods in javascript - easily search for different object methods based on what you want to do.
  • introduction to programming languages - a gradual programming language that introduces learners to the concepts in programming without the burden of learning all new syntax.
  • using puppet for system configuration - a quest-based set of learning activities to practice running puppet commands.
  • cron expressions - a Web UI to practice reading and writing cron expressions that are randomly generated.
  • semantic versioning - Understanding what the semver numbers mean and which numbers to increment in which situation.
  • Interactive and Auto-graded Tutorials In Javascript - An interactive javascript tutorial run entirely inside gitpods.
  • Interactive Python REPL in the browser - A python learning environment with interactive exercises available directly in the browser.
  • Mess with DNS - An interactive playground to try creating DNS records and running weird experiments to see what breaks.
  • Typescript playground - A nice in-browser place to play around with typescript. Even looks alright in mobile!
  • Type Challenges - This uses the above playground to actually evaluate answers to challenges in the browser.
  • A11ypant - In-browser challenges to build skills and knowledge in web accessibility.
  • Higher Order Functions - A gitpod-based practice space for completing gaps in higher order functions.
  • SQL Murder Mystery - Use SQL queries to solve a murder mystery.
  • - Visualize the flow of your SQL queries.
  • Sad Servers - Get access to real VMs to try out different linux sysadmin scenarios like "fix apache trying to serve index.html" or "two containers can't connect over the internal network"...a great place to actually run commands like you would in an authentic situation.
  • Mongo Dojo - Try out administrating a MongoDB replicaset. This one is a bit niche, since it's specifically for the use case of needing to do things like rolling index builds across a replicaset that's running on VMs, but for actually running the commands and seeing what happens, it's a working environment.
  • Sad Pods - Badlogs - Based on the amazing Sad Servers, this is an implementation of the "St John" exercise in Gitpod. Find an application process that writing unneeded logs and shut it down.
  • Sad Pods - Webserver - Based on the "Tokyo" scenario in sad servers, this Gitpod-based micromaterial deals with fixing a webserver that's unreachable locally.
  • Sad Pods - DNS - Based on the "Jakarta" activity at sad servers, this is an activity to troubleshoot why you can't ping, but implemented in Gitpod.
  • Sad Pods - Docker - Based on the "Salta" scenario from sad servers, but in Gitpod, this involves troubleshooting why a Docker-based service won't start up.
  • Netsim - A web-based network simulator to try out sending packets around a simple network
  • Game of Active Directory - a project to practice penetration testing in a full vulnerable Active Directory environment.
  • Ixiumiuz Labs - a playground for doing things with VMs/containers.



How to contribute

  • fork this repo
  • checkout a new branch
  • add a micromaterial
  • push to your remote fork
  • open a PR


a curated list of micromaterials from around the web








No releases published


No packages published