2017秋 《高级软件工程》学习总结

学习心得

       刚刚开始研究生生涯,第一门要结束的课程就是《高级软件工程》。从刚开始的觉得新奇到如今深感获益良多,十周的时间竟过的如此之快。学习刚开始觉得新奇是因为第一次学习这种线上线下结合教学的课程。随着课程的深入,慢慢发现,线上的课程对于锻炼我编程能力和理解知识竟有如此巨大的课程。

    《高级软件工程》的教学分为线上线下两部分,线上课程就是《软件工程(C编码实践篇)》,由孟宁老师主讲。课程中分为视频课、实验、考试三部分。一共有7次实验,在线上课程的进行过程中,孟宁老师由浅入深,循序渐进的给我们讲解软件工程方面的知识。孟宁老师授课的高明之处在于,他能将一个个知识点与软件开发过程中的案例甚至是生活中的事例结合,帮助我们理解。此外,孟宁老师还十分注重对我们基本功的培养,比如代码规范,在每一次实验中都会提及,这也让我时刻想到“细节决定成败”这句话。说实话,我并不能完全理解孟老师所讲的所有内容,因为我是研究生换了专业,但是我觉得,学习任何东西,启蒙是重中之重。孟老师也算是我在软件工程方面的启蒙老师了,相信有了孟老师帮我打的基础,我在以后的学习工作中一定会有快速的成长,或许有一天,当我能够完全理解孟宁老师讲过的知识的时候,我会有不一样的感触。

实验列表

       实验一:写一个hello world小程序 

              本次实验主要是帮助大家搭建环境以及熟悉linux命令。

       实验二:命令行菜单小程序V1.0

              本次实验通过一个简单的命令行菜单小程序帮助大家养成代码规范的意识。

       实验三:内部模块化的命令行菜单小程序V2.0

              本次实验的重点是学习使用内部模块化的方法。内部模块化的方法是软件开发中的一项利器,注重的是“关注点的分离”。它可以使得程序的整个结构更加清晰,便于代码的阅读和后期的维护。实验四:用可重用的链表模块来实现命令行菜单小程序V2.5

              本次实验要求使用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作。这是在实验三基础上的一个升级。可重用的链表模块使得程序的整体结构更加清晰。在大型的软件工程当中,它的作用会更加明显。

       实验五:用callback增强链表模块来实现命令行菜单小程序V2.8

               callback函数是一种实现模块通用性的实现机制,符合软件工程中提倡的“松耦合”原则。利用callback函数参数使Linktable的查询接口更加通用。

       实验六:函数的可重入性(reentrant)及线程安全

               这部分没有编码的实验,但是学习可重入函数和线程安全问题对于程序员也是十分重要的任务。

       实验七:将menu设计为可重用的子系统

              这次实验是在以前的基础上引入了menu子系统,能够支持带参数的复杂命令。在用户代码中定义一个带参数的复杂命令。通过编写Makefile方法能够减轻执行程序时繁琐的指令输入过程。

总结

       您在学习《软件工程(C编码实践篇)》课程中最大的收获/span>

              学习《软件工程(C编码实践篇)》课程,使我从一个只会写小程序的“门外汉”慢慢成为一个具备了基本软件工程素养的“准程序员”。通过学习,我掌握了很多代码风格规范的知识,也了解了软件开发的基本原则、基本方法等等。这门课相当于在帮助我打地基,现在地基已经比较牢固,相信在以后的学习中我的进步速度会超过那些编码随意、软件工程知识薄弱的同行。

       学习完《软件工程(C编码实践篇)》课程后您最大的遗憾是什么/span>

              最大的遗憾应该就是我的基础实在是有点弱,所以对于孟老师讲授的内容并不能完全理解,还有由于授课时间的限制,不能跟着孟老师学习更多的东西。但是我会继续努力,再加上孟老师帮我打好的基础,我有信心逐渐成长为一个优秀的程序员。

张思宇  原创作品转载请注明出处  《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006

来源:Tony_Stark666

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年10月11日
下一篇 2017年10月11日

相关推荐