摘要:
这是构建之法 《现代软件工程》课的作业题之一。 下面的题目, 从简单的命令行处理和数据处理开始开始,让同学们逐步练习,巩固算法,学会松耦合的设计,学会PSP,源代码控制,单元测试,回归测试,增量改进程序,等等。 第一步: 像《构建之法》的人物阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令 阅读全文
摘要:
结对编程 – 计算最长英语单词链 《构建之法》练习题 大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N 个不同的英语单词, 我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最多只能用一次。最长的定义是:最多单词数量,和单词中字母的数量无关。 例如, 文件里有: A 阅读全文
摘要:
考考考,老师的法宝;分分分,学生的命根。 以《构建之法》为核心的软件工程课已经在全国几十个学校开展了好几年,由于采用 Learning by doing (做中学) 的方法, 同学们通过实际的作业获得分数,逐渐累积并转换为最终分数,而不是等到期末的考试得到一个分数。 这种方式有很多好处,但是也引起一 阅读全文
摘要:
/* * 这是 《构建之法》 第三版的草稿 */ 3.2 软件工程中的几种思维误区 正如我们在第一章讲的那样,软件有很多特性,软件开发有它自己独特的规律,如果不了解这些特性,软件工程师就会产生不符合实际的想法,在开发过程中走很多弯路。软件的模块之间存在着各种复杂的依赖关系,由于软件的不可见性和易变性 阅读全文
摘要:
构建之法 17 章 人,绩效和职业道德 (<构建之法> 第三版草稿) 2016/12/23 17.1 领导力 在软件开发过程中,有很多平等合作,但是也有上下之分的领导/被领导关系,即使都是平级的员工之间,也有老师傅/新人,某领域的专家/新手之间的指导关系。 在口语中,很多人认为领导就是管人的,名称大 阅读全文
摘要:
现在网上有很多关于动态显示排序过程的小工具,小程序。 1) https://visualgo.net/sorting 2) http://jsdo.it/norahiko/oxIy/fullscreen 3) http://coolshell.cn/articles/4671.html 我们能否也做 阅读全文
摘要:
个人或结对编程项目 英语单词词频统计程序 (最新版本在这里) 实现一个命令行程序,支持几种模式下的单词词频统计 Implement a console application to tally the frequency of words under a directory. For all tex 阅读全文
摘要:
故事看这里: 背景故事 (链接) 作业 这个游戏可以变成一个持续发展的团队项目: 1)在课堂上玩这个黄金点游戏,用Excel 纪录成绩。过渡到做成简单的单机版游戏,锻炼基本的编程能力 2)两人合作,做成简单的 client/server App,用户从网页/手机上输入数字,并算出获胜者。 技术讨论的 阅读全文
摘要:
在这几年推广《构建之法》软件工程教学的过程中,我看到很多老师在讲软件工程的时候,虽然讲了很多年,但是手头没有任何项目,学生或者现想(得到一些大而无当,无法在一学期内完成一个可用版本的项目), 或者抄袭一些经典模板题目(图书馆管理...) 。没有好的实践素材,教学质量也不能提高。 为何不能从身边获取需 阅读全文
摘要:
(编程/软件工程课程怎么教) 这是2016年秋季学期和北京工业大学耿丹学院合作教学的计划。这也可以用于其他学校的 C 语言课程。 2016级有四个班,每班大约 32 人,每班配有一个有一定实际工作经验的助教,配合老师把课教好。 C语言是一门基础课, 是耿丹学院新生的第一门专业课,(为何第一门课安排C 阅读全文
摘要:
(改了标题吸引目标用户) 老师教课,学生上课,首先要讲明师生关系。 其次,就是要说明这门课的底线是什么。 我们假设所有人写作业都独立思考,认真实践,不断改进,勇于创新... 这个假设通常是不全面的, 还有很多学生想得是 “如何以最小的代价过了这门课”,这也无可厚非,但是最小的代价是什么呢?那就要谈谈 阅读全文
摘要:
很多老师反映教软件工程和程序设计的时候没有合适的题目,《构建之法》提供了下面的题目,都是从简单的解题思路入手,逐步增量改进。学生们可以复习基本的编程技能,然后逐步加入模块化,文件处理,单元测试,信息隐藏,面向对象的分析,MVC 等概念和实践。 大家可以选用: - 黄金点游戏和单词频率问题 - 四则运 阅读全文
摘要:
【现代软件工程课件】 源代码管理 -- 以实践促进学习 移山软件学院的学生果冻问老师: 为啥需要源代码管理? 我自己写代码多爽,别人要,就用QQ 传过去好了。 老师问:原始人怎么建房子? 果冻:或者找一个洞,或者自己挖一个洞,上面搭个棚子挡雨... 老师问:现代人怎么建房子? 果冻:那就要有楼房,当 阅读全文
摘要:
不少学校想在暑期安排软件工程实践课, 在这么短的时间内要做到软件生命周期的完整体验是有很多挑战的,下面是一个建议:软件工程课程设计 - 三周计划,10 次授课,10 次学生报告。第一周,准备: 在准备阶段(通常是春季学期) 安排五次授课授课序号授课内容,教材章节学生作业老师/助教 软件工程概论,团队... 阅读全文
摘要:
(这一节在第一版的 《构建之法》中没有, 是《构建之法》电子书(多看版), 和纸版书第二版中新增加的内容,纸版书第二版预计2015年6月出版)11.1 分析和设计方法我们写软件就是要解决用户的需求,我们需要表达和传递下面这些信息:在“需求分析”阶段,我们要搞清楚 在问题领域中的现实世界里,都有哪些实... 阅读全文