Good for you on making it this far! Since you have a lot of time remaining, try to build something a little bit more complex. We've provided data and some ideas to get you started.
- data: contains information about all the courses offered at UBC from 2014-2019.
- dictionary: contains details about what each column of the data represents.
- data: contains degree requirement data (co-reqs/pre-reqs, etc).
- dictionary: contains details about what each column of the data represents.
You can use readCSV.js
to read the CSVs into the server.
Some of these ideas are linked with detailed instructions, and some you'll have to figure out on your own 😃.
Let's create some additional features for the heatmap.
- Change color scheme of heatmap.
- Add a legend to the heatmap showing how many posts each shade of blue represents.
- Implement caching so that data for a course that is already fetched is not refetched unnecessarily.
- When a cell in the heatmap is hovered, display a count of the number of posts.
- Create a date range selector that will filter the data so that the heatmap displays only the data that fits within the specified date range.
- Aggregate discussion from all of your courses instead of one course.
- Display the discussion data using a bar chart or bubble chart instead of a heatmap.
- Create a way to show switch between showing just TA/Instructor posts and all posts.
- When a cell in the heatmap is hovered or clicked, show the discussions that were posted at that date and time.
- Create a calendar view so that it is possible to navigate between weeks/months.
- Create a filter that allows users to select a specific individual to see when they post.
- Run text/sentiment analysis on the discussion posts and use this data to create a heatmap.
Don't want to build new features for the heatmap? That's okay!
- Create a degree planning tool that shows students what courses they are eligible to register for, given a list of courses in Canvas students have completed and the course prerequisites data.
- Create a tool that allows you to compare courses that share the same information from a selected field using course calendar data.
- Determine the courses with no prerequisites or only 1 prerequisite using the course prerequisites data.
- Choose any course from the course calendar and display information about that course using the course calendar data and course prerequisites data.
- Create a visualization that shows building occupation by time using the course calendar data.
- Determine the longest dependent course sequence, or the fastest route to a degree using the course prerequisites data.
- Create a tool that allows you to optimize your course schedule to complete a degree using the course prerequisites data.
- Determine the walking distance between courses in your schedule using the course calendar data.
Now you're ready to go to Step 7: Share Your Work.