Thank you for your interest in contributing to this revision guide.

We welcome pull requests from anyone who is happy to share their notes, and would be incredibly grateful for any input of content for the individual pages! We will try to provide any reasonable attribution you would like for content you contribute, and any contributions mean we get a more full coverage of the content finished faster, so everyone on the course can benefit from high quality shared notes.

Note from the Maintainers

If you’ve been linked to this site, you’ve probably also seen us asking for anyone who can to pull request. We know that many people are hesitant to put their notes up on this site, whether it be because they think other people seeing their revision material may indirectly disadvantage them, or that they don’t think anything they make is good enough to be hosted on a public site - we were too! However, there are a couple of points we’d like to raise to encourage you to contribute and help this site to be the best it can be:

  1. Our course isn’t marked on a curve, so others using your notes to get better doesn’t detriment you
  2. Making notes is a great way to revise, as it makes sure you properly understand the content, and if you know you’re putting them somewhere it gives you accountability to actually get them done
  3. Any content that is contributed is great to have - it doesn’t have to be perfect! The beauty of these types of projects is that they inherently allow collaboration, so we can work together to improve any problems you think might be present
  4. Having experience collaborating on an open source project through tools like Git is a really useful skill and is a lot more exciting than what we did with it in CS133, and being able give this as an example of where you’ve done it in practice could be a cool thing to put on your CV
  5. You’ll get a neat icon of you in the contributors section of the README and index pages!

Contributing to a project such as this can seem intimidating at first as there are many technologies and hundreds of files however many of these can be ignored for most contributions. We have tried to make contributions as easy as possible and the tutorials should be detailed enough for everyone. Finally we would much rather you attempt to contribute to the site and fail than to have no contributions at all. The probability of completely breaking the site is very low and any errors are likely to be graphical or content errors rather than technical.


This tutorial was created by Joseph Evans with contributions from Edmund Goodman and is split into several segments each covering a different aspect of the site. If there are any parts not covered in enough depth please send a message requesting further information.

An introduction on how the site works and expectations of contributors can be found here

Beginners tutorials on the technologies that the site runs on, none are too complex and can be picked up within an hour.

The github-pages site can be run locally, it is recommended that large modifications are tested before submitting a pull request a tutorial for the setup process can be found here

Site Tutorials

Detailed tutorial’s on each aspect of the site


The core part of the site module notes:


Contributors are a key part of the running and creation of this site, so to support this we have contributor pages that can be linked to from across the site.

Style guide

The expectations for contributions to the site


These are brief reference guides for those who have already submitted previously or are familiar with jekyll, markdown, Yaml and JSON