班级:软设3班 学号:SA17225413 姓名:夏玥 网易云课堂昵称:xiayue2017
github地址:http://github.com/xiayuebaby/xiayue-s-repository
原创作品转载请标明出处-《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
一、学习心得
时光如梭,转眼已经到了第十周,软件工程(C编码实践篇)这门课也到了要结束的时间。尽管时间很短,但是该课程却给了我很大的收获和感想。首先,讲讲课程本身,课程主要分为视频讲解和线上实验两部分。视频讲解是每周老师会给我们录一些视频来让我们学习相关知识,视频中孟宁老师风趣幽默却深入浅出的讲解给留下了深刻的印象,遇到一些不好理解的问题老师还会举一些生活中的小例子来帮助我们理解,这让我觉得每周的学习过程也变得有趣起来了。而线上实验则是让我们通过一个个小实验深入浅出地了解软件工程编码的思想,如何使系统可重用,如何高内聚低耦合,如何模块化编程等等。每一次实验过后都感觉自己有了一定的进步,同时通过实验楼进行实验还让我学会了一些之前没有怎么接触和使用的东西,比如Linux常用命令和git常用命令等等。孟宁老师每个实验之前的教学视频只是给我们做一个示范,我们应该在吸收老师的教导的同时学会自己思考,优化自己的知识体系,改良自己的编码习惯。孟宁老师真的可以称之为我们的良师益友,带给我很大的帮助,他深谙学习的要义,一个个小实验带我们平缓的学习,不会给我们太大的压力,但是每周的deadline又对我们起到了一定的督促作用。
二、实验报告链接:
实验1:写一个hello world小程序
实验一主要是让我们了解了git版本控制工具,gcc编译运行等常用命令,加深了我对Linux命令的了解,同时对git指令进行了复习和巩固。
https://www.shiyanlou.com/courses/reports/1290474
实验2:命令行菜单小程序v1.0
实验二使我学会了如何规范自己的代码风格,例如缩进是缩进4个空格,所有{和}都独占一行且对齐等等。另外我也开始自己编写一个命令行小程序,很有成就感。
https://www.shiyanlou.com/courses/reports/1291536
实验3:内部模块化的命令行菜单小程序v2.0
实验三让我学会了模块化的编程思想,提高了程序的重用性,获益良多。
https://www.shiyanlou.com/courses/reports/1293156
实验4:用可重用的链表模块来实现命令行菜单小程序v2.5
实验四让我知道了接口对开发的重要性,很有收获。
https://www.shiyanlou.com/courses/reports/1295715
实验5:用callback增强链表模块来实现命令行菜单小程序v2.8
实验五中我实践了回调函数,深入地感受了使用Callback函数的优势,收益颇多。
https://www.shiyanlou.com/courses/reports/1297440
实验7:将menu设计为可重用的子系统
实验七让我知道在Makefile文件中,代码必须以Tab键规范格式,不可以用四个空格键,否则会报错。
https://www.shiyanlou.com/courses/reports/1303776
三、总结部分
学习这门课程收获很大,让我对软件工程有了更深入的理解,知道了只有不断地改进,不断地重构, 才能满足各种功能性需求和非功能性需求。另外,代码规范真的很重要,这也是我在学了孟宁老师的课程之后才明确的一点。学完课程最大的遗憾大概就是学习时间太短,不能再继续跟着孟宁老师更深入地学习了。最后,感谢孟宁老师的教导,感谢助教学长和学姐的帮助,谢谢同学们的帮助!