View on GitHub

软件工程导论课程支持网站

Supporting Site for the course of Introduction to Software Engineering

An Introduction to Software Engineering (2018)

一、引言

软件带来财富

— 保罗·格雷厄姆(Paul Graham),《黑客与画家》

  你可能注意到了,过去三十年中,很多程序员(辍学生),如比尔·盖茨杨致远拉里·埃里森拉里·佩奇马克·扎克伯格…,凭借“杀手级”软件产品,创建了世界上最伟大企业(股市市值排名前10)。为什么是程序猿,既不是高大上的银行家、金融奇才,也不是踏实的建筑工程师,或者摄影师,或者精算师…。 恭喜你,你已站在当今最赚钱行业的门口!

为什么IT行业能持续高速发展?它会放慢脚步吗?

语言塑造了我们思考的方式,决定了思考的内容

— 本杰明·沃尔夫(Benjamin Lee Whorf)《奇思妙想:15位计算机天才及其重大发现》第一部分:如何与机器对话

  提到计算机语言,你可能听说过 Basic,c,Pascal 等,以及神秘的 acm 竞赛。在计算机领域中,学语言只是计算机基础能力的一小部分。 当你熟练的使用 word 完成一个文档的排版,你是否意识到自己也在使用一种计算机可执行的排版语言呢? 通俗地说,任何解决问题的动作序列都是程序。编程无处不在,即使玩游戏也是编程 :)。

  把计算机看作机器的程序猿,需要用机器的方法去思考,考虑用电路实现计算。当Fortran(公式翻译)语言出现后,人们可以用一种高级的结构化的语言思考科学计算问题; 当面对“人工智能”领域的逻辑推理问题时,人们提出了Lisp(表处理)语言;当我们把世界万物都抽象为对象(Object),面向对象思考的语言(Smalltalk,Java…)就产生了。在此基础上,人们逐步认清计算的本质,创造了各种各样的计算机语言,以及应用于各种专业领域的特种语言。 (计算机)语言将赋予程序员独特而严谨的思考方式,让我们热爱编程,用软件去改变世界!

二、课程任务(目标)

《软件工程专业导论》的任务是从三个面向帮助新生认识与理解软件世界:

三、教材

没有指定教材,教学内容参见网站要求与课件。

1、参考书

备注:
(1)考试使用英文试题,考试时不解释相关英文单词。建议平时使用英文参考教材。
(2)中文版翻译有一些错误或不够准确。查概念建议使用维基百科。
(3)建议与师兄、师姐沟通,获取参考教材

2、师兄、师姐推荐(必须)阅读材料

注:请支持正版,合规使用网上电子资源!

四、教学团队

1、主讲教师

2、教学助理团队

学生/班级 课程时间与地点 教学助理与联系方式
18级1班 周四 14:20-16:00、C103 窦师兄 yaoyongdou@qq.com,周师姐 865081631@qq.com
18级2班 周四 14:20-16:00、C203 林师兄 824928207@qq.com,陈师姐 545686770@qq.com

3、作业提交

作业提交。请按作业模板 readme 操作,并及时提交。

作业帮助资料:

4、我没有电脑,怎么办?

请到图书馆或找辅导员申请实验室机位!

五、课程内容

