For teachers

If you are here, you are probably a teacher of some course that requires basic practical computational skills (Linux command line, git, shell scripting, etc), but you don’t want to have to teach that yourself. We have the solution for you here, which can be used in different ways:

  • Send your students here when it is clear they are missing some prerequisites
  • Add this course as a soft prerequisite/recommended reading
  • You contribute new material here, instead of making your own prerequisite documents.

Our philosophy is “all the basics someone needs to know is online somewhere”, so we help people find that rather than try to make our own material. This also helps people become more self-sufficient in the future.

Sample text

This could be added to your course prerequisites/syllabus, for example:

To succeed in this course, it is best to have some practical skills in {Linux and command line work, lightweight software development tools, …}. You can review this at For this course, the {C and D levels are important for success. You should especially focus on C10 Basic shell, C23 Text editors and IDEs, C20 Shell Scripting, and all D-level modules}. Quickly browsing and going back when you need more details is fine.

If you emphasize credits (and are in Finland):

You can earn credits from this as well. One credit comes from the basics (A), related scientific tools (B), and Linux basics part (C). One credit comes come from high-performance computing (D) and intermediate programming strategies (E). If you are a student at Aalto University, the course code is CS-E400401, can be directly added to study plans, and you can begin working at any time. If you are in Finland but not at Aalto, you may enroll and gain credits through the FITech program.

What content should be added here?

This site isn’t about basic programming courses or the kinds of things you would teach in your courses. It also isn’t about writing our own new material - almost everything can be found online, somewhere. We want to make that easy to find. It also doesn’t replace a dedicated course on these topics: this is more informal and just a starting point.

It is likely that you will know of or find some better videos/reading material than what we have currently linked. Please send that to us! We have two categories, short video intro intros (hopefully with examples) and then longer reading, about an hour or so.

There may also be modules (topic + description + video + reading) which could be added. We will try to have some editorial judgment to keep the “main list” short, but we have an “extras” area for each level.

To submit a proposal, please use the GitHub repository if possible. You can read more about directly modifying the source with pull requests on the contributing page.