软件构造笔记Week1
课程简介
个人看法
本门课程是HIT的大二下专业核心课之一,非常牛的一门课。和上学期的计算机系统CS:APP一样硬核,据说能让人一学期拥有万行Java经验。我的任课老师也是非常厉害的王忠杰老师,上学期就有幸选修了他的创新研修课——软件仓库挖掘,当时就被告知这学期将会非常痛苦,尽管非常不想写Java ,但还是得硬着头皮上了。
课程目标与要求
这门课主要是MIT 6.0.31 + CMU 17-214两门课的结合体,我们将要讲述的内容和写的实验基本都是这两门课中的。需要阅读大量英文资料,当然可以同时锻炼英语能力啦
Goals of this Cousre
Understanding both the building blocks and the design principles for construction of software systems
- 软件构造的质量标准与目标
- ADT & OOP
- 可理解性、可维护性、可复用性、健壮性、时空性能
- 代码重构、高级构造技术
Grading policy
- 平时成绩:5%
- 阅读相关书籍和论文,思考教师提出的问题,参与课堂测试和交流讨论
- 针对教师提出的讨论问题,课后阅读材料,或对实验进展过程遇到的问题和经验教训进行总结思考,以文字形式发表自己的见解,以网上公开博客的形式发表
- 雨课堂小测 - 实验:35%
- 共6个,均为个人完成;
- 现场检查、提交实验报告/实验代码至CMS/GitHub;
- 期末考试:60%
Reading materials
Mandatory–MIT Course 6.031: Software Construction http://web.mit.edu/6.031/www/fa18/
MIT的阅读材料有学长的火炬,是秋豪学长的翻译,让我们感谢秋豪学长!https://www.cnblogs.com/liqiuhao/category/1167752.html
Recommanded–CMU 17-214 Principles of Software Construction: Objects,Design, and Concurrency
https://www.cs.cmu.edu/~charlie/courses/17-214/2018-fall/
Chapter 1: Views and Quality Objectives of Software Construction
1-1 Multi-Dimensional Views of Software Construction 软件构造中的多维度视图
1 Multi-dimensional software views
这个图要记住,非常重要!!