数据集笔记:NUSMods API

server/2025/3/3 14:14:50/

1 介绍 

  •  NUSMods API 包含用于渲染 NUSMods 的数据。这些数据包括新加坡国立大学(NUS)提供的课程以及课程表的信息,还包括上课地点的详细信息。
    • 可以使用并实验这些数据,它们是从教务处提供的官方 API 中提取的。
  • 该 API 由静态的 JSON 文件组成,每天从学校的 API 抓取一次数据。所
    • 有成功的响应将返回 JSON 格式,所有的端点以 .json 结尾。

NUSMods API

2 主要键值

2.1 lessonType & classNo 

  • 每个课表中的每一堂课都有一个 lessonType(课程类型)和一个 classNo(班级号)。
    • 每个学生必须参加模块提供的每个课程类型的其中一堂课。
    • 例如,如果一个模块提供了两节辅导课和一节讲座,那么学生必须参加讲座,并且可以选择参加其中一节辅导课。 
  • 同一个classNo必须参加一次
    • 例如,某模块有两个讲座,分别在周二和周三进行,学生必须选择其中一个 

2.2 weeks键 

  • weeks 键返回的值通常是一个排序的数字数组,表示课程在哪些学校周上进行,范围从第 1 周到第 13 周。
  • 有些课程会有不同的时间安排,weeks 可以返回一个 WeekRange 对象。该对象会包含一个 startend 键,表示课程的开始和结束日期。
    • 编辑
  • 有时还会包含 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键值)

这些键决定学生是否可以选修某个模块。

  • 先修模块 是指学生在选修该模块之前必须完成的模块。
  • 排除模块 是指与当前模块内容有很大重叠的模块,学生不能同时选修这些模块。
  • 同修模块 是指必须与当前模块一起选修的模块。

2.4.1 先修模块树

  


http://www.ppmy.cn/server/172089.html

相关文章

【AI实践】xiaozhi-esp32虾哥开源版-分析

语音交互总流程 客户端(ESP32) 服务器 | | | 本地唤醒词检测"小智" | | | | 打开音频通道 | |------------------------>| | | | 发送唤醒词音频 | |------------------------>| | | | 发送唤醒事件 | |------------------------>| | {"type":&qu…

基于SQL数据库的酒店管理系统

一、数据库设计 1.需求分析 客房的预定:可以通过网络进行预定,预定修改,取消预订。 客房管理:预定管理、客房查询、设置房态、开房、换房、续住、退房等管理。 员工管理: 员工修改信息、人员调配。 账务管理&…

windows安装vue

1、下载nodejs安装包 https://nodejs.cn/download/ 2、安装node 中途记得可以自己改安装路径,其他都是下一步 3、安装完成后检查 node -v :查看nodejs的版本 npm -v :查看npm的版本 4、修改npm默认安装目录与缓存日志目录的位置 在nodejs目…

LangPrompt提示词

LangPrompt提示词 https://github.com/langgptai/LangGPT 学习LangGPT的仓库,帮我创建 一个专门生成LangGPT格式prompt的助手 根据LangGPT的格式规范设计的专业提示词生成助手框架。以下是分步骤的解决方案: 助手角色定义模板 # Role: LangGPT提示词架…

java23种设计模式-解释器模式

解释器模式(Interpreter Pattern)学习笔记 编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793 DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/145884039…

Asp.Net Web API| React.js| EF框架 | SQLite|

asp.net web api EF SQLiteReact前端框架 设计一个首页面,包含三个按钮分别对应三类用户(数据查看,设计人员,管理员),当点击管理员的时候弹出一个前端页面可以输入信息(以学生数据为例&#…

CSS定位详解

1. 相对定位 1.1 如何设置相对定位? 给元素设置 position:relative 即可实现相对定位。 可以使用 left 、 right 、 top 、 bottom 四个属性调整位置。 1.2 相对定位的参考点在哪里? 相对自己原来的位置 1.3 相对定位的特点&#xff1…

MCAL-I/O驱动

I/O驱动由PORT驱动、DIO驱动、ADC驱动、PWM驱动、ICU驱动、OCU驱动六部分组成。 1. PORT驱动 功能概述: PORT 驱动初始化是对微控制器的整个 PORT 模块进行初始化配置。它负责配置端口和管脚的功能,如通用 I/O、模数转换、脉宽调制等。 实现方法: 初始化端口引脚。设置引…