Update 课程大纲.md

This commit is contained in:
minghuizhou 2022-09-05 16:27:50 +08:00 committed by GitHub
parent 06ec182c57
commit e6c9117b0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 68 additions and 22 deletions

View File

@ -1,50 +1,96 @@
# 2022年秋冬学期——课程大纲 # 2022年秋冬学期——课程大纲 (subject to change)
**主要内容软工基础理论SE + 开源方法、技术和实践OSP + 开源文化OSC + 课程项目PRJ**
* 第1次课开源软件及其开发概述。 09/07 **主要内容: 开源开发方法、技术和实践OSP + 开源文化OSC + 上机实习lab + 课程项目PRJ**
* 第1次课开源软件及其开发概述。课堂lecture 09/07
100课程简介课程的目的和内容以及课程的考核形式。 **lecture100** 100课程简介课程的目的和内容以及课程的考核形式。 **lecture100**
101开源软件概述开源的定义、历史和现状、社区结构和治理以及开源研究。 **lecture101** 101开源软件概述开源的定义、历史和现状、社区结构和治理以及开源研究。 **lecture101**
102开源参与概述怎么参与开源项目和社区如果时间允许课堂上访问github/gitee/gitlink设立平台账号了解一个开源项目。**lecture102** 102开源参与概述怎么参与开源项目和社区如果时间允许课堂上访问github/gitee/gitlink设立平台账号了解一个开源项目。**lecture102**
> Lab 1在github course社区中创建一个repo, 写下一个md文档阐述目前想到的可能会去贡献的oss project某个特定项目或具有某些特征的项目
> 有Repo 1分
> 有README.md 1分
> 按要求的commit message1分
> 有OSS贡献计划 1分
> OSS贡献计划体现出对项目的了解和自己的认真思考 1分
* 第2次课开源开发的支持平台和关键技术。熟悉开源平台和Git操作 09/14 * 第2次课开源开发的支持平台和关键技术。熟悉开源平台和Git操作 09/14
201Git实践入门 201Git实践入门
> 了解版本控制了解使用Githttps://missing.csail.mit.edu/2020/version-control/
202GitHub实践入门 202GitHub实践入门
> 了解如何用开源协作工具熟悉Github/Gitee/GitLink--建立账号和代码仓库浏览和fork项目
深化Lab1面向自己的repo
- 提交一个issue
- 提交一个commit。
* 第3次课开源贡献指南 09/21 * 第3次课开源贡献指南 09/21
301开源贡献指南 301开源贡献指南
learn how the open source community works; learn how the open source community works;
how to make the first contribution;
criteria to select open source project and task to participate in. criteria to select open source project and task to participate in.
> 以1~2个github项目/任务为例,展示如何做贡献(消除畏惧感);
任意选择一个开源项目了解contributing.md的形式和内容。 Lab 2任意选择一个开源项目,了解并报告contributing.md的形式和内容。(了解其开发过程)
* 第4次课开源项目maintainer分享其维护/开发的经验。(多个项目,为开源任务选择做准备&提供依据) 09/28 * 第4次课开源项目maintainer分享其维护/开发的经验。(多个项目,为开源任务选择做准备&提供依据) 09/28
开源项目的分享:项目介绍、技术介绍、项目常用规则、如何参与。 开源项目的分享:项目介绍、技术介绍、项目常用规则、如何参与。
* 第5次课课程项目的开始:选择开源项目和开源任务。 10/12 * 第5次课如何选择任务参与GitHub Good First Issue
学生报告如何根据criteria to select open source project and task来进行开源任务的选择报告模板参见课件 Lab 3: 选几个oss project研究一下gfi然后看一下gfibot对什么是好的gfi/或者怎么改进bot给个分析报告. how to make the first contribution
* 第6次课开源软件开发的典型开发活动及支持技术。 10/19 * 第6次课课程项目报告选择开源项目和开源任务。 10/12
学生报告如何根据criteria to select open source project and task来进行开源任务的选择
上机实习了解三种CI流程管理工具Travis CI、GitHub Actions、Gitee Go, 知道如何使用这些工具编写简单的CI流水线并且在实践项目上完成符合要求的成功构建。
实习过程中关于gitee go的建议https://toscode.gitee.com/pitcher/gitee-go-exercise/issues
* 第7次课了解PyPI/NPM等包管理系统及打包/上载过程。 * 第6次课CI/CD。上机实习 10/19
Lab 4了解三种CI流程管理工具Travis CI、GitHub Actions、Gitee Go, 知道如何使用这些工具编写简单的CI流水线并且在实践项目上完成符合要求的成功构建。
TBC... > 4Fun: 2021课程实习过程中关于gitee go的建议https://toscode.gitee.com/pitcher/gitee-go-exercise/issues
* 第7次课闭源与开源软工的异同。课堂lecture11/2
* 第8次课了解PyPI/NPM等包管理系统及打包/上载过程。(上机实习) 10/26
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包不会影响到真正的生态
* 第9次课开源社区及开源文化。与开源布道师面对面。 11/9
* 第10次课课程项目报告进度报告涉及任务选择/合作反馈/工具使用等。 PRJ-2 11/16
* 第11次课开源开发中的沟通。 11/23
协作和沟通的重要性以及如何沟通分布式沟通中的要点如何提交PR等。
Lab 6 阅读linux kernel中的沟通实践体会总结如何沟通能够获得响应等
>提交issue时如何参与讨论如何沟通
>提交pr时如何沟通。
* 第12次课开源生态和供应链。课堂lecture 11/30
* 第13次课开源治理与社区运营。 12/7
开源基金会,开源与法律,开源商业化机制。
社区运营例如孵化社区的渠道如果做meetup和宣传等。
* 第14次课开源开发相关的挑战和研究。课堂lecture 12/14
* 第15次课课程项目结题报告。 PRJ-3 12/21 12/26停课复习
最后一次课之后2周内提交latex反思报告。
**评分:
 上机实习lab 6个共50分
 课程项目PRJ3次pre每次5分反思报告10分最后的贡献结果15分共40分
* 第15次课课程项目结题报告。 PRJ-3 12/21 12/26停课复习