随笔 - 212  文章 - 0 评论 - 1124 trackbacks - 0

摘要: 2017年7月更新: 《构建之法 - 现代软件工程》第三版已经出版。(第二版 第一版豆瓣讨论,多看电子书版本) **** 这是迄今为止采用《构建之法》 的情况 (很多学校采用了网上课堂的形式,可以前往围观): 注:排名按照学校所在地大致由北向南排列, 一个学校采用《构建之法》 的情况有多种方式,包括阅读全文
posted @ 2011-11-27 23:32 SoftwareTeacher 阅读(61915) 评论(22) 编辑
摘要: 结对编程 – 计算最长英语单词链 《构建之法》练习题 大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N 个不同的英语单词, 我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最多只能用一次。最长的定义是:最多单词数量,和单词中字母的数量无关。 例如, 文件里有: A阅读全文
posted @ 2017-07-05 09:52 SoftwareTeacher 阅读(268) 评论(1) 编辑
摘要: 考考考,老师的法宝;分分分,学生的命根。 以《构建之法》为核心的软件工程课已经在全国几十个学校开展了好几年,由于采用 Learning by doing (做中学) 的方法, 同学们通过实际的作业获得分数,逐渐累积并转换为最终分数,而不是等到期末的考试得到一个分数。 这种方式有很多好处,但是也引起一阅读全文
posted @ 2017-05-07 04:01 SoftwareTeacher 阅读(247) 评论(0) 编辑
摘要: /* * 这是 《构建之法》 第三版的草稿 */ 3.2 软件工程中的几种思维误区 正如我们在第一章讲的那样,软件有很多特性,软件开发有它自己独特的规律,如果不了解这些特性,软件工程师就会产生不符合实际的想法,在开发过程中走很多弯路。软件的模块之间存在着各种复杂的依赖关系,由于软件的不可见性和易变性阅读全文
posted @ 2017-01-08 16:51 SoftwareTeacher 阅读(614) 评论(1) 编辑
摘要: 构建之法 17 章 人,绩效和职业道德 (<构建之法> 第三版草稿) 2016/12/23 17.1 领导力 在软件开发过程中,有很多平等合作,但是也有上下之分的领导/被领导关系,即使都是平级的员工之间,也有老师傅/新人,某领域的专家/新手之间的指导关系。 在口语中,很多人认为领导就是管人的,名称大阅读全文
posted @ 2016-12-24 08:21 SoftwareTeacher 阅读(769) 评论(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 阅读(167) 评论(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 阅读(209) 评论(0) 编辑
摘要: 背景 作业 这个游戏可以变成一个持续发展的团队项目: 1)在课堂上玩,用Excel 纪录成绩。做成简单的单机版游戏,锻炼基本编程 2)两人合作,做成简单的 client/server App,用户从网页/手机上输入数字,并算出获胜者。 技术讨论的议题有: 前面写的模块有多少是可以重用的? 为何不能重阅读全文
posted @ 2016-10-18 13:27 SoftwareTeacher 阅读(160) 评论(0) 编辑
摘要: 在这几年推广《构建之法》软件工程教学的过程中,我看到很多老师在讲软件工程的时候,虽然讲了很多年,但是手头没有任何项目,学生或者现想(得到一些大而无当,无法在一学期内完成一个可用版本的项目), 或者抄袭一些经典模板题目(图书馆管理...) 。没有好的实践素材,教学质量也不能提高。 为何不能从身边获取需阅读全文
posted @ 2016-10-09 09:11 SoftwareTeacher 阅读(391) 评论(2) 编辑
摘要: 这是2016年秋季学期和北京工业大学耿丹学院合作教学的计划。 2016级有四个班,每班大约 32 人,每班配有一个有一定实际工作经验的助教,配合老师把课教好。 C语言是一门基础课, 是耿丹学院新生的第一门专业课,(为何第一门课安排C 语言?这个超出了本文的讨论范围)本文的主题是 - 谈谈有工业界经验阅读全文
posted @ 2016-08-28 10:34 SoftwareTeacher 阅读(578) 评论(3) 编辑
摘要: 期末大家都要写 ”软件工程课总结“, 抄袭的同学依然不少。 找到抄袭的文章也很容易, 拿一些有明显特征的句子,搜一下: “我最怕的就是计算机系的学生被别人说成是个带着厚眼镜的,只能够在电脑前编编程序” “类似于魔术揭秘的过程” “链接” "开放过程” 一模一样的句子和上下文至少 2008 年就有人写阅读全文
posted @ 2016-06-17 13:43 SoftwareTeacher 阅读(884) 评论(3) 编辑
摘要: 很多老师反映教软件工程和程序设计的时候没有合适的题目,《构建之法》提供了下面的题目,都是从简单的解题思路入手,逐步增量改进。学生们可以复习基本的编程技能,然后逐步加入模块化,文件处理,单元测试,信息隐藏,面向对象的分析,MVC 等概念和实践。 大家可以选用: - 黄金点游戏和单词频率问题 - 四则运阅读全文
posted @ 2016-01-04 09:46 SoftwareTeacher 阅读(4327) 评论(3) 编辑
摘要: 【现代软件工程课件】源代码管理 -- 以实践促进学习移山软件学院的学生果冻问老师: 为啥需要源代码管理? 我自己写代码多爽,别人要,就用QQ 传过去好了。老师问:原始人怎么建房子?果冻:或者找一个洞,或者自己挖一个洞,上面搭个棚子挡雨...老师问:现代人怎么建房子?果冻:那就要有楼房,当然还要搭脚手...阅读全文
posted @ 2015-12-14 03:12 SoftwareTeacher 阅读(14716) 评论(9) 编辑
摘要: 不少学校想在暑期安排软件工程实践课, 在这么短的时间内要做到软件生命周期的完整体验是有很多挑战的,下面是一个建议:软件工程课程设计 - 三周计划,10 次授课,10 次学生报告。第一周,准备: 在准备阶段(通常是春季学期) 安排五次授课授课序号授课内容,教材章节学生作业老师/助教 软件工程概论,团队...阅读全文
posted @ 2015-12-04 02:28 SoftwareTeacher 阅读(598) 评论(0) 编辑
摘要: (这一节在第一版的 《构建之法》中没有, 是《构建之法》电子书(多看版), 和纸版书第二版中新增加的内容,纸版书第二版预计2015年6月出版)11.1 分析和设计方法我们写软件就是要解决用户的需求,我们需要表达和传递下面这些信息:在“需求分析”阶段,我们要搞清楚 在问题领域中的现实世界里,都有哪些实...阅读全文
posted @ 2015-05-24 00:19 SoftwareTeacher 阅读(1667) 评论(4) 编辑
摘要: 《构建之法》 参考书和链接汇总 参考书汇总 一些读者对《构建之法》引用过的参考书也感兴趣,因此我把所有参考书单独列出来。其实人大部分的思想都是受某些外部信息的启发影响而来,很多道理看似新颖,其实别人早就讲过了😀。这个参考书列表大致按照 类别 - 字母/拼音 的顺序排列。有些参考书是第三版加入的,第阅读全文
posted @ 2015-05-01 10:20 SoftwareTeacher 阅读(9428) 评论(13) 编辑