数据集笔记:NUSMods API
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键值)
这些键决定学生是否可以选修某个模块。
- 先修模块 是指学生在选修该模块之前必须完成的模块。
- 排除模块 是指与当前模块内容有很大重叠的模块,学生不能同时选修这些模块。
- 同修模块 是指必须与当前模块一起选修的模块。
2.4.1 先修模块树

相关文章:
数据集笔记:NUSMods API
1 介绍 NUSMods API 包含用于渲染 NUSMods 的数据。这些数据包括新加坡国立大学(NUS)提供的课程以及课程表的信息,还包括上课地点的详细信息。 可以使用并实验这些数据,它们是从教务处提供的官方 API 中提取的。 该 API 由静态的…...
HTML元素,标签到底指的哪块部分?单双标签何时使用?
1. 标签(Tag) vs 元素(Element) 标签(Tag) 标签是 HTML 中用于定义元素的符号,用尖括号 < > 包裹。例如 <img> 是标签。元素(Element) 元素是由 标签 内容…...
基于ai技术的视频生成工具
一、通用型AI视频生成工具 腾讯智影 特点:支持数字人播报、文字转视频,提供免费模板和素材库,登录即送5分钟免费时长,每日签到可兑换额外额度。 限制:免费版分辨率较低,部分高级功能需付费。 LunaAI.vid…...
【Java 后端】Restful API 接口
Restful API 接口 REST:Representational State Transfer,表现层(前端的视图页面和后端的控制层)资源状态转移。 一种软件架构的风格(格式) RESTful 是目前最流行的互联网软件架构,如果一个架…...
Matlab地图绘制教程第2期—水陆填充图
上一期分享了海岸线图的绘制方法: 本着由浅入深的理念,本期再来分享一下水陆填充图的绘制方法。 先来看一下成品效果: 特别提示:Matlab地图绘制教程系列,旨在降低大家使用Matlab进行地图类科研绘图的门槛,…...
企业知识库搭建:14款开源与免费系统选择
本文介绍了以下14 款知识库管理系统:1.Worktile;2.PingCode;3.石墨文档; 4. 语雀; 5. 有道云笔记; 6. Bitrix24; 7. Logseq等。 在如今的数字化时代,企业和团队面临着越来越多的信息…...
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解 1 冯诺依曼体系结构1.1 基本概念理解1.2 CPU只和内存打交道1.3 为什么冯诺依曼是这种结构1.4 理解数据流动 2 操作系统2.1 什么是操作系统2.2 设计OS的目的2.3 操作系统小知识点2.4 如何理解"管理"2.5 系统调用和…...
Android内存优化指南:从数据结构到5R法则的全面策略
目录 一、APP 内存限制 二、内存的三大问题 2.1、内存抖动(Memory Churn) 2.1.1 频繁创建短生命周期对象 2.1.2 系统API或第三方库的不合理使用 2.1.3 Handler使用不当 2.2、内存泄漏(Memory Leak) 2.2.1 静态变量持有Activity或Context引用 2.2.2 未取消的回调或…...
机器学习:线性回归,梯度下降,多元线性回归
线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归(Multiple Linear Regression)...
Linux上用C++和GCC开发程序实现两个不同MySQL实例下单个Schema稳定高效的数据迁移到其它MySQL实例
设计一个在Linux上运行的GCC C程序,同时连接三个不同的MySQL实例,其中两个实例中分别有两个Schema的表结构分别与第三实例中两个Schema个结构完全相同,同时复制两个实例中两个Schema里的所有表的数据到第三个实例中两个Schema里,使…...
RabbitMQ系列(一)架构解析
RabbitMQ 架构解析 RabbitMQ 是一个基于 AMQP 协议的开源消息中间件,其核心架构通过多组件协作实现高效、可靠的消息传递。以下是其核心组件与协作流程的详细说明: 一、核心组件与功能 Broker(消息代理服务器) RabbitMQ 服务端核…...
XSL 语言:XML 样式表的语言基础与应用
XSL 语言:XML 样式表的语言基础与应用 引言 XSL(Extensible Stylesheet Language)是一种专门用于XML文档样式的语言,它允许用户定义XML文档的格式、布局和外观。XSL是XML技术家族中的重要组成部分,与XML和XPATH等语言共同构成了处理和格式化XML文档的强大工具集。本文将…...
【计算机网络】常见tcp/udp对应的应用层协议,端口
TCP 和 UDP 对应的常见应用层协议 📌 基于 TCP 的应用层协议 协议全称用途默认端口HTTPHyperText Transfer Protocol超文本传输协议80HTTPSHTTP Secure加密的超文本传输协议443FTPFile Transfer Protocol文件传输协议(20 传输数据,21 控制连…...
ExpMoveFreeHandles函数分析和备用空闲表的关系
第一部分:ExpMoveFreeHandles和备用空闲表的关系 ULONG ExpMoveFreeHandles ( IN PHANDLE_TABLE HandleTable ) { ULONG OldValue, NewValue; ULONG Index, OldIndex, NewIndex, FreeSize; PHANDLE_TABLE_ENTRY Entry, FirstEntry; EXHAND…...
微服务学习(1):RabbitMQ的安装与简单应用
目录 RabbitMQ是什么 为什么要使用RabbitMQ RabbitMQ的安装 RabbitMQ架构及其对应概念 队列的主要作用 交换机的主要作用 RabbitMQ的应用 通过控制面板操作(实现收发消息) RabbitMQ是什么 RabbitMQ是一个开源的消息队列软件(消息代理…...
基于javaweb的SSM+Maven幼儿园管理系统设计和实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...
企业级本地知识库部署指南(Windows优化版)
一、环境准备 1. 系统优化 # 启用WSL2(需Windows 10 2004或Windows 11) dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform …...
5. Nginx 负载均衡配置案例(附有详细截图说明++)
5. Nginx 负载均衡配置案例(附有详细截图说明) 文章目录 5. Nginx 负载均衡配置案例(附有详细截图说明)1. Nginx 负载均衡 配置实例3. 注意事项和避免的坑4. 文档: Nginx 的 upstream 配置技巧5. 最后: 1. Nginx 负载均衡 配置实例 需求说明/图解 windows 浏览器输…...
Redis---缓存穿透,雪崩,击穿
文章目录 缓存穿透什么是缓存穿透?缓存穿透情况的处理流程是怎样的?缓存穿透的解决办法缓存无效 key布隆过滤器 缓存雪崩什么是缓存雪崩?缓存雪崩的解决办法 缓存击穿什么是缓存击穿?缓存击穿的解决办法 区别对比 在如今的开发中&…...
计算机毕业设计SpringBoot+Vue.js人口老龄化社区服务与管理平台 (源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
告别手动转换:docx2tex如何让Word到LaTeX的转换变得简单高效
告别手动转换:docx2tex如何让Word到LaTeX的转换变得简单高效 【免费下载链接】docx2tex Converts Microsoft Word docx to LaTeX 项目地址: https://gitcode.com/gh_mirrors/do/docx2tex 还在为Word文档转换为LaTeX格式而烦恼吗?每次手动调整格式…...
X-TRACK实战:打造个性化骑行导航系统的完整构建方案
X-TRACK实战:打造个性化骑行导航系统的完整构建方案 【免费下载链接】X-TRACK A GPS bicycle speedometer that supports offline maps and track recording 项目地址: https://gitcode.com/gh_mirrors/xt/X-TRACK 想象一下,在周末的清晨&#x…...
企业内训系统集成Taotoken实现多模型AI助教与可控的交互成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内训系统集成Taotoken实现多模型AI助教与可控的交互成本 对于现代企业而言,构建一个高效、智能的内训系统是提升员…...
ESXi勒索防护实战:堵住配置天窗,构建三层纵深防御
1. 这不是“又一起”勒索事件,而是ESXi生态链断裂的警报 2023年底开始,全球范围内大量VMware ESXi服务器被植入名为 ESXiArgs (也称 KPOT )的勒索软件,攻击波及金融、医疗、教育、制造等数十个行业。这不是传统意义…...
告别手动抓瞎:用vmp3-import-fix-x86和Universal Import Fixer搞定VMP3.5壳的IAT修复
VMP3.5壳IAT修复的高效工具链实践指南 逆向工程领域里,VMProtect始终是令人又爱又恨的存在。特别是3.5版本引入的IAT混淆机制,让不少安全研究员在深夜调试时抓狂。传统手动修复不仅耗时耗力,还容易遗漏关键调用。经过多次实战验证࿰…...
Keil MDK中Flash算法RAM配置的DWORD对齐问题解析
1. 问题现象与背景解析当使用Keil MDK开发环境配合J-LINK或ULINK系列调试器时,在Flash Download配置选项卡中设置Flash算法RAM大小时,可能会遇到"Invalid Number Error: Number must be DWORD Aligned"的错误提示。这个错误通常发生在以下场景…...
面试官问CyclicBarrier和CountDownLatch区别?这样回答直接拿Offer(附源码级对比和避坑点)
面试官问CyclicBarrier和CountDownLatch区别?这样回答直接拿Offer(附源码级对比和避坑点) 在Java并发编程的面试中,CyclicBarrier和CountDownLatch的区别几乎是必问的高频考点。但真正能打动面试官的,绝不仅仅是背诵教…...
从炼丹炉到生产线:在Linux服务器上为Stable Diffusion部署配置PyTorch环境(驱动+CUDA+Anaconda实战)
从炼丹炉到生产线:Linux服务器部署PyTorch环境全流程指南 引言:为什么需要专业化的AI开发环境? 在AI模型开发领域,我们常常把训练模型比作"炼丹"——需要精准控制各种"火候"参数。而要让这个"炼丹炉&quo…...
开源大模型实战指南:从架构权重到数据生态的完整解析
1. 项目概述:从“开源”的迷思谈起最近和几个刚入行AI领域的朋友聊天,发现一个挺有意思的现象:大家一提到“开源大模型”,第一反应就是去GitHub上找代码,然后对着一个庞大的仓库发懵,不知道从何下手。紧接着…...


