From c8b4891d0b0fb7f0ed31bc05bee05f900cdf73e5 Mon Sep 17 00:00:00 2001 From: minghuizhou Date: Tue, 23 Aug 2022 12:31:06 +0800 Subject: [PATCH] Create outline.md --- 2021/outline.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 2021/outline.md diff --git a/2021/outline.md b/2021/outline.md new file mode 100644 index 0000000..143b47e --- /dev/null +++ b/2021/outline.md @@ -0,0 +1,74 @@ +# 课程大纲 +**主要内容:软工基础理论SE + 开源方法、技术和实践OSP + 开源文化OSC + 课程项目PRJ** + +* 第1次课:开源软件及其开发概述。 2021/09/17 + 100课程简介:课程的目的和内容,以及课程的考核形式。 **lecture100** + 101开源软件概述:开源的定义、历史和现状、社区结构和治理,以及开源研究。 **lecture101** + + + +* 第2次课:开源开发的支持平台、技术以及参与贡献的过程。(熟悉开源平台和相关参与操作,布置开源任务的选择)OSP-1 10/08 +201:Git实践入门 +202:GitHub实践入门 +203:开源贡献指南:criteria to select open source project and task to participate in; learn how the open source community works; how to make the first contribution. + +实践:在github course社区中创建一个repo, 写下一个md文档,阐述目前想到的可能会去贡献的oss project(某个特定项目或具有某些特征的项目) + + + +* 第3次课:软件工程:传统软工与开源软工的异同。 SE-1 09/24 + 201:经典软件工程。**lecture201** + 202:从传统软工到开源开发。**lecture202** + 203:如何通过互联网了解一个开源项目的开发过程 (to be or not to be? TBC) + *** call for contribution:开发过程实例:企业开发一个产品版本的过程&一个开源软件版本的开发过程。 (鸣谢王旭提供了2页素材) *** + + +* 第4次课:开源项目maintainer分享其维护/开发的经验。(多个项目,为开源任务选择做准备&提供依据)OSP-2 10/15 +*** call for contribution:围绕其开源项目介绍如何参与、如何贡献,以及其项目常用规则 *** +开源项目的分享(操作系统,容器,AI框架):项目介绍、技术介绍、如何参与。 +openEuler,胡欣蔚; +kata container,王旭; +paddlepaddle,朱欤。 + + +* 第5次课:课程项目的开始:选择开源项目和开源任务。 PRJ-1 10/22 +学生报告,如何根据criteria to select open source project and task来进行开源任务的选择(报告模板参见课件) + + +* 第6次课:开源软件开发的典型开发活动及支持技术。(开源贡献实践篇:CI/CD)OSP-3 10/29 +上机实习:了解三种CI流程管理工具Travis CI、GitHub Actions、Gitee Go, 知道如何使用这些工具编写简单的CI流水线,并且在实践项目上完成符合要求的成功构建。 +实习过程中关于gitee go的建议:https://toscode.gitee.com/pitcher/gitee-go-exercise/issues + +* 第7次课:软件工程经典思想:设计原则。及其在开源项目中的应用和变化。 SE-2 11/05 + +* 第8次课:软件项目管理:软件过程与软件工程原则。 及其在开源项目中的应用和变化。SE-3 11/12 --- +思想实验:假设你发起了一个项目:1)选择一个你想实现的软件产品:what it is? 2)想象你怎么组织开发:多少人,多长时间,怎么管理进度和质量? + + +* 第9次课:开源社区及开源文化。与开源布道师面对面。 OSC-1 11/19 + *** call for contribution:*** + PingCAP CTO 黄东旭,内容: 开源分布式数据库TiDB概述;TiDB社区治理流程+PR实践;我眼中的开源文化。 + + +* 第10次课:课程项目报告:进度报告,涉及任务选择/合作反馈/工具使用等。 PRJ-2 11/26 + + +* 第11次课:开源许可证和开源基金会。 OSC-2 12/03 + +* 第12次课:开源开发中的沟通。(开源贡献实践篇:如何沟通,如何提交PR等。) OSP-5 12/10 + 开源软件开发的开发活动和支持技术:协作和沟通。(开源贡献实践篇:讲授+课堂实践) + +* 第x次课:开源治理,开源基金会,开源与法律。OSC-2 (optional) + +* 第13次课:开源软件开发的挑战和相关研究。 OSC-3 + +* 第x次课:业界开源专家经验分享:开源需要的能力。 OSP+C 12/24 ---non--- +*** call for contribution:*** + +* 第14次课:实践课:熟悉PyPI和NPM等包管理系统,了解打包和上载过程。 + +* 第15次课:课程项目结题报告。 PRJ-3 12/24 (之后停课)