软件工程(C编码实践篇)学习总结
来源:互联网 发布:排华法案 知乎 编辑:程序博客网 时间:2024/06/08 11:41
软件工程(C编码实践篇)学习总结
《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
软件工程对于没有开发经验的人来说较为抽象,比如对于我来说,没有做过项目,编写的代码量也不过几千行,自然感觉不到软件工程的魅力所在。所以说,有些事情没有亲身经历过,永远不知道书上总结的一些思想方法是多么的实用。人们都说,读书破万卷,下笔如有神,而我却不这么认为,我以为,读万卷书,不如行万里路,只有在实践中才能检验到自己的不足,才能深刻的理解那些前辈们呕心沥血总结出来的软件工程理论和思想。
软件工程(C编码实践篇)是一个非常不错的学习软件工程思想方法的实践性课程,通过一个小小的C语言项目的不断演化,体现了许多工程化的思想和方法,从而让我们更加深刻的理解软件工程理论的内涵。通过跟随模仿孟宁老师的代码实现,从无设计代码,模块化设计的代码,到可复用的代码和回调函数等接口设计,提高了我们工程化代码的编写能力,让我们能够严格遵守代码风格规范来编写代码。总之,这门线上课程重视实践,可以使我们对软件工程有一个直观感性的认识。个人感觉学了这门课之后受益匪浅。必须点赞!!!
实验报告目录:
第一周 课程实验环境准备
实验一:写一个hello world小程序
https://www.shiyanlou.com/courses/reports/641740
第二周 代码风格规范
实验二:命令行菜单小程序V1.0
https://www.shiyanlou.com/courses/reports/658161
第三周 基本的模块化设计
实验三:内部模块化的命令行菜单小程序V2.0布
https://www.shiyanlou.com/courses/reports/661542
第四周 可重用模块的接口设计
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
https://www.shiyanlou.com/courses/reports/700618
第五周可重用模块的接口设计(callback函数)
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
https://www.shiyanlou.com/courses/reports/700900
第七周 子系统的可重用设计
实验七:将menu设计为可重用的子系统
https://www.shiyanlou.com/courses/reports/749912
总结部分:
学习《软件工程(C编码实践篇)》课程中最大的收获:
通过几次亲自动手实践,我对软件工程有了一些新的认识,理解了一些软件工程的思想方法,懂得了编写一个实现特定功能的软件并不难,难的是如何才能更好的设计出一个符合工程化的思想方法的软件。这需要考虑很多方面,如模块化,可重入,线程安全等,由此可见,设计出一个好的软件系统并不是一件简单的事情。
最后分享一下老师上课引用的经典名言警句,与君共勉:
if you don't know where you are , a mapwon't help
——Watts S.Humphrey
普遍的做法是,选择一种方法,试试看;如果失败了,没关系,再试试别的。不管怎么样,重要的是先去尝试。
——富兰克林 D.罗斯福
夫事未有不生于微而成于著,圣人之虑远故能谨其微而治之,众人之识近故必待其著而后救;治其微则用力寡而功多,救其著则竭力而不能及也。
——资治通鉴
自信人生两百年,会当击水三千里
——毛泽东
学习完《软件工程(C编码实践篇)》课程后最大的遗憾:
没有完整的做过软件开发项目,没有相关的软件开发经验,对于软件工程的理解,并不是那么深刻,希望能在以后的实习工作中,能够好好体会一下软件工程的魅力所在!
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇) 学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 漫谈机器学习经典算法—理解EM算法
- java中String类常用方法总结
- IPv4套接字地址结构
- Android网络优化6--写一个网络请求模板2--基于Volley
- python NLTK环境搭建
- 软件工程(C编码实践篇)学习总结
- python项目内import其他内部package的模块的正确方法
- javascript快速入门第二章基础知识(下)
- 找回以前的号
- 如何在 MySQL 中判断中文字符?
- AsyncTask 和Handler 的优缺点比较
- Android Service串行服务:IntentService(系列3)
- 36.Android 自定义ContentProvider
- 软件工程(C编码实践篇)学习总结