更新课程大纲与作业设计

This commit is contained in:
Hao He 2022-09-06 17:12:22 +08:00
parent e525ac1ddd
commit 98eff2929f
8 changed files with 117 additions and 69 deletions

5
Assignments/Lab1.md Normal file
View File

@ -0,0 +1,5 @@
> - 有Repo1分
> - 有README.md 1分
> - 按要求的commit message1分
> - 有OSS贡献计划1分
> - OSS贡献计划体现出对项目的了解和自己的认真思考1分。

0
Assignments/Lab6.md Normal file
View File

0
Assignments/Project.md Normal file
View File

View File

@ -5,97 +5,140 @@
**主要内容: 开源开发方法、技术和实践OSP + 开源文化OSC + 上机实习lab + 课程项目PRJ**
### 第1次课开源软件及其开发概述。课堂lecture 09/07
* 100课程简介课程的目的和内容以及课程的考核形式。 **lecture100**
* 101开源软件概述开源的定义、历史和现状、社区结构和治理以及开源研究。 **lecture101**
* 102开源参与概述怎么参与开源项目和社区如果时间允许课堂上访问github/gitee/gitlink设立平台账号了解一个开源项目。**lecture102**
## 第1次课开源软件及其开发概述课堂lecture 09/07
> Lab 1在github course社区中创建一个repo, 写下一个md文档阐述目前想到的可能会去贡献的oss project某个特定项目或具有某些特征的项目
- 有Repo1分
- 有README.md 1分
- 按要求的commit message1分
- 有OSS贡献计划1分
- OSS贡献计划体现出对项目的了解和自己的认真思考1分。
* 100课程简介课程的目的和内容以及课程的考核形式。 **lecture100**
* 101开源软件概述开源的定义、历史和现状、社区结构和治理以及开源研究。 **lecture101**
* 102开源参与概述怎么参与开源项目和社区如果时间允许课堂上访问github/gitee/gitlink设立平台账号了解一个开源项目。**lecture102**
> **Lab 1练习使用git和GitHub**
> - 注册GitHub账号
> - 加入课程的[Organization](https://github.com/OSS-Dev-Course-PKU)
> - 创建GitHub仓库并添加commit于README.md写下目前的开源项目贡献想法
>
> Lab 1详细要求参见[WriteUp](Assignments/Lab1.md)**截止日期2022.09.28 11:59am**
### 第2次课开源开发的支持平台和关键技术熟悉开源平台和Git操作。 09/14
* 201Git实践入门
## 第2次课开源开发的支持平台和关键技术熟悉开源平台和Git操作课堂lecture 09/14
* 201Git实践入门
- 了解版本控制了解使用Githttps://missing.csail.mit.edu/2020/version-control/
* 202GitHub实践入门
* 202GitHub实践入门
- 了解如何用开源协作工具熟悉Github/Gitee/GitLink--建立账号和代码仓库浏览和fork项目
> 深化Lab1面向自己的repo
- 提交一个issue
- 提交一个commit。
> **Lab 1扩展练习使用issue、fork和PR**
> - 提交一个issue描述自己的想法相比较于第一次提交做出了哪些变化
> - 将仓库fork到自己的账号下对README.md做出相应修改并提出一个PR
>
> Lab 1详细要求参见[WriteUp](Assignments/Lab1.md)**截止日期2022.09.28 11:59am**
## 第3次课开源贡献指南课堂lecture 09/21
### 第3次课开源贡献指南。 09/21
* 301开源贡献指南
- learn how the open source community works;
- criteria to select open source project and task to participate in.
- 以1~2个github项目/任务为例,展示如何做贡献(消除畏惧感).
- 以1~2个GitHub项目/任务为例,展示如何做贡献(消除畏惧感).
> Lab 2任意选择一个开源项目了解并报告contributing.md的形式和内容。了解其开发过程
> **Lab 2了解开源项目的开发方式和贡献流程**
>
> 任意选择一个活跃、成熟的开源项目:
> - 了解并报告CONTRIBUTING.md的形式和内容
> - 回答有关其贡献流程、质量管理方式等若干问题
>
> Lab 2详细要求参见[WriteUp](Assignments/Lab2.md)**截止日期2022.10.12 11:59am**
## 第4次课开源项目maintainer分享其维护/开发的经验。(多个项目,为开源任务选择做准备&提供依据) 09/28
* 开源项目的分享:项目介绍、技术介绍、项目常用规则、如何参与。
## 第5次课如何选择任务参与GitHub Good First Issue课堂lecture 10/12
> **Lab 3探索可以参与的开发任务**
>
> - 选择一个或者多个感兴趣的开源项目,探索并报告:
> * 是否具有Good First Issue机制
> * 如果你需要在其中选择开发任务,你会如何做
> - 参考以下几个Good First Issue推荐网站报告其使用体验对比其优缺点
> * [GFI-Bot](https://gfibot.io)
> * [GitHub Good First Issue](https://github.com/topics/good-first-issue)
> * [good-first-issue.dev](https://goodfirstissue.dev/)
>
> Lab 3详细要求参见[WriteUp](Assignments/Lab3.md)**截止日期2022.10.26 11:59am**
### 第4次课开源项目maintainer分享其维护/开发的经验。(多个项目,为开源任务选择做准备&提供依据) 09/28
* 开源项目的分享:项目介绍、技术介绍、项目常用规则、如何参与。
## 第6次课课程项目开题报告选择开源项目和开源任务 10/19
### 第5次课如何选择任务参与GitHub Good First Issue。 10/12
> Lab 3: 选几个oss project研究一下gfi然后看一下gfibot对什么是好的gfi/或者怎么改进bot给个分析报告. how to make the first contribution
### 第6次课课程项目报告选择开源项目和开源任务。 10/19
* 学生报告如何根据criteria to select open source project and task来进行开源任务的选择
## 第7次课CI/CD上机实习 10/26
### 第7次课CI/CD。上机实习 10/26
> Lab 4了解三种CI流程管理工具Travis CI、GitHub Actions、Gitee Go, 知道如何使用这些工具编写简单的CI流水线并且在实践项目上完成符合要求的成功构建。
> 4Fun: 2021课程实习过程中关于gitee go的建议https://toscode.gitee.com/pitcher/gitee-go-exercise/issues
> **Lab 4CI/CD流水线搭建**
>
> 了解三种CI流程管理工具Travis CI、GitHub Actions、Gitee Go, 知道如何使用这些工具编写简单的CI流水线并且在实践项目上完成符合要求的成功构建
>
> Lab 4详细要求参见[WriteUp](Assignments/Lab4.md)**截止日期2022.11.9 11:59am**
>
> 4Fun: 2021课程实习过程中关于gitee go的建议https://toscode.gitee.com/pitcher/gitee-go-exercise/issues
### 第8次课闭源与开源软工的异同。课堂lecture11/2
### 第9次课了解PyPI/NPM等包管理系统及打包/上载过程。(上机实习) 11/9
> Lab 5学会使用pip进行python包的管理学会使用poetry进行python包的管理学会配置自己的python包包括配置setup.py、setup.cfg和pyproject.toml熟悉Python包生态系统平台PyPI并且通过setuptools、wheel和build三种方式将自己的python包发布到testpypi平台上注意不是pypi平台。Testpypi https://test.pypi.org 是与PyPI分离的python包发布平台使练习时发布的python包不会影响到真正的生态
### 第10次课开源社区及开源文化。与开源布道师面对面。 11/16
### 第11次课课程项目报告进度报告涉及任务选择/合作反馈/工具使用等。 PRJ-2 11/23
### 第12次课开源开发中的沟通实践。 11/30
* 协作和沟通的重要性以及如何沟通分布式沟通中的要点如何提交PR等。
> Lab 6 阅读linux kernel中的沟通实践体会总结如何沟通能够获得响应等
>提交issue时如何参与讨论如何沟通
>提交pr时如何沟通。
### 第13次课开源开发和生态相关的挑战和研究。课堂lecture 12/7
* 开源软件供应链。
* 开源生态。
### 第14次课开源治理与社区运营。 12/14
* 开源基金会,开源与法律,开源商业化机制。
* 社区运营例如孵化社区的渠道如果做meetup和宣传等。
## 第8次课闭源与开源软工的异同课堂lecture11/2
### 第15次课课程项目结题报告。 PRJ-3 12/21 12/26停课复习
## 第9次课PyPI/NPM等包生态系统/包管理工具,使用/打包/上载软件包(上机实习) 11/9
> **Lab 5Python开源软件包安装/管理/打包/上载**
>
> - 使用pip进行python包的管理
> - 使用poetry进行python包的管理
> - 配置自己的python包包括配置setup.py、setup.cfg和pyproject.toml
> - 熟悉Python包生态系统平台PyPI并且通过setuptools、wheel和build三种方式将自己的python包发布到testpypi平台上注意不是pypi平台。Testpypi https://test.pypi.org 是与PyPI分离的python包发布平台使练习时发布的python包不会影响到真正的生态
>
> Lab 5详细要求参见[WriteUp](Assignments/Lab5.md)**截止日期2022.11.30 11:59am**
## 第10次课开源社区及开源文化与开源布道师面对面 11/16
> 最后一次课之后2周内提交latex反思报告。
## 第11次课课程项目进度报告任务选择/合作反馈/工具使用等 PRJ-2 11/23
### 评分:
* 上机实习lab 6个共50分
* 课程项目PRJ3次pre每次5分反思报告10分最后的贡献结果15分共40分
## 第12次课开源开发中的沟通实践 11/30
* 协作和沟通的重要性如何沟通分布式沟通中的要点如何提交PR等。
> Lab 6 阅读linux kernel中的沟通实践相关资料体会总结开源沟通的最佳实践
>
> - 提交issue时如何参与讨论如何沟通
> - 提交pr时如何沟通
>
> Lab 6详细要求参见[WriteUp](Assignments/Lab6.md)**截止日期2022.12.14 11:59am**
## 第13次课开源开发和生态相关的挑战和研究课堂lecture 12/7
* 开源软件供应链
* 开源生态
## 第14次课开源治理与社区运营 12/14
* 开源基金会,开源与法律,开源商业化机制
* 社区运营例如孵化社区的渠道如何做meetup和宣传等
## 第15次课课程项目结题报告 PRJ-3 12/21 12/26停课复习
> 最后一次课之后需要提交课程项目最终报告LaTeX格式**截止日期2023.01.04 11:59am**
>
> 课程项目的详细要求参见[WriteUp](Assignments/Project.md)
## 评分标准
* 课堂表现10分
- 上课参与讨论、提问若点名未到且未事先请假一次扣2分最多10分
- 课堂表现优秀者,视情况酌情加分
* 上机实习Lab6个共50分
- Git/贡献指南/GFI/沟通7~8分一个共30分
- CI/CD和包管理10分一个共20分
* 课程项目PRJ40分
- 3次presentation开题/中期/结题每次5分
- 期末报告10分
- 最后的贡献结果15分