复习了一遍软件构造的概念,对这门课的学习方式和学习内容也有了些体会和心得,给大家分享下我的感受。
第一就是这是门编程课,所以一定要动手!!!一定要动手!!!一定要动手!!!个人评判目前学过的四门编程课,动手要求能力:C语言程序设计>软件构造>数据结构>算法设计。编程课不去敲代码是绝对不行的,哪怕你不去上课,习题课的内容、实验课的内容你也要亲自动手去敲。因为很多东西你只学理论是永远学不明白的,就像教你竖式乘法你却不去动手计算。Lab3我想对于绝大多数同学都是个很大的挑战,但也是这个实验中,我对继承、抽象类、具体类、接口等等各种概念才有了自己的认识。多动手,才是学好这门课的最主要途径!
第二,这门课的先修真的太重要了。没学过Java和Git的我从第一节课就开始懵,直接懵到考试前,所以建议学弟学妹们,在学习数据结构,或者更早的时候,顺道就给Java学了吧。而且学了Java才后知后觉,用Java实现数据结构里的链表、树、图有多么轻松!想想当初C语言折磨得我...悔不当初。所以,有空早学Java,早晚都要学的!
我觉得以上两点就是能确保你学好这门课的全部要素了,当然我哪点做的都不好...但是期末了,三个Lab都写完了,复习也复习过一遍了,突然发现这门课是一门越学的深入越能感受到其巧妙的课程。我想每个同学Lab1和第一次习题课写的代码现在如果再找出来,都能挑一大堆毛病出来,这不正是这门课的收获。虽然只有短短32学时,我们已经从面向过程的古板简陋的C语言程序员,变成能从很多层面写代码,面向对象编程的Java程序员了,而且越是用的多,越能感受到这种不一样的编程方式的魅力。我现在很有一种冲动,就是和很多人一起完成一个大型程序,用所谓敏捷编程的思想做个什么项目出来,感觉这种交互性、协同性,才能激发我编程的激情。然后再回过头看看我们的作品,分析分析他的健壮性、正确性、复用性、可维护性等等,我想我又会有新的感想。C语言教我从无到有,而软件构造和数据结构则教我们从有到好,从好到更好。
以上就是我对这门课的一些感想,当然还有24小时时间,试还是要考,仍需继续学习才是。