nusmodifications / nusmodifications/nusmods
RFC Undergraduate Degree Planner
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 689
- Forks
- 364
- Avg merge
- 7h 5m
- Merged PRs (30d)
- 14
Description
NUSMods Undergraduate Degree Planner
Existing solutions are spreadsheet solutions (see: NUS Module Planner) that are created over and over again by NUS students, each done accordingly to fulfill their own faculty's and their major's requirements.
@jin and myself have been thinking about this problem recently because we're about to file for graduation (FFG). Seems redundant for every new batch to rebuild a new spreadsheet to attempt to plan their modules.
This is an attempt to tackle the planning problem by deconstructing the CORS degree verifier, so as to help students FFG, and plan for programmes such as exchange, NUS Overseas Colleges (NOC) etc, so that students need not unnecessarily overload or extend their candidature.
Some Requirements
- As a user, I want to know what modules I have taken
- As a user, I want to plan my modules according to my degree requirements
- As a user, I want to find out what modules to take to fulfill my degree requirements
- As a user, I want to share my study plan with others
Input related questions
- Which modules have I taken?
- (leads to asking) How many MCs have I cleared?
- What is my:
- Faculty
- Major
- Programme
- How will the above information help me in creating a:
- Roadmap
- Semester Plan
Considerations (Request for Comments)
There're too many moving parts, things such as module mapping varies a lot for different students.
We were thinking of working from the highest level NUS Undergraduate Degree Requirements in order to develop the various 'requirements to graduate' templates that can be built by the community to use:
- University Level Requirements (20 MCs)
- Programme Requirements, Unrestricted Electives (120-140 MCs)
For the CS students: You can think of this as Java abstract classes / interfaces.
Open to any comments or suggestions on a first pass at a possible solution!
Timeline
Ambitiously, we would like to have a solution that works across the entire university.
However we are still assessing the feasibility of the solution, and may have to settle on solving first for our home faculty, the School of Computing, which we know best.
References
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Read the Requirements, Input related questions, and Considerations sections first, then review the linked NUS degree requirements. Done is not defined: a maintainer must first choose a faculty scope and settle the planning model before implementation can be assessed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react, typescript
- Domain
- web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100