Skip to content

7UR7L3/CUReqs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

CUReqs

CU Course Prerequisite Viewer

https://7ur.it/CUReqs/?dept=csci
(try with https://htmlpreview.github.io/?https://github.com/7UR7L3/CUReqs/blob/master/index.html)
^ apparently htmlpreview doesn't load javascript or something damn.


what this is:

Prerequisite viewer for i.e. easier planning of courses. Directly sources from i.e. https://catalog.colorado.edu/courses-a-z/csci/ for a given department, parses the requirements of the classes in that department, and uses https://github.com/magjac/d3-graphviz with some custom css / javascript to present the requirements interactively.

preview image

preview image of course history highlighting

to implement:

  • selection of department (make more explicit with a text field)
  • add hovering over edges to highlight that edge and the courses at either end
  • add option to highlight descendents too
  • clicks popup with more information i.e. descriptions
  • include toggle for loading full out-of-department prereq trees too
  • include toggles for what info is displayed in each bubble
  • have keys dedicated to these toggles, also keys for zoom (or access keys)
  • also let the info displayed in each bubble change depending on hover / highlight
  • style or's to be smaller and styled differently
  • click or double click or a course to focus it / hide everything outside its prereq tree
  • exporting as svg or png of a given size
  • buttons for zooming in and out
  • include toggle for only showing classes taught in a given term (maybe possible to query classes.colorado.edu)
  • a way of searching for the courses required of a major / minor if possible (i have no idea how)
  • render prereqless courses as a subgraph cluster https://graphviz.gitlab.io/_pages/Gallery/directed/cluster.html (or see packMode and smoothing and repulsiveforce and remincross? or have toggle for rendering at all and enforce not rendering if dept=all)
  • different styles
  • fix bug in math 1150. dunno how tbh. maybe split into multiple "Requires " sections first
  • proper efficient search to focus on a class and only render nodes before and after it (if not even more focussed)
  • make the catalog.colorado.edu link a proper link and append the department that you're on
  • see if there's a way to determine which classes you've taken not at boulder and also get the courses you've taken at other campuses i.e. continuing education
  • ( momentum for panning if possible ) this appears not to be possible without a ridiculous amount of effort
  • [ ability to load all requisits in the school with dept=all ]
  • [ ability to highlight or otherwise distinguish the courses that you've taken ]
  • [ improve highlighting to fully pass through or's ]
  • [ support recommended reqs for i.e. atoc ]
  • [ different colours for each and section including arrows ]
  • [ increase the depth you can zoom in ]
  • [ fix the bug of hovering over the or below csci3022 (probably easier to do after optimization/restructuring) ]

to optimize:

  • maybe cache oauth api queries because they're slow
  • or just start oauth api queries way earlier
  • set properties / data attributes of dom elements to avoid query selectors
  • trust .children tbh if setting properties is too expensive or something
  • [ see if there's a more efficient mouseover / hover (maybe jquery is worth it) ]
  • [ merge dom elements into reqsparsed ]
  • [ set styles directly per element ]

About

CU Course Prerequisite Viewer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages