本科学习的是计算机科学与技术专业,然后通过考研来到中科大攻读软件工程专业学位。本科因为是计算机科技专业,学的东西比较广泛而又偏重理论方面的知识,也选修了软件工程这门专业课。但是本科阶段多是学习理论知识,缺乏必要的变成实践能力。来到中科大之后继续选修了“高级软件工程”这门课,比本科的课程高了高级“”两个字,两个多月的学习之后,的确也让我学习到了这门课高明之处。
历年来的学习资料可以在孟老师的主页(http://staff.ustc.edu.cn/~mengning/)看到。高级软件工程这门课主要分为线上线下两个环节,教学的详细步骤可以参见(https://coding.net/u/mengning/p/mengning/git/blob/master/ase/ase2017fall.md)。线上过程以在线MOOC方式授课,我们和 会上的学习者一同学习,线上成绩最后会根据 易云课堂昵称来统计。这门课程主要实验都在Linux环境(我们可以使用自己的linux环境或实验楼)下演示,如果之前从来没有接触过Linux系统或者不熟悉Linux Shell的基本命令,可以通过参考http://www.cnblogs.com/laov/p/3541414.html来获取linux学习的基础知识。
这门课可以说是我来中科大这两个月以后学习最充实收获最多的一门课程,在这门课程里,更加加深了解了linux一些基本命令行操作,对linux下编写开发C语言程序了解更加深刻。整个实验以实现命令行菜单程序为主线,从编写hello word一步步深入学习不断完善命令行菜单。
实验 告:https://www.shiyanlou.com/courses/reports/1290929
github地址:https://github.com/tianxieeryang/Command_line
实验三:内部模块化的命令行菜单小程序V2.0。代码的业务逻辑和数据存储之间的分离,即将系统抽象为两个层级:菜单业务逻辑和菜单数据存储。主要考察代码风格规范,借鉴代码设计规范的方法,代码的业务逻辑和数据存储使用不同的源文件实现,即有2个.c和一个.h作为接口文件。
实验 告:https://www.shiyanlou.com/courses/reports/1292699
github地址:https://github.com/tianxieeryang/Command_line/tree/master/lab3
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5。用可重用的链表模块来实现命令行菜单小程序,执行某个命令时调用一个特定的函数作为执行动作,链表模块的接口设计要足够通用,命令行菜单小程序的功能保持不变,可以将通用的Linktable模块集成到我们的menu程序中,接口书写规范。主要还是对代码的规范操作。
实验 告:https://www.shiyanlou.com/courses/reports/1295904
github地址:https://github.com/tianxieeryang/Command_line/tree/master/lab4
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8。本次试验主要学会使用callback函数参数使Linktable的查询接口更加通用,以及对接口的信息隐藏等相关操作。解决了老师遗留的bug,在lab4的基础上实验,通过callback机制使linktable具有通用性,同时隐藏接口的信息,使通用模块接口进一步得到保护。
实验 告:https://www.shiyanlou.com/courses/reports/1297145
github地址:https://github.com/tianxieeryang/Command_line/tree/master/lab5
实验七:将menu设计为可重用的子系统。为menu子系统设计接口,并写用户范例代码来实现原来的功能使用make和make clean来编译程序和清理自动生成的文件使menu子系统支持带参数的复杂命令,并在用户范例代码中自定义一个带参数的复杂命令,可以使用getopt函数获取命令行参数。通过写一个Makefile工程文件,来规范代码,Makefile文件以all开始,将文件的编译写入Makefile文件中,只需要在编译时执行make就行,使得代码更加灵活健壮。
实验 告:https://www.shiyanlou.com/courses/reports/1303528
github地址:https://github.com/tianxieeryang/Command_line/tree/master/lab7
以上是本学习两个月实验过程中线上课程的全部实验。线下课程的 vuex 学习不在本次博客的讲述之内。在本课程中学到了编码技巧,以及linux一些很实用的基本操作,对命令行的改进,callback机制的讲解是至今仍让我历历在目的一个知识点。
学习完的收获:孟老师讲课诙谐幽默,循序渐进,讲课很注重课程实用性,对于励志成为技术小咖的我来说还是挺受用的,毕竟选择计算机,从事计算机,编码能力肯定是第一位的。只有拥有规范的编码风格,实力强劲的编码能力使我们走出学校进入 会的第一把利剑。为以后的人生发展奠定基础。
学习完的遗憾:时间太少,两个月时间,只是跟着孟老师学了一点皮毛知识,希望今后能够多多加强。
最后,感谢孟老师两个月来的教学。收获甚多。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!