open-wonderland
open-wonderland copied to clipboard
C 2024 开源通识课程(@PureNatural 牵头)
参考”开源教育“的层次、天工开物开源普惠教育活动、2024 春季《开源软件通识》课程开课规划、以及开源课程的评价方式等相关内容作为输入,设置本学期开源课程的工作要点:
1、理论课讲授以“拥抱开源”与“贡献开源”两个模块为主
参考去年内容,具体安排如下:
- 第一阶段:拥抱开源
- 02.26,开源世界漫游
- 03.04,中国开源年度报告分享
- 03.11,待定(需要将 OpenDigger 与 OpenLeaderboard、HyperCRX、OpenPerf 等安排下去)
- 03.18,待定
- 03.25,第一次作业(协同改错)
- 04.01,待定
- 第二阶段:贡献开源
- 04.08,第二次作业(博客网站)
- 04.15,待定
- 04.22,第三次作业(Action自动化)
- 04.29,发布学期大作业(项目、模式、任务)
- 05.06,待定
- 05.13,待定
2、选定 GitHub 上面的若干开源项目,设置实践模式,并在每个开源项目下面设置 5 ~ 15 个任务
第一步,选择开源项目(五个)
- OpenDigger
- OpenLeaderboard
- HyperCRX
- OpenPerf
- X-lab Website
第二步,设置实践模式
- 教育版:基于“完形填空”形式的简化版开源项目实训,例如 TinySQL、TinyKV、MiniOB
- 历史版:基于“历史版本”的中间阶段开源项目实训,天工开物本学期希望我们实验室产出的
- 实战版:基于“最新版本”的真实环境开源项目实训,又可以分为两种:
第三步,设置对应任务
-
OpenDigger(数据与算法类型项目,实战版),拟设计 15 个任务
- 例如,回退到没有命令行工具的版本,将其作为一个任务
-
HyperCRX(前端插件项目,实战版 + 历史版),拟设计 15 个任务
- 例如,回退到没有 oss-gpt 的版本,将其作为一个任务
- OpenLeaderboard(前端 Web 项目,实战版),拟设计 10 个任务
- OpenPerf(科研类项目,实战版) ,拟设计 5 个任务
- X-lab 官方网站(历史版),拟设计 5 个任务
3、将项目介绍、以往开发经验、任务解读、以及项目答疑等工作放到平时课程内容中
邀请内外部专家进行协同授课~
03-06 更新,经过讨论,目前确定:
- 除了 HyperCRX 同时采取“历史版 + 实战版”外,其它都采取实战版
- OpenDigger @frank-zsy @xiaoya-yaya
- HyperCRX @tyn1998
- OpenLeaderboard @wj23027
- OpenPerf @PureNatural
- X-lab 官方网站 @bifenglin
OpenPerf任务拟定(可以做删改)
- 基于GitHub协作网络的开发者/仓库推荐方法
- 开源社区命名实体识别数据集的构建及方法实现
- 开源社区问答数据集的构建及问答模型的实现
- 基于机器学习的开发者地理位置信息挖掘
- GitHub仓库多标签分类方法的研究与实现
如果有教育版(历史版)强诉求的化,HyperCRX的确是最合适的。因为自某次重构后,HyperCRX现在的每个特性都是单独一个目录,所以只要了解了这个插件的开发流程和一些底层原理后,不同的任务可以并行进行,协作起来不会很混乱。
在HyperCRX的特性注入机制下,不一定要历史版,可以直接当前版本挖空做成教育版。
我这边希望 HyperCRX 未来可能包含的一些特性,也适合课程的: 1、一套所有组件可用的通用消息推送机制,可以在页面上弹窗进行不同级别的消息提示,如通知、警告、错误消息等。 2、配置页面的 UI 及逻辑优化,未来组件在不断增加的情况下,一套好看可扩展的配置页面是挺关键的。 3、OSS-GPT 的升级优化,后续可能我们自己 Host GPT 服务的成本太高,可以变成适配其他的平台,例如 kapa.ai 4、FastPR,已经提了 Issue,适配各类文档官网的快速 PR 能力,可以支持 GitHub、Gitee、AtomGit 等。 5、FastDeploy,支持开源项目的容器镜像一键部署。
将《2023 中国开源年度报告》的内容作为输入,可以设置如下相关任务:
OpenLeaderboard
- 增加世界地图导览模式的排行榜
- 增加全球国家与地区细分排行榜
- 增加中国地区细分排行榜
- 增加技术领域细分排行榜
- 对其中的可视化大屏进行重构并投放到合适的位置
OpenDigger 可以同时参考 OpenSODA 大赛
HyperCRX
- 在 Dashboard 页面增加面向个人的宏观数据洞察功能
- 在 org 页面增加面向组织的宏观数据洞察功能
- 在单个仓库页面,重构 Perceptor 的数据洞察功能
- 在个人账号页面,重构个人的数据洞察功能
同时,还可以参考今年硕士毕业论文选题,将成果进行转化:
- 基于开源协作异质图的开发者-项目双向推荐方法研究与应用
- 基于 Infomap 和 WebGL 的开源协作网络可视化研究
- 基于开源协作行为数据分析的开发者流失预测模型与监控预警系统
- 基于协作网络与仓库文本特征的开源软件价值评估模型研究
- 基于开发者行为数据的角色识别与链接预测方法研究与应用
OpenLeaderboard 任务拟定:
- 增加平台切换选项,分别展示Gitee、Github平台的排行榜
- 增加世界地图导览模式的排行榜
- 增加全球国家与地区细分排行榜
- 增加中国地区细分排行榜
- 增加技术领域细分排行榜
- 增加基金会排行榜
- 增加中国开发者参与的开源项目排行榜
- 增加机器人排行榜
- 对其中的可视化大屏进行重构并投放到合适的位置
- 添加自动化添加项目的方式https://github.com/X-lab2017/open-leaderboard/issues/67
- 调整排行榜UI设计https://github.com/X-lab2017/open-leaderboard/issues/108
感觉如果把某一个排行榜单独拿出来当做一个任务的话,要考虑一下工作量的问题,只是在网页上列一个表格的话,感觉有一些太简单了