Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Instructor Information to NUSMods API #3761

Open
randomwish opened this issue Aug 3, 2024 · 3 comments
Open

Add Instructor Information to NUSMods API #3761

randomwish opened this issue Aug 3, 2024 · 3 comments
Labels
api API servers and scrapers feature request

Comments

@randomwish
Copy link

Is your feature request related to a problem? Please describe.

NUSMods currently lacks information about which instructors teach specific courses each semester. This limitation requires students to consult various official department websites for instructor details:

Computing courses: https://www.comp.nus.edu.sg/cug/soc-sched/
Physics courses: https://www.physics.nus.edu.sg/student/courses-offered-chs/
Math courses: https://www.math.nus.edu.sg/modtt/modlist/

The proposed change aims to integrate instructor information directly into NUSMods. This addition would streamline the course selection process by allowing students to easily see which professor(s) are teaching each course iteration within the NUSMods site through the proposed modification to the API.

Describe the solution you'd like

A possible solution would be to introduce a Instructors field in the current semesterData array retrieved from the responses of the NUSMods API, specifically /{acadYear}/moduleInfo.json and /{acadYear}/modules/{moduleCode}.json. For multiple instructors, their names could be included as part of an array.

Example modification for course CS2106 (Introduction to Operating Systems)

"semesterData": [ { "semester": 1, "instructor": ["Li Jialin", "Colin Tan"], "timetable": [...], "examDate": "2024-11-28T09:00:00.000Z", "examDuration": 120 }, { "semester": 2, "instructor": ["Colin Tan","Anandha Gopalan"], "timetable": [...], "examDate": "2025-05-02T01:00:00.000Z", "examDuration": 120 } ]

Sample mockup (for conciseness, only the first instructor in the course schedule is included)
Screenshot 2024-08-03 at 4 29 52 PM

Describe alternatives you've considered

  • This issue is similar to the one proposed here, but scrapping sites may not yield reliable information as different departments/faculties may have different ways to display the relevant course information
@ravern
Copy link
Member

ravern commented Aug 3, 2024

Hello, thank you for creating this detailed issue!

I think instructor information would be an awesome thing to have in NUSMods.

This issue is similar to the one proposed #3289, but scrapping sites may not yield reliable information as different departments/faculties may have different ways to display the relevant course information

Perhaps to start with, can I clarify how this solution does not involve scraping sites? The links you've provided to each faculty seem to link to websites and not APIs we can get data from.

@randomwish
Copy link
Author

My current understanding of the NUSMods API is such that it uses data provided by the Registrar's office.

"...use and experiment with the data, which is extracted from official APIs provided by the Registrar's Office." NUSMods API

As such, my issue revolves more on the inclusion of the instructor data in the NUSMods API, which would mean requesting such consolidated information from Registrar's Office (my assumption is that instruction information is currently on a department/faculty level)

@ravern
Copy link
Member

ravern commented Aug 7, 2024

which would mean requesting such consolidated information from Registrar's Office (my assumption is that instruction information is currently on a department/faculty level)

Yup, you're right. This would require adding new information into the API that NUS provides to NUSMods. We will bringthis up in future meetings with them, but nothing we can immediately work on.

I'll comment here if there's any updates to this feature.

@ravern ravern added feature request api API servers and scrapers labels Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api API servers and scrapers feature request
Projects
None yet
Development

No branches or pull requests

2 participants