软件工程(C编码实践篇)课程总结
2017-11-13 18:37
661 查看
软件工程(C编码实践篇)学习总结
《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
一、对软件工程的理解及学习软件工程(C编码实践篇)的心得;
通过学习本课程后,在代码的层面上加深了对软件工程的理解,体现在以下三个方面。
1、对代码的风格进行规范,避免阅读障碍,理解困难等。
2、对于有一定规模的软件来说,可以通过模块化的思想来分割系统组件模块,然后攻破各个模块。
3、在代码的编写过程中,没必要自己从头开始编写代码,可以利用别人已经公开的、高效的、可靠的代码,这样既可以节约时间,又可以减少错误。
学习了中国科学技术大学软件学院孟宁老师的(C编码实践篇)后,从刚开始一个简单的hello小程序,到基本的模块化设计,可重用模块的接口设计等,每一次实验觉得自己都有很大的进步,提高了自己代码的编写能力,使自己能够严格遵守代码风格规范来编写代码。由于自己以前所学的专业和软件工程相差较大,所以每次做实验都需要很长的时间,但是自己的进步也很明显。还有就是(C编码实践篇)让我明白,自己即使没接触过此类问题,也要自己想办法解决,没有人天生就会一门学科。
二、实验报告作业的目录列表(链接)
实验一:写一个hello world小程序
链接:http://blog.csdn.net/weixin_34332893/article/details/78009595
总结:hello world本身很容易,但是linux下工作方式和windows下完全不同,会给不熟悉linux的人带来不少问题。首先vi没有Windows下的IDE智能化,不能实时纠正语法错误,编译是会产生不少语法错误,需要细心调试。其次,linux的诸多命令和参数,需要更长时间练习操作才能熟练掌握。最后,初学者往往不熟悉git,需要一定时间研究版本控制系统。这3点是liunx初学者需要克服的困难。
实验二:命令行菜单小程序V1.0
链接:http://blog.csdn.net/weixin_34332893/article/details/78079755
总结:初步接触了模块化设计思想,理解了代码风格的重要性,学会了将命令封装成函数供使用者调用。
实验三:内部模块化的命令行菜单小程序V2.0
链接:http://blog.csdn.net/weixin_34332893/article/details/78185024
总结:初步实现了业务逻辑与数据结构的分离,加深了对模块化思想的理解。而且这次自己做死创造难度,采用了AVL树做数据结构,static函数声明,函数指针做参数实现call -back;以及实现了在Windows
IDE下编程,共享到Linux虚拟机编译运行,最后从自己的Vmware11的Ubuntu虚拟机向实验楼git代码。从而进一步提高了自身的水平。
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
链接:http://blog.csdn.net/weixin_34332893/article/details/78240324
总结:本次对于数据结构,我参考了Linux内核源代码中双向链表的实现,移植其功能接口集成到menu菜单程序中。而在Linux内核链表的设计中,为了达到最高运行效率,使用了宏定义和内联函数完成所有功能的设计实现,所有代码集成在其设计的接口头文件中。Linux内核源代码博大精深,其通用的设计思想和高效的实现方式,值得C/C++程序员认真阅读,即使不去做内核相关的工作,阅读精彩的代码对程序员自我修养的提高也是大有裨益的。
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
链接:http://blog.csdn.net/weixin_34332893/article/details/78323574
总结:本次实验通过Debug调试的使用增强了代码调试的能力,利用函数指针参数化上下文,以最小化信息隐藏的标准,设计了更加 通用好用 的API接口。
实验七:将menu设计为可重用的子系统
链接:http://blog.csdn.net/weixin_34332893/article/details/78460662
总结:本次实验难点在于Liunx系统函数getopt的理解和使用。getopt本身参数众多,难以理解,极易用错。做为最后一次实验,综合了前面所学知识,完成目标需要全面设计和仔细分析调试。
三、总结部分
学习完《软件工程(C编码实践篇)》课程后最大的收获:
通过一学期的学习,使得自己对软件工程有一个初步了解和认识,找到了进一步提高能力的方向。回想起一学期的历程,最大的收获是:抽象能力的提高和模块化思想的实践。非常期待软件工程系列课程的
后续2门课程。最大的遗憾是课程时间比较短,不足以深入学习多线程编程方面的内容。这方面网络上视频稀缺,而书籍比较晦涩难懂,自学难度较大,期待老师以后有时间能制作多线程和并行编程方面的课程。
金汇渲(与最后申请证书的姓名务必一致) + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
”,
《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
一、对软件工程的理解及学习软件工程(C编码实践篇)的心得;
通过学习本课程后,在代码的层面上加深了对软件工程的理解,体现在以下三个方面。
1、对代码的风格进行规范,避免阅读障碍,理解困难等。
2、对于有一定规模的软件来说,可以通过模块化的思想来分割系统组件模块,然后攻破各个模块。
3、在代码的编写过程中,没必要自己从头开始编写代码,可以利用别人已经公开的、高效的、可靠的代码,这样既可以节约时间,又可以减少错误。
学习了中国科学技术大学软件学院孟宁老师的(C编码实践篇)后,从刚开始一个简单的hello小程序,到基本的模块化设计,可重用模块的接口设计等,每一次实验觉得自己都有很大的进步,提高了自己代码的编写能力,使自己能够严格遵守代码风格规范来编写代码。由于自己以前所学的专业和软件工程相差较大,所以每次做实验都需要很长的时间,但是自己的进步也很明显。还有就是(C编码实践篇)让我明白,自己即使没接触过此类问题,也要自己想办法解决,没有人天生就会一门学科。
二、实验报告作业的目录列表(链接)
实验一:写一个hello world小程序
链接:http://blog.csdn.net/weixin_34332893/article/details/78009595
总结:hello world本身很容易,但是linux下工作方式和windows下完全不同,会给不熟悉linux的人带来不少问题。首先vi没有Windows下的IDE智能化,不能实时纠正语法错误,编译是会产生不少语法错误,需要细心调试。其次,linux的诸多命令和参数,需要更长时间练习操作才能熟练掌握。最后,初学者往往不熟悉git,需要一定时间研究版本控制系统。这3点是liunx初学者需要克服的困难。
实验二:命令行菜单小程序V1.0
链接:http://blog.csdn.net/weixin_34332893/article/details/78079755
总结:初步接触了模块化设计思想,理解了代码风格的重要性,学会了将命令封装成函数供使用者调用。
实验三:内部模块化的命令行菜单小程序V2.0
链接:http://blog.csdn.net/weixin_34332893/article/details/78185024
总结:初步实现了业务逻辑与数据结构的分离,加深了对模块化思想的理解。而且这次自己做死创造难度,采用了AVL树做数据结构,static函数声明,函数指针做参数实现call -back;以及实现了在Windows
IDE下编程,共享到Linux虚拟机编译运行,最后从自己的Vmware11的Ubuntu虚拟机向实验楼git代码。从而进一步提高了自身的水平。
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
链接:http://blog.csdn.net/weixin_34332893/article/details/78240324
总结:本次对于数据结构,我参考了Linux内核源代码中双向链表的实现,移植其功能接口集成到menu菜单程序中。而在Linux内核链表的设计中,为了达到最高运行效率,使用了宏定义和内联函数完成所有功能的设计实现,所有代码集成在其设计的接口头文件中。Linux内核源代码博大精深,其通用的设计思想和高效的实现方式,值得C/C++程序员认真阅读,即使不去做内核相关的工作,阅读精彩的代码对程序员自我修养的提高也是大有裨益的。
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
链接:http://blog.csdn.net/weixin_34332893/article/details/78323574
总结:本次实验通过Debug调试的使用增强了代码调试的能力,利用函数指针参数化上下文,以最小化信息隐藏的标准,设计了更加 通用好用 的API接口。
实验七:将menu设计为可重用的子系统
链接:http://blog.csdn.net/weixin_34332893/article/details/78460662
总结:本次实验难点在于Liunx系统函数getopt的理解和使用。getopt本身参数众多,难以理解,极易用错。做为最后一次实验,综合了前面所学知识,完成目标需要全面设计和仔细分析调试。
三、总结部分
学习完《软件工程(C编码实践篇)》课程后最大的收获:
通过一学期的学习,使得自己对软件工程有一个初步了解和认识,找到了进一步提高能力的方向。回想起一学期的历程,最大的收获是:抽象能力的提高和模块化思想的实践。非常期待软件工程系列课程的
后续2门课程。最大的遗憾是课程时间比较短,不足以深入学习多线程编程方面的内容。这方面网络上视频稀缺,而书籍比较晦涩难懂,自学难度较大,期待老师以后有时间能制作多线程和并行编程方面的课程。
金汇渲(与最后申请证书的姓名务必一致) + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006
”,
相关文章推荐
- 《软件工程(C编码实践篇)》课程总结
- MOOC课程:软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)课程总结
- 高级软件工程&&《软件工程(C编码实践篇)》课程学习心得及内容总结
- 软件工程(C编码实践篇)课程回顾总结
- 软件工程(C编码实践篇)课程总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践)学习总结
- 软件工程(C语言实践篇)课程总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(c编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结
- 软件工程(C编码实践篇)学习总结