【计算机系统导论】结语


我教的两件事情对学生们的学习来说是非常重要的:解决问题以及如何学习。知道如何学习能够让你顺利通过考试并获得其他的校园生存技能。而如果能学会如何解决问题,你这一生过得应该都会不错。

编程的第一步是想象。就是要在脑海中对来龙去脉有极为清晰的把握。在这个初始阶段,我会使用纸和铅笔。我只是信手涂鸦,并不写代码。我也许会画些方框或箭头,但基本上只是涂鸦,因为真正的想法在我脑海里。我喜欢想象那些有待维护的结构,那些结构代表着我想编码的真实世界。一旦这个结构考虑得相当严谨和明确,我便开始写代码。我会坐到终端前,或者换在以前的话,就会拿张白纸,开始写代码。这相当容易。我只要把头脑中的想法变换成代码写下来,我知道结果应该是什么样的。大部分代码会水到渠成,不过我维护的那些数据结构才是关键。我会先想好数据结构,并在整个编码过程中将它们牢记于心。

写作思考与感悟

需要回答的问题

读者群体是什么?他们有什么特点?

大一、大二

计算机系学生最需要的素质是什么?如何利用课本进行引导?

  • 持续学习能力 -> 利用抽象和自动化等特性
  • 独立解决问题的能力 -> 通过抽象和分解来解决复杂问题
  • 逻辑分析能力 -> 通过约简、嵌入、转化和仿真等方法,把一个困难的问题转化为我们已经有办法解决的问题
  • 开源精神 -> 通过简洁和优雅来判断系统设计的优劣
  • 理论与实际结合 -> 把数据转换成代码,把代码转换为数据

与传统教科书的差别是什么?差异点(也就是卖点)在哪里?

  • 课程设计与时俱进,贴近技术潮流,重实践与理论的结合
  • 授人以渔,通过各种方式强化
  • 不堆叠定义概念,而是从表及里深入到细节,把概念真正『解剖』成容易理解的内容,尽量大白话,多用比喻
  • 不被课程本身的条条框框限制,贯穿整个计算机系统的方方面面
  • 重点强调主流计算机的整体设计以及这些设计因素对于软件设计开发的影响
  • 类似打怪升级的关卡模式,每一阶段有详细的任务目标、任务指引和兴趣点
  • 二维码实现内容拓展
  • 引入社区和评论的功能,实现更好的互动

本书的几个大的目标是什么?

  • 激发兴趣
  • 女性的参与
  • 荣誉感与自豪感
  • 教会学生继续学习计算机所需的全部基础知识,以及如何学习的方法
  • 构建广泛而有时效性的知识体系,培养独立解决问题的能力
  • 培养问题抽象、系统抽象和数据抽象的能力

与传统教材相同的地方

  • 40-60 万字
  • 双色印刷
  • 课程网站

每一章节的板块如何设计?

广告时间

优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。

点击注册 100offer,谈谈你对下一份工作的期待,收获 5-10 个满足你要求的好机会。

捧个钱场?