摘要: 2017年7月更新: 《构建之法 - 现代软件工程》第三版已经出版。(第三版的豆瓣讨论,第二版,多看 电子版, 对我的采访,微博) **** 这是迄今为止采用《构建之法》 的情况 (很多学校采用了网上课堂的形式,可以前往围观): 注:排名按照学校所在地大致由北向南排列, 一个学校采用《构建之法》 的阅读全文
posted @ 2011-11-27 23:32 SoftwareTeacher 阅读(69344) 评论(25) 编辑
摘要: (草案) 时间:2018年7月初 (暂定 7/7 - 7/9) 地点: 北京航空航天大学 活动:为期三天的软件工程教案设计培训和软件专业教育方法的讨论 1. 论坛主题演讲 “构建之法教学改进” 构建之法的教学是如何演进到目前的形态的,有什么经验教训和启发。 2. 结对锻炼软件工程中的单元测试和效能测阅读全文
posted @ 2018-04-23 15:17 SoftwareTeacher 阅读(269) 评论(0) 编辑
摘要: 他山之石,可以攻玉 世界上很多大学都有不错的教学方法, 例如我们曾经的助教总结他在国外的学习经历,可以看出老师和学校对于如何教好课是花了心思, 有很多投入的。 一门课怎么上: https://zhuanlan.zhihu.com/p/20610349 教学系统 另外,在2012年,我们上软件工程课的阅读全文
posted @ 2017-09-02 06:17 SoftwareTeacher 阅读(1038) 评论(0) 编辑
摘要: 在用 "做中学 (Learning By Doing) " 方式讲授编程和软件工程课的时候,我们认为助教在其中起了很大的作用。 在近几年的助教工作中,大家积累了很多经验和教训,这本身就是一门学问 - (范飞龙的经验 刘乾的经验) 助教要做什么? - 和老师相比,助教和同学们年龄相近,有更多共同语言和阅读全文
posted @ 2017-08-27 11:47 SoftwareTeacher 阅读(938) 评论(0) 编辑
摘要: 实践最简单的项目:WC 实践是理论的基础和验证标准,希望读者贯彻“做中学”的思想,动手实现下面的项目,并和别人的成绩相比较,分析产生差距的原因。 1. 实现一个简单而完整的软件工具(源程序特征统计程序)。2. 进行单元测试、回归测试、效能测试,在实现上述程序的过程中使用相关的工具。3. 进行个人软件阅读全文
posted @ 2017-08-25 08:00 SoftwareTeacher 阅读(610) 评论(0) 编辑
摘要: 很多老师反映教软件工程和程序设计的时候没有合适的题目,下面一些题目,都是从简单的解题思路入手,逐步增量改进。学生们可以复习基本的编程技能,然后逐步加入模块化,文件处理,单元测试,信息隐藏,面向对象的分析,MVC 等概念和实践。 大家可以选用: - 最大子数组的和 问题及其扩展 - 黄金点游戏和单词频阅读全文
posted @ 2017-08-23 14:24 SoftwareTeacher 阅读(1098) 评论(1) 编辑
摘要: 结对编程 – 计算最长英语单词链 《构建之法》练习题 大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N 个不同的英语单词, 我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最多只能用一次。最长的定义是:最多单词数量,和单词中字母的数量无关。 例如, 文件里有: A阅读全文
posted @ 2017-07-05 09:52 SoftwareTeacher 阅读(845) 评论(2) 编辑
摘要: 考考考,老师的法宝;分分分,学生的命根。 以《构建之法》为核心的软件工程课已经在全国几十个学校开展了好几年,由于采用 Learning by doing (做中学) 的方法, 同学们通过实际的作业获得分数,逐渐累积并转换为最终分数,而不是等到期末的考试得到一个分数。 这种方式有很多好处,但是也引起一阅读全文
posted @ 2017-05-07 04:01 SoftwareTeacher 阅读(772) 评论(0) 编辑
摘要: /* * 这是 《构建之法》 第三版的草稿 */ 3.2 软件工程中的几种思维误区 正如我们在第一章讲的那样,软件有很多特性,软件开发有它自己独特的规律,如果不了解这些特性,软件工程师就会产生不符合实际的想法,在开发过程中走很多弯路。软件的模块之间存在着各种复杂的依赖关系,由于软件的不可见性和易变性阅读全文
posted @ 2017-01-08 16:51 SoftwareTeacher 阅读(880) 评论(1) 编辑
摘要: 构建之法 17 章 人,绩效和职业道德 (<构建之法> 第三版草稿) 2016/12/23 17.1 领导力 在软件开发过程中,有很多平等合作,但是也有上下之分的领导/被领导关系,即使都是平级的员工之间,也有老师傅/新人,某领域的专家/新手之间的指导关系。 在口语中,很多人认为领导就是管人的,名称大阅读全文
posted @ 2016-12-24 08:21 SoftwareTeacher 阅读(1365) 评论(12) 编辑
摘要: 现在网上有很多关于动态显示排序过程的小工具,小程序。 1) https://visualgo.net/sorting 2) http://jsdo.it/norahiko/oxIy/fullscreen 3) http://coolshell.cn/articles/4671.html 我们能否也做阅读全文
posted @ 2016-11-28 07:56 SoftwareTeacher 阅读(282) 评论(1) 编辑
摘要: 个人或结对编程项目 英语单词词频统计程序 实现一个命令行程序,支持几种模式下的单词词频统计 Implement a console application to tally the frequency of words under a directory. For all text files (f阅读全文
posted @ 2016-11-25 05:02 SoftwareTeacher 阅读(415) 评论(0) 编辑
摘要: 故事看这里: 背景故事 (链接) 作业 这个游戏可以变成一个持续发展的团队项目: 1)在课堂上玩这个黄金点游戏,用Excel 纪录成绩。过渡到做成简单的单机版游戏,锻炼基本的编程能力 2)两人合作,做成简单的 client/server App,用户从网页/手机上输入数字,并算出获胜者。 技术讨论的阅读全文
posted @ 2016-10-18 13:27 SoftwareTeacher 阅读(501) 评论(0) 编辑
摘要: 在这几年推广《构建之法》软件工程教学的过程中,我看到很多老师在讲软件工程的时候,虽然讲了很多年,但是手头没有任何项目,学生或者现想(得到一些大而无当,无法在一学期内完成一个可用版本的项目), 或者抄袭一些经典模板题目(图书馆管理...) 。没有好的实践素材,教学质量也不能提高。 为何不能从身边获取需阅读全文
posted @ 2016-10-09 09:11 SoftwareTeacher 阅读(664) 评论(4) 编辑
摘要: 这是2016年秋季学期和北京工业大学耿丹学院合作教学的计划。 2016级有四个班,每班大约 32 人,每班配有一个有一定实际工作经验的助教,配合老师把课教好。 C语言是一门基础课, 是耿丹学院新生的第一门专业课,(为何第一门课安排C 语言?这个超出了本文的讨论范围)本文的主题是 - 谈谈有工业界经验阅读全文
posted @ 2016-08-28 10:34 SoftwareTeacher 阅读(848) 评论(3) 编辑
摘要: (改了标题吸引目标用户) 老师教课,学生上课,首先要讲明师生关系。 其次,就是要说明这门课的底线是什么。 我们假设所有人写作业都独立思考,认真实践,用于创新... 这个假设通常是不全面的, 还有很多学生想得是 “如何以最小的代价过了这门课”,这也无可厚非,但是最小的代价是什么呢?那就要谈谈底线了。 阅读全文
posted @ 2016-06-17 13:43 SoftwareTeacher 阅读(2975) 评论(3) 编辑