2026级9月19日机试:2026级科研实践培养营第一周作品展:代码画作、网页游戏与评分排行,采用 Feiyue Notion 风格。

2026级科研实践培养营第一周作品展:代码画作、网页游戏与评分排行,采用 Feiyue Notion 风格。

分支2Tags0
当前项目代码仓暂无内容

2026级9月19日机试

本仓库收集软件开发实验室招新机试作品。提交规则见 机试要求.md,贡献指南见 AGENTS.md

直接访问作品展:采用 Feiyue Notion 风格,展示代码画作、可试玩的网页游戏和 25 位同学的评分排行。

下载高清排名 PNG:竖版、1200 DPI,包含完整排名、姓名、学号、规范化班级与各项评分。

仓库结构

.
├── <学号>/
│   ├── 环节二/                  # Notebook、代码和结果图
│   └── 环节三/                  # 网页马里奥工程
├── 机试要求.md
├── results/                     # 评审结果、证据、工具与展示站点
│   ├── grading-report.md
│   ├── normalization-report.md
│   ├── review-viewer.html
│   ├── audit/                   # 原始成绩快照与目录归属证据
│   ├── games/                   # 验收使用的游戏副本
│   ├── site/                    # 作品、评分排行模板、头像与部署说明
│   ├── tools/                    # 构建、成绩同步及历史评审脚本
│   └── dist/                    # 本地生成的静态站点,不提交 Git
├── README.md
└── AGENTS.md

隐藏目录 .gitcode/ 保存 PR 自动化配置,.gitignore 排除依赖缓存和构建产物。所有学生作品必须放在本人 11 位学号目录下,两个环节目录均须保留;未完成的环节以 .gitkeep 保留目录,不补造作业。

运行与验收

从仓库根目录启动内部验收工具:

python3 results/review_server.py

浏览器通常访问 http://127.0.0.1:8899/。Windows 可双击 results/start-review.bat。该页面包含姓名、成绩和评语,公开作品站使用独立构建输出。

普通静态游戏按各自 README 启动,例如:

python3 -m http.server 8000 --bind 127.0.0.1 --directory 20261403005/环节三
node 20261403005/环节三/smoke-test.js

React 工程现已完整位于 20261403335/环节三/网页版马里奥/,进入该目录后执行 pnpm install --frozen-lockfile,使用 pnpm devpnpm testpnpm build

在线作品展

站点地址:dl.icthub.top,由 huawei2 的 Nginx 持续提供服务,HTTPS 证书自动续期。静态站点及原 Space 提交历史保存在本仓库的 gc-pages 分支main 保留学生源码、评分与构建工具。

python3 results/tools/build_showcase.py
python3 -m http.server 8000 --bind 127.0.0.1 --directory results/dist/site

需 Python 3、Matplotlib、Noto CJK 与 Lato 字体、Node.js 和 pnpm。构建包括 React 工程测试、类型检查、排名图片导出与打包,生成 results/dist/site/results/dist/showcase.zip。作品按学号排列,“全部作品”使用游戏封面;“评分排行(gpt-6-Astra)”显示学号与姓名,发布本次重新评分、悬停理由和作品预览。公开数据包含学号、姓名、GitCode 头像、作品及新评分,下载的排名图另含班级;不包含旧 DeepSeek 成绩。详见 站点说明

当前评分

25 人按四项作品质量、提交速度与提交规范评分,各项均为 100 分制。最终得分 = 作品均分 × 40% + 速度分 × 40% + 规范分 × 20%,保留一位小数,同分并列。绘画对照 电视朝日官方角色图,具体理由和扣分表见 评分报告

速度统一从 2026年9月19日14:26(北京时间) 起算,使用本次已评审作品对应 PR 的创建时间。先过滤无可评分作品的提交,以首个有效提交的用时为 100 分基准,其他有效提交得分为 100 × 最快有效用时 ÷ 本人用时。速度分先四舍五入至一位小数再计入总分;无效提交速度分为 0。江杭屿(20261401334)经授权从第二个 Fork 补收 15:05 前的 ed5c7b6 版本;速度按明确确认的 14:56:28 计时,用时 1828 秒、速度分 48.3,原空 PR 的创建时间不参与最快基准。补收和验证记录见 评审证据。四项质量各占总分 10%;表头仅一行,悬停显示占比;单项理由按编号分条,最终分悬停显示单行加权公式。原四项作品分与提交规范扣分保留。

python3 results/tools/sync_regrade.py
python3 -m unittest discover -s results/tools -p test_score_math.py

同步命令从 results/student-roster.jsonresults/audit/astra-regrade/assessments.jsonsubmission-timing.json 导出 CSV、Excel、报告、内部查看器和 scores.json,不会根据旧分推算或重复扣分;测试覆盖有效基准、时区、四舍五入和规范扣分。旧成绩归档在 results/audit/astra-regrade/deepseek-reference/,不打包到公开站点。

目录规范化与扣分

目录违规每人在提交规范中扣 10 分,同一人的多个问题只扣一次;按最新 20% 规范权重折合总分扣 2 分。原始成绩和归属证据先归档,再进行目录整理。首次整理时的历史分数见 目录规范化记录;当前重评分数见 评分报告。新评审对恢复后的原始源码重新验收,目录扣分已经包含在提交规范中。

安装 openpyxl 后,原成绩同步命令也会转到当前重评数据:

python3 results/tools/apply_directory_penalties.py

重复执行不会叠加扣分。results/tools/ 中以 _ 开头的文件是历史评审脚本,部分依赖原评审机路径和未收录的中间数据,不是当前评分或构建入口。历史 PR 抓取脚本通过 GITCODE_TOKEN 环境变量读取凭据,勿将令牌写入文件或提交 Git。

results/ 内目录和文件全部使用英文 ASCII 名称,例如 tools/scores.jsongrades.csvgrading-report.md;迁移记录见 results/audit/filename-migration.json。学生目录保留题目规定的中文环节与作品文件名。新建共享目录、文件使用英文,代码注释与文档字符串使用英文;提交采用 feat:fix:docs:chores: 等前缀,详见 AGENTS.md

项目介绍

2026级科研实践培养营第一周作品展:代码画作、网页游戏与评分排行,采用 Feiyue Notion 风格。

https://dl.icthub.top/定制我的领域