HIT软件构造经验漫谈(九)——软件构造学习心得与总结

本文主要总结本课程(2020)的学习总结,仅代表个人经验,并非绝对的真理

本博客只介绍方法,不介绍具体内容

这门课的内容?

  • 宏观视野(多维视图、软件构造阶段划分,外部/内部的质量指标等)
  • ADT设计(spec、pre-condition、post-condition、AF、RI等)
  • 设计模式(创造型、结构型、行为型模式)
  • 并发

这门课的难点?

  • 实验的代码量大
  • 设计模式多
  • 对java语言不熟悉

如何学好这门课?

这门课程信息量巨大,在计算机学院前两年的全部考试课中属于最硬核的几门课之一,但是学好之后的收获也会很大,对于编程(项目开发)的水平有极大地提高。
而信息量巨大导致的第一个问题就是复习的时候会无从下手,单纯地通过回顾课件来复习无疑是低效的,毕竟有些章节的课件有一百多页,少的也有六七十页。因此对于这门课程而言,记笔记是十分重要的。本文主要分享博主对于这门课程的记笔记的方式,一般在学习这种信息量比较大的课程的时候,我都会采取这样的记笔记方式。

  • 通过电子稿,比如word文档的方式记笔记。
  • 以课件为主体,即截取课件中的关键内容,保存在笔记中。
    • 其中,我认为的关键内容包括但不限于:我(自己)认为比较重要的内容、老师在授课时强调的内容、你认为能够出成题目的内容、对某一概念的举例说明。
    • 其中,我认为不那么关键的内容包括但不限于:一些拓展性的内容。
    • 如果判断不出某部分内容是否需要记到笔记里,就把他记进去。
  • 以你第一遍学习时的认识为辅助,记录在所截取的图片的下方。
  • 复习时,根据自己的这次复习的感觉,删除一部分你认为冗余的内容。

通过这种方式记笔记的话,就可以通过多轮迭代,提炼出一个属于你的比较精炼的笔记。在考试前只需要根据你自己的笔记进行复习即可,但是对于一些概念性内容比较多的部分,最好在考试前一两天把对应章节的原课件再过一遍。

为什么要采取这种方式?

这种记笔记的方式,很容易让人产生疑问,以课件为主体,既然是截取课件,我为什么不直接复习课件呢

  • 课件页数很多,复习课件时看到那个页数就会觉得吃不消。
  • 每次复习完一个章节,都要再去打开下一个章节的课件,这种不连续性不利于复习,而把课件截取关键内容到自己的word文档中,就能有效降低冗余,并消除这种不连续性。
  • 课件往往为pdf格式或ppt格式,很难在边上做自己的批注。word在这方面会相对好一点。
  • 对于pdf格式的课件,你很难删掉其中的某一页,从而提炼关键点。

如何应对实验?

  • 尽管本课程使用的编程语言是java,但本课程的内容主要是理解性的,这些内容应用到基于任何语言的项目开发都是可行的。
  • 不过话是这么说,但落实到实验部分,熟练掌握java就十分的重要了。个人强烈建议有条件的同学在寒假时读一下Java核心技术卷I这本书。它将帮助你快速入门Java。如果有OO基础的同学,应该可以在1~3天的时间里读完,即使没有也没关系,由于各位同学都至少有C基础,所以读起来也不会特别吃力。
  • Java核心技术卷I的反射、代理部分可以不读。但是请注意区分Java的proxy和本课程教授的proxy模式,这是两个完全不同的东西。
  • 写实验时,请至少在DDL的前一周,即给自己预留至少两周的时间。

如何应对考试?

  • 把自己的笔记多复习几遍,尤其是ADT、设计模式、并发为重中之重。
  • 把历年真题都做一遍。最好是掐表做。因为确实存在时间来不及的可能性。因此考前对自己的做题速度有个概念是很重要的,以便随时调整节奏。

你可能感兴趣的:(软件构造,java)