课程内容 阅读要求 作业与项目
3 Introduction ppt 1. IT领域·巨星偶像。 纪念艾伦•图灵百年诞辰 不做火星人
2. 技术宅的快乐。 “韩国小姐”的脸到底有多相似? 科学与娱乐
3. 创意发现与书写。腾讯创意
作业1:名词解释【中英文】
项目1-1:用 Markdown 语言写博客
4 Number System ppt 1. 程序员人生:《黑客与画家》第二章 作业2: 见课件
项目2-1:制作HTML5游戏1
项目1-2:写一篇游戏开发技术博客
5 Data Representation ppt 软件与创业:《黑客与画家》第五章 作业3: 见课件
项目2-2:制作HTML5游戏2
项目1-3:写一篇博客推荐、介绍IT相关的书籍、电影、人物、媒体、玩具等等
6 Data Representation ppt 编码的世界:《编码(Code)》第一章 作业4:见课件
项目1-4:写一篇技术科普博客,如色彩表示与编码
7 Gates and Circuits ppt IT产业规律:《浪潮之巅》第4章 计算机工业的生态链 作业5:见课件
项目3-1:【选做】用电路做加法
项目1-5:按项目3-1要求写实验报告
8 Computing Components ppt IT产业规律:《浪潮之巅》第14章 信息产业的规律
调查与研究:收集并总结一些IT领域产品的发展案例,用摩尔定律等去解释
作业6:见课件
【选做】项目1-6:用IT规律解释你观察到或了解的技术、经济和社会现象,博客题目自拟。如“摩尔定律还有效吗?” ,“小米手机抢购背后的XX律” 等等
9 Programming on Bare Machine ppt 作业7:见课件
项目3-2:机器语言编程
项目1-7:按项目2-2要求介绍小游戏及其软件设计
10 期中考试
11 Problem Solving and Algorithm ppt 伪代码规范:Pseudocode Standard 作业8:见课件
项目1-8:写一个博客,介绍“自顶向下,逐步求精”的编程方法,并以你观察的洗衣机为案例,用伪代码描述的控制程序设计
12 Problem Solving and OO Design ppt 风云人物与计算机语言:
1. 《奇思妙想》第一部分 如何与计算机对话(前言)
2. 《奇思妙想》第1章 约翰·巴科斯
作业9:见课件
项目4:Python 交互式编程
13 Abstract Data Types and Algorithms ppt 风云人物与计算机语言:
3. 《奇思妙想》第2章 约翰·麦卡锡
4. 《奇思妙想》第3章 艾伦·C·凯
1-9:写一个博客关于 IT 伦理与道德的博客。具体要求
用实例讲述一些排序的算法过程(越直观越好)!加分项
14 Abstract Data Types and Algorithms 风投与IT产业:
1. 《浪潮之巅》第13章 风险投资
2. 《浪潮之巅》第7章 思科
作业10:见课件
项目5-1:字符游戏-贪吃蛇
项目1-10:完成相关阅读,以博客形式写有关IT行业风投的知识、事件等,请重点关注风投与中国
15 Operation System ppt 互联网经济与新思维:
1. 《浪潮之巅》第8章 雅虎公司
2. 《浪潮之巅》第19章 商业模式
项目5-2:字符游戏-智能蛇
项目1-11:写一个博客介绍字符版本贪吃蛇游戏设计及算法、或创新玩法
16 Networks ppt 扩展阅读:互联网与新思维
《长尾理论》《世界是平的》《蓝海战略》
项目1-12:吴军在浪潮之巅中,用了“流量、流量、流量”来强调新经济时代的核心。请围绕“流量”这个核心,在相关阅读基础上,用博客介绍互联网时代的盈利模式
17 软件工程综述 ppt
18 软件工程与职业规划 ppt 扩展阅读:互联网与新思维
格拉德威尔系列:《异类》《引爆点》
项目1-13: 写一遍博客介绍互联网时代的热点领域选择、营销方法
19 复习 阅读部分考试大纲
20 期末考试

六、社会热点专题探讨

如果你认为对以下专题有兴趣,并写了一些期望与大家分享的博客或作业,请将链接通过邮件发给任课老师。有加分啊!

七、成绩

项目 分数 备注
平时作业 20 见课件要求
项目与实践 20 见项目要求
期中/末考试 60
课堂参与 10 课堂演讲与分享、回答问题等
合计 110 总成绩大于100,按100分计算

请务必做到 本周作业,本周完成!
没有特殊情况,每推迟一周提交作业,成绩降一个档次

八、温馨提示

Q:课程是否要预习?
A:课程建议预习。导论课的特点是涉及面广,教材中难免出现较多你现在难理解的概念。

Q:课堂上有部分内容没听懂,课件也看不懂?
A:该课程内容包括了解和掌握的知识点。如果你能独立完成作业,说明你已达到课程要求。当然,TA和老师都愿意帮助你,请邮件联系!

Q:课程内容缺乏重点与主题?
A:该课程包含大量知识介绍,没有所谓重点或主题。请选择你感兴趣的点,多做课外阅读。

Q:我的电脑需要装哪些软件?
A:建议按装 64位的win 10操作系统,用VBox安装win 7与Ubuntu(乌班兔)虚拟机。Mac系统,用VBox安装win 7虚拟机。有问题问师兄、师姐哦