To ease the computation, think of it as a data warehouse: don't recompute it on the backend everytime but store the information in the university model too. Update it when a course is added.
Run a full update once every day to make sure the data is coherent. (see #28 (closed) )
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information