A bilingual, project-driven open course for international students 面向国际学生的双语 · 项目驱动开源课程
Course Overview 课程简介 · Syllabus 教学大纲 · Course Project 课程大作业 · Adoption 采用登记 · Author 作者
A complete, bilingual (English-primary with Chinese annotations) open course for Software Engineering I — a 16-week, 32-hour undergraduate course for international students, taught with a project-driven approach built around HanPal, a small programme that helps non-native speakers learn Chinese.
面向国际学生的《软件工程 I》开源课程:16 周 / 32 学时,英文主讲、中文注释,以 HanPal(帮外国人学习中文的小程序)贯穿全学期。
🆕 2026-09-14 · Project change 项目更换:The semester project is now HanPal — a WeChat mini programme that helps international students learn Chinese. It is student-owned from week 4: the team defines the users, the requirements and the priority order. The instructor is the sole reviewer. 学期大作业已更换为 HanPal(帮外国人学习中文的小程序)。从第 4 周起由学生自己定义用户、需求与优先级,任课教师是唯一评审人。
Two cases, two roles 两类案例、两种用途:CampusGuard(smart campus access & safety)is an original case released under CC BY 4.0 and stays in this repository as the classroom modelling case — the exercises in the decks are written against it. HanPal is the student team project and is not distributed here, because it belongs to the teams that built it. Neither is derived from SafeHome, the Pressman & Maxim case, which is not ours to relicense. CampusGuard(校园智能通行与安防)作为 CC BY 4.0 原创课堂建模案例保留在本仓库,课件中的建模练习都基于它;HanPal 是学生团队大作业,权属归各组,故不在此分发。两者都不是 Pressman & Maxim 的 SafeHome 的衍生品。
Course status 课程状态:Teaching in progress (Semester 2026-2027-1). Slides are rebuilt weekly and published after review — W01–W04 released; W05–W07 built and awaiting de-identification before publication; W08–W16 in production. 课程进行中(2026-2027-1 学期)。课件按周重制、经审后发布——已发布 W01–W04;W05–W07 已制作完成,待脱敏后发布;W08–W16 制作中。
📚 Companion textbook 配套教材:An open English textbook covering the full 64-hour SE I + SE II sequence (running case: CareLink) is being written alongside this course — klausren/oose-textbook. 配套英文教材(覆盖 SE I + II 共 64 学时,贯穿案例 CareLink)正在随课程同步编写——klausren/oose-textbook。
By design 教学设计:the textbook demonstrates each technique with the original CareLink case, the decks drill you on the CC BY 4.0 case CampusGuard, and your team builds HanPal from scratch — three different artifacts, three different purposes. 教材用 CareLink 示范讲解,课件用 CampusGuard 演练,团队从零做自己的 HanPal——三者用途不同。
| Item 项目 | Detail 内容 |
|---|---|
| Course 课程 | Software Engineering I 软件工程 I |
| Credits / Hours 学分 / 学时 | 2 credits / 32 hours (Theory 24 + Practice 8) |
| Duration 周期 | 16 weeks, 2 hours per week |
| Language 语言 | English with Chinese annotations 英文主讲、中文注释 |
| Textbook 参考教材 | R. S. Pressman, Software Engineering: A Practitioner's Approach (9th ed.) |
| Project 项目 | HanPal — a WeChat mini programme that helps international students learn Chinese, built by student teams all semester |
Highlights 教学特色
- 🔧 Project-driven 项目驱动 — One semester-long team project (HanPal); every modeling technique learned in class is immediately applied to the team's own requirements. 每周所学建模技术即刻应用于团队自己的需求。
- 🌏 Bilingual 双语 — English-primary slides with concise Chinese annotations to help international students master technical terms. 英文主讲,中文注释辅助术语理解。
- ✍️ Hands-on 每课练习 — Each week includes 2–3 in-class exercises with answers. 每周 2–3 个课堂练习(含答案)。
- 🎨 Original figures 原创图表 — All diagrams are original vector drawings (no copyrighted textbook images), so the materials are safe to remix. 全部图表为原创矢量图,不含教材原图。
| Week 周 | Topic 主题 | Slides 课件 |
|---|---|---|
| 01 | Introduction to Software Engineering 软件工程导论 | ✅ W01 · 44 pages |
| 02 | Software Process Models 软件开发过程模型 | ✅ W02 · 41 pages |
| 03 | Agile Development & Scrum 敏捷开发与 Scrum | ✅ W03 · 42 pages |
| 04 | Requirements Inception & Elicitation 需求启始与获取 | ✅ W04 · 43 pages |
| 05 | Requirements Gathering & Practice I 需求收集实践 | 🚧 deck built, publishing after review 课件已做,待脱敏发布 |
| 06 | Requirements Modeling: Business Process 业务流程建模 | 🚧 deck built, publishing after review 课件已做,待脱敏发布 |
| 07 | Requirements Modeling: Use Case 用例建模 | 🚧 deck built, publishing after review 课件已做,待脱敏发布 |
| 08 | Requirements Modeling: Use Case Specification 用例描述 | 🚧 in production 制作中 |
| 09 | Requirements Modeling: Domain Model 领域模型 | 🚧 in production 制作中 |
| 10 | Domain Model (Cont.) 领域模型实践 | 🚧 in production 制作中 |
| 11 | Behavior-Based Modeling 行为建模 | 🚧 in production 制作中 |
| 12 | Behavior-Based Modeling (Cont.) 行为建模实践 | 🚧 in production 制作中 |
| 13 | Class-Based Modeling 类建模 | 🚧 in production 制作中 |
| 14 | Class-Based Modeling (Cont.) 类建模实践 | 🚧 in production 制作中 |
| 15 | User Interface Design 用户界面设计 | 🚧 in production 制作中 |
| 16 | Architectural Design & Final Defense 架构设计与项目验收答辩 | 🚧 in production 制作中 |
HanPal is a WeChat mini programme that helps non-native speakers learn Chinese — survival scenarios, short daily practice, pronunciation feedback. Students work in 5 teams of 5–6 and own the project from week 4: the team defines the users, the requirements and the priority order, and defends them in a live review.
HanPal 是一个帮外国人学习中文的微信小程序(生存场景、每日短练习、发音反馈)。5 组、每组 5–6 人,从第 4 周起项目归团队所有:由团队自己定义用户、需求与优先级,并在现场评审中为之答辩。
One topic, one rubric, one reviewer 一个题目、一套标准、一位评审人 — every team builds the same product against the same rubric, and the instructor is the sole reviewer. There is no client track and no instructor-supplied requirement track: the questions come from real users your team interviews, not from a brief you were handed.
每组做同一个产品、用同一套评分标准、由任课教师唯一评审。不存在甲方轨道、不存在教师给定需求轨道——需求来自你们自己访谈到的真实用户,不是发到手里的需求说明书。
| Item 项目 | Detail 说明 |
|---|---|
| Teams 分组 | 5 teams of 5–6 · 每组设组长 1 名 |
| Roles 角色 | Requirements · Analysis · Design · Build · Growth · Documentation(每人至少独占 1 个) |
| Milestones 里程碑 | M0 kickoff (W04) · M1 requirements (W05–W07) · M2 analysis · M3 design · M4 build · M5 growth · M6 final |
| Hard criteria 硬指标 | ≥8 real user interviews(不得全在本组内)· ≥2 personas · ≥8 use cases · requirements verifiable |
| Evidence 取证 | Every claim traces to an interview record — a requirement points at a quote, a quote points at a person. 每条需求都能回溯到访谈原话,原话能回溯到受访者 |
| Review 评审 | Stage reviews in class (W05–W15) → final defence (W16), individual statements from every member |
The classroom modelling case 课堂建模案例 — the exercises inside the decks run on CampusGuard, the CC BY 4.0 case in 03-project/CampusGuard-Project-Brief.md: 20 functional requirements, 8 non-functional requirements, 5 core scenarios, and a client who withholds three constraints on purpose. Learn the technique on CampusGuard; build your own product in HanPal.
课件里的建模练习基于 CampusGuard(见上,CC BY 4.0):20 条功能需求、8 条非功能需求、5 个核心场景,以及一位"故意隐瞒三项约束"的需求方。在 CampusGuard 上练技术,在 HanPal 上做自己的产品。
.
├── README.md # This file 本说明
├── LICENSE # CC BY-NC-SA 4.0
├── 01-slides/ # Weekly lecture slides (rebuild version) 每周课件(重制版)
│ ├── W01-Introduction-to-Software-Engineering.pptx
│ ├── W02-Software-Process-Models.pptx
│ ├── W03-Agile-Development-and-Scrum.pptx
│ ├── W04-Requirements-Inception-and-Elicitation.pptx
│ └── ... # W05–W07 built, W08–W16 in production 已制作/制作中
├── 02-teaching-plans/ # Teaching plans & course standard (sanitized) 教案与课标(脱敏版,陆续补充)
├── 03-project/ # CampusGuard classroom case brief (CC BY 4.0) 课堂建模案例说明
└── assets/ # Images used in README 说明用图片
- For teachers 教师 — You are free to reuse, adapt, and translate the materials for your own classes (non-commercial). 可自由复用、改编、翻译用于教学(非商业)。
- For students 学生 — Follow the weekly slides; in-class exercises include answers for self-check. 随周学习课件,练习含答案可自查。
- For self-learners 自学者 — Each deck is self-contained: concepts → diagrams → exercises. Recommended pace: one deck per week. 每份课件自成体系,建议每周一份。
If you use these slides — in whole or in part — in your own course, please register your adoption. A public adoption record sustains the project, helps other teachers find classroom-proven materials, and builds evidence for the future print edition. 如果您在本校课程中使用(全部或部分)本课件,欢迎登记。公开的采用记录既能帮助项目持续迭代,也能让更多同行找到经过课堂验证的素材,同时为将来的出版积累依据。
How to register 如何登记:open an issue with the Course adoption template — takes about one minute. 提交一个「课程采用登记」issue(已有现成模板,一分钟搞定): 👉 登记 / Register here
Adopters 采用记录
| Institution 学校 | Course 课程 | Term 学期 | Scope 使用范围 |
|---|---|---|---|
| Dalian Neusoft University of Information 大连东软信息学院 | Software Engineering I 软件工程 I | 2026–2027–1 | Full course 全部课件 |
| Yours? 你的课程? |
Found a typo, a broken link, or a factual error? Open an issue or submit a pull request — corrections from practitioners and educators are especially welcome.
发现错别字、失效链接或内容错误?欢迎提 issue 或直接发 Pull Request,特别欢迎一线教师与从业者的修正。
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
本课程资料采用 知识共享 署名—非商业性使用—相同方式共享 4.0 国际 许可协议。
You are free to share and adapt the material for non-commercial purposes with attribution, provided you distribute your contributions under the same license.
Ren Zheng 任政 — Software Engineering Lecturer 软件工程专业教师
- 🎓 Teaching: bilingual (EN/CN) software engineering courses for international students 国际学生双语教学
- 💻 GitHub: klausren
- 📕 Xiaohongshu 小红书: 改卷子的任老师 (ID:
63808230340) — teaching notes & study tips on Software Engineering. 分享软件工程教学笔记与学习干货,欢迎关注!
⭐ Star this repo to follow the course · 点个 Star 追更本课程 ⭐
Built week by week, published every week. 逐周制作,每周发布。

