X-lab2017/open-wonderland

C 2024 开源通识课程(@PureNatural 牵头)

Opened this issue · 6 comments

参考”开源教育“的层次天工开物开源普惠教育活动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

第二步,设置实践模式

  • 教育版:基于“完形填空”形式的简化版开源项目实训,例如 TinySQLTinyKVMiniOB
  • 历史版:基于“历史版本”的中间阶段开源项目实训,天工开物本学期希望我们实验室产出的
  • 实战版:基于“最新版本”的真实环境开源项目实训,又可以分为两种:

第三步,设置对应任务

  • OpenDigger(数据与算法类型项目,实战版),拟设计 15 个任务
    • 例如,回退到没有命令行工具的版本,将其作为一个任务
  • HyperCRX(前端插件项目,实战版 + 历史版),拟设计 15 个任务
    • 例如,回退到没有 oss-gpt 的版本,将其作为一个任务
  • OpenLeaderboard(前端 Web 项目,实战版),拟设计 10 个任务
  • OpenPerf(科研类项目,实战版) ,拟设计 5 个任务
  • X-lab 官方网站(历史版),拟设计 5 个任务

3、将项目介绍、以往开发经验、任务解读、以及项目答疑等工作放到平时课程内容中

邀请内外部专家进行协同授课~


03-06 更新,经过讨论,目前确定:

OpenPerf任务拟定(可以做删改)

  1. 基于GitHub协作网络的开发者/仓库推荐方法
  2. 开源社区命名实体识别数据集的构建及方法实现
  3. 开源社区问答数据集的构建及问答模型的实现
  4. 基于机器学习的开发者地理位置信息挖掘
  5. GitHub仓库多标签分类方法的研究与实现

如果有教育版(历史版)强诉求的化,HyperCRX的确是最合适的。因为自某次重构后,HyperCRX现在的每个特性都是单独一个目录,所以只要了解了这个插件的开发流程和一些底层原理后,不同的任务可以并行进行,协作起来不会很混乱。

image

在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 任务拟定:

  1. 增加平台切换选项,分别展示Gitee、Github平台的排行榜
  2. 增加世界地图导览模式的排行榜
  3. 增加全球国家与地区细分排行榜
  4. 增加**地区细分排行榜
  5. 增加技术领域细分排行榜
  6. 增加基金会排行榜
  7. 增加**开发者参与的开源项目排行榜
  8. 增加机器人排行榜
  9. 对其中的可视化大屏进行重构并投放到合适的位置
  10. 添加自动化添加项目的方式X-lab2017/open-leaderboard#67
  11. 调整排行榜UI设计X-lab2017/open-leaderboard#108

感觉如果把某一个排行榜单独拿出来当做一个任务的话,要考虑一下工作量的问题,只是在网页上列一个表格的话,感觉有一些太简单了