1 介紹?
- ?NUSMods API 包含用于渲染 NUSMods 的數據。這些數據包括新加坡國立大學(NUS)提供的課程以及課程表的信息,還包括上課地點的詳細信息。
- 可以使用并實驗這些數據,它們是從教務處提供的官方 API 中提取的。
- 該 API 由靜態的 JSON 文件組成,每天從學校的 API 抓取一次數據。所
- 有成功的響應將返回 JSON 格式,所有的端點以
.json
結尾。
- 有成功的響應將返回 JSON 格式,所有的端點以
NUSMods API
?
2 主要鍵值
2.1 lessonType & classNo?
- 每個課表中的每一堂課都有一個
lessonType
(課程類型)和一個classNo
(班級號)。- 每個學生必須參加模塊提供的每個課程類型的其中一堂課。
- 例如,如果一個模塊提供了兩節輔導課和一節講座,那么學生必須參加講座,并且可以選擇參加其中一節輔導課。?
?
- 同一個classNo必須參加一次
- 例如,某模塊有兩個講座,分別在周二和周三進行,學生必須選擇其中一個?
?
- 例如,某模塊有兩個講座,分別在周二和周三進行,學生必須選擇其中一個?
2.2?weeks鍵?
weeks
鍵返回的值通常是一個排序的數字數組,表示課程在哪些學校周上進行,范圍從第 1 周到第 13 周。- 有些課程會有不同的時間安排,
weeks
可以返回一個WeekRange
對象。該對象會包含一個start
和end
鍵,表示課程的開始和結束日期。?編輯
- 有時還會包含
weekInterval
鍵,它表示課程每隔多少周進行一次,或者weeks
鍵,它是一個包含多個周數的數組
2.3?學習負擔(workload鍵值)
workload
鍵通常是一個五元組,表示學生每周在講座、輔導課、實驗室、項目/實地工作以及課前準備中需要投入的小時數。例如,[2, 1, 1, 3, 3]
表示每周:
- 2 小時講座
- 1 小時輔導課
- 1 小時實驗室
- 3 小時做項目工作
- 3 小時課前準備
每個學分代表每周 2.5 小時的工作,因此標準的 4 學分模塊每周需要 10 小時的工作。模塊學分不一定是整數。
2.4?先修、同修和排除模塊(Prerequisite, corequisite and preclusions鍵值)
這些鍵決定學生是否可以選修某個模塊。
- 先修模塊 是指學生在選修該模塊之前必須完成的模塊。
- 排除模塊 是指與當前模塊內容有很大重疊的模塊,學生不能同時選修這些模塊。
- 同修模塊 是指必須與當前模塊一起選修的模塊。