软件构造课程是我在大学迄今为止接触的,最有收获的一门编程课。
课程从软件构造基础,ADT和OOP,面向可复用性和可维护性的软件构造,面向健壮性与正确性的软件构造四个部分来上课。平常课程的内容与实际开发的场景较为相近,结合三个实验来巩固与体会。与之前c语言和数据结构两门编程课不同,我对编程的理解从语法与算法的层面提高到了一个更高的维度。我第一次感觉自己好像作为一个程序员或者是软件工程师在学习,而不仅仅是一个学生。
在写实验的过程中,我每次的感觉都是起步难,我习惯对学到的知识以及所写实验的大致框架熟悉后再写代码,因此每次刚开始写实验时都总是很艰难,经常要把习题课的代码和课上的ppt反复观看才能开始写代码。但是每次写实验度过开头这个阶段后,我总有一种愉悦感,看着代码在我之前的框架下不断完善成形,有一种很强的成就感,这种感觉比写一个算法更加舒服与强烈,可能也很投入的时间成本有关系。我之前在小学期短暂修习过java,软件构造这门课也让我对这门编程语言熟练了许多。
关于这门课我最大遗憾,可能就是排课放在了学期的后半段,需要与其他课程或者考试时间进行协调分配。回想起学期刚开始的一个来月时间里,学校排课特别特别少,同时由于封校加上室外严寒,我也很少出去。如果软件构造课能够放在学期初开课,那我就能有个更充分的可支配的时间,来更加深入地探索这门有趣的课程~