A graph visualizer tool for courses and their requisites at the University of Toronto. Originally completed as a project for CSC111 — Foundations of Computer Science II by Andrei Akopian, Jasmine Chen, Jack Tang, and Angela Zheng. Currently a work in progress for further improvements and deployment.
- Academic Calendar - Search Courses
- Academic Calendar - Search Programs
- Academic Calendar - Courses - Printer Friendly
- Glossary of Course Codes
- React
- TypeScript
- Tailwind CSS
- CPython
- WebAssembly
- scrape ttb and user for filtering and class sizes
- make better 2d graph untanglement algorithm
- improve graph positioning (andrei)
- cpython sat solver (jack and andrei)
- check course implications, for example whether mat137 implies mat157 on all prereqs
- filter out dead courses (andrei)
- improve UI
- finish data analysis (seen in section below)
- rewrite Executive Report
- add more types of colour coding
- improve searching capabilities (mostly replacing filtering)
- add feature of saving queries locally in browser
- implement server / cloud-hosting for deployment (Docker container?)
- basic vs. advanced mode
- Which courses have the highest/lowest number of prerequisites?
- Which programs/departments have the most/least strict course requirements?
- Which course pathways keep the most program options open?
- Which courses are the most/least interdiscplinary (i.e. required for programs from different departments)?
- Which programs cover the most breadth requirements?
- How can we cluster similar courses together, or organize them by similar subject area?
- How does the distribution of lectures, tutorials, practicals, or seminars hours differ across programs?
- Is there a difference in learning styles between majors, based on lecture - tutorial ratios?
- Scrape Timetable Builder data
- Analyze difficulty of courses based on enrollment data
- Look at Reddit spreadsheet for crowdsourced course averages
- Some classes have fees. Extract the fee amounts.
- Choose a better project name
- Clean up code, if needed
- Buy a domain
- Publish on web
- Test on a variety of browsers; try our best to break it
- Share!
- add
<noscript>and@media (scripting: none)for when clientside js is disabled - add warning if user is on mobile
- check accessibility etc. via https://pagespeed.web.dev/