一篇普通的教学方案文章。
前言
事情是这样的,教软件工程的张老师让我们写一份关于如何教软件工程的计划作为作业,刚好打到自己的 Punchline,就洋洋洒洒写了以下计划。
知道自己不是 FJNU 里 coding 能力最强的(虽然说隐藏实力不是一两天了,但是也要避免有同样和我在暗处的 “guy”),但可能是编程路上踩坑最多的学生之一。
由于深感中国大学计算机教学体系里学术界与工业界的不兼容(最起码 fjnu 是这样),以及想让学弟学妹们多接触一点 geek 的东西(比如身边的 用Github 搭建个人独立博客的人真的是极少数),有了下面这个比较贴近于『实践』的软件工程教学计划。
署名
- 软件工程实验教学计划
- xxxxxxx号 薛瑞君
课程大纲
要求同学以小组方式合作完成一个项目,在实践中学习软件工程这门课。
项目的种类包含 Web App、iOS App、安卓 app、微信小程序四种方式,给予同学充分的自由。
最后提交上来的作品的分数分为基础分和附加分两部分。完成附加任务即可获得附加分。
基础分主要看作品的创新性和 有用性。
成绩计算方式为:作品 60%,期末 30%,平时上课分 10%。
分组方式
采用随机分组(比如写个 demo 来随机抽取学号),小组人数保持在 6 人左右(人数如果没法均分则视情况微调)。
采用程序员 2 个、设计 1 个、测试 1 个、文档 2 个的分工。且程序员的 头衔 一致,但程序员有额外附加分选项。
成员职责
程序员们:两个人合作写代码,一般情况下是一个前端一个后端的组合。要求用 git 进行合作(用 SVN 次推荐)。
设计:建议学习 Material Design 设计理念(或 Ant Design),并且会用最基本的工具(如墨刀)设计产品原型。
测试:学习白盒测试和黑盒测试。
文档:撰写每两周的会议文档和最后的产品使用说明文档。(建议使用 Markdown)建议把操作文档放在 Github 的项目上。
打分方式
统一在学期末打分。
作品分由老师 50% 和其他同学 50% 给出,作品分数占总评的 60%。
老师的分数可以随便给,但同学们只能给出 20% 的最好的作品和 20% 最差的作品,其他的都是 80 分。最好的 90 分,最差的 70 分。
个人评测分老师 50% 和其他同类角色同学(比如程序员只评测程序员的)50% 给出,选出 20% 最好的和 20% 最差的,最好的 90 分,最差的 70 分。普通则为 80 分。
简而言之,评分分为 ABC 三个档:90、80、70。
附加分
有出现以下情况加分:
- 全体 +5 分
每 2 周上交小组开会讨论的小视频(30s 即可),为了保证公平要求拍到当前时间来证明(如网页中显示百度时间),且视频中要出现参与会议的每个人。不来开会的小组成员不加分。
- 个人 +5 分
搭建一个 个人独立博客(注意这里是个人独立博客,博客园什么的次推荐),至少每个月发布一篇文章,文章内容不仅限于编程,但要求原创。
- 程序员 +5 分
两个程序员之间用 Github(coding.net 也行)进行项目版本记录,写出每次 commit 和 Pull Request 更新的内容。并在期末将 Github 项目地址发给学委检查。
- 程序员 +5 分
根据所做项目种类的不同分为以下三种。
- 做 Web App 的同时制作了响应式版本。
- iOS App 和安卓 App 上架应用市场。
- 微信小程序完成上架。
PS:允许超出 100 分的现象出现。
写在最后
无论在做的各位以后想不想走程序员这条路,还是希望大家能够在这门软件工程课上享受编程的乐趣、适应团队合作的模式。
在这里送给大家两句话:
- Learning by doing.
- Coding for fun.
并建议看一下 乔布斯在斯坦福大学的演讲。
写给老师
张老师你好,我是一名平凡的学生(不是 ACM 大神),但是我 爱编程、爱计算机,也在很用心的在写这份教学计划,希望对您接下来的教学课程有帮助。