A dependency graph for the Imperial EE modules.
Each module is a node in the graph, containing the module code, the module title, and its ILOs (intended learning outcomes). An arrow from module A to module B means that one of module A's ILOs is a prerequisite for taking module B.
We see several benefits of building this graph:
- It is useful to have all ILOs together in one place, so they can be easily audited for consistency.
- If a module leader ever wants to change/remove an ILO, they can easily see which later modules might be affected.
- If a module leader ever wants to add/change a prerequisite, they can easily see which earlier modules can provide it.
- Open the
modules_radial.pdf
file.
- Open the
modules.yml
file. - Click on the
edit
button. - Make your changes.
- Click on the
Commit changes...
button. - Wait for a few minutes while the dependency graph is rebuilt with your changes.
- Open the
modules_radial.pdf
file to see the new version.
- There is a GitHub Action that fires whenever a commit is pushed to the repository.
- Some custom-written OCaml code converts
modules.yml
into a Graphviz description (modules.dot
). - The
twopi
andneato
graph-layout engines are used to convert the Graphviz description into a PDF file (modules_radial.pdf
).
- Does not include modules offered by other departments. So although ELEC60020 (Managing Engineering Projects) builds upon BUSI60037 (Accounting Online) and BUSI60042 (Entrepreneurship Online), these connections are not recorded in the graph.
- John Wickerson (
j.wickerson@imperial.ac.uk
)