选课类别:专业 | 教学类型:理论课 |
课程类别:专业硕士 | 开课单位:软件学院苏州 |
课程层次:硕士 | 学分:0.5 |
工程C是我这学期上过的科软课程中唯一有意思的课,如果认真学可以学到很多东西,如果想水分数也不会低。我最后是实现了Lab1-5的全部Exercise和绝大部分Challenge,给了98分(前前后后大概花了80h,其中Lab5占一半。所以建议想水的还是去隔壁Java吧,我室友就做了点leetcode题也4.3了)。
给我最深印象的就是Lab5了。在做Lab5的过程中,最后一节课华老师说的“这个实验我们不用写一行go代码”一直在我的脑子里回响,让我至今印象深刻(我也是因为这句话才去做的Lab5,而不是像大多数人一样交个报告水过去)。然而40h的实验做完后,除了需要学10h的go语言,写一堆go代码外,lab5可以说没有任何缺点,可以让人深刻领悟到并发编程尤其是多服务端、多客户端编程的魅力,并在debug的过程中被折磨疯。
而Lab0~4也都相当有趣,这一系列实验设置得环环相扣,循序渐进。从C语言的编译过程和linux程序的执行过程开始,到多进程、多线程的并发控制和网络编程的简单小程序实现,再到Lab5中实现一个较为复杂的分布式系统。不是靠课堂上的说教,而是靠这一系列的实验将工程化C程序设计的理念清晰地印刻在我们心中,让我们对C语言的使用有了更深刻的认识,也让我们对操作系统、网络编程、并发编程有了更深刻的理解。
感谢工程C课程的老师和助教们,为我们带来了这么有意思的实验。这是我近5年大学时光中上过的最好的一门专业课,这也是我理想中的大学课程。