1. 课程心得
高级软件工程是我进入硕士研究生学习阶段后完成学习的第一门课程,这门课程系统的概括了软件工程领域的基本模块,并包含了具有针对性的实践内容。Vue范例程序分析向我们提供了最新并且最有发展前景的前端框架——vue的基本使用,同时还提高了我们对于软件工程代码模块化和层次化要求的认识,此外,还从代码的层面切实体会到重要的设计模式如观察者模式的应用。网易课堂中,老师还手把手带我们完成了一系列命令行菜单程序,并循序渐进的将程序逐渐模块化和层级化,夯实了代码工程化的基础,提高代码高内聚低耦合的特性,保证代码质量。此外还接触到了Linux开发环境,并且第一次学会了GitHub的使用方法,这些都是计算机相关专业学生必不可少的基本功。
这门课程的课堂讲授部分只起到“师傅领进门的”作用,课堂内容并不会细致入微,学生需要通过在线课堂和资料阅读来精进学习。我认为这是一种很先进的教学方式,很与国际接轨,这种方法比较适合我。
为给其他学习者提供参考,下面列出这门课程完成的所有实验报告目录链接:
实验一:写一个hello world小程序
实验二:命令行菜单小程序V1.0
实验三:内部模块化的命令行菜单小程序V2.0
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
实验七:将menu设计为可重用的子系统
2. 课程收获
Vue是一套构建用户界面的渐进式框架,很有可能在短期的将来得到广泛使用,在《高级软件工程》课程的学习过程中,我们跟随十个范例程序,了解掌握了框架里面的很多基本机制。比如实现父子组件通信、数据双向绑定、连接MongoDB数据库等功能。在此过程中还从代码的层面上理解了观察者模式,并切身体会了模块化的软件设计思想。在课程项目中还尝试实现了leanware项目的点赞功能,加深了对vue框架、js语言以及设计模式的理解。
网易云课堂的在线作业是每周实现对menu小程序的完善,开发环境为linux系统下的C语言开发,每次完成的程序都要上传到自己的git版本库,并且同学间互相进行code review,提高了代码阅读与编写能力。此外,每周的作业对于代码质量、格式、以及注释等都有较为专业的要求。每周的作业都是在之前作业的基础上进行修改和完善,使程序的模块化和通用成都逐渐提高。
在线下课堂中,老师介绍了软件工程中各阶段的基本概念和原理,我还将课堂上学到的用例图、数据库概念模型等设计阶段的标准化建模方法用到了工程实践项目的开题阶段。
最大的遗憾:
(1)没看懂vue源码。(2)有一次忘记互评了。
作者:付冠琪 SA17225080 原创作品转载请注明出处
《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006