软件工程(C编码实践篇)学习小结

陈康荣  +《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006

学习心得:

转眼间,软件工程这门课程就要结束了,忽然有种怅然若失的感觉。刚开始接触这门课的时候,感觉仿佛置身于知识的海洋,如鱼儿一般畅快遨游;置身于学术的天空,似鸟儿那样自由飞翔;置身于代码的花园,像花苗一样汲取阳光。人生有幸,得遇良师。

实验报告:

实验一:写一个hello world小程序
https://www.shiyanlou.com/courses/reports/1271055

首次实验要求相对简单,主要在于熟悉实验楼的实验环境,了解linux和VIM的基础指令。

实验二:命令行菜单小程序V1.0
https://www.shiyanlou.com/courses/reports/1271762

实验二要求实现命令菜单小程序,本实验老师要求重视实验代码规范,并且以后的实验代码都要规范,主要的代码规范包括:缩进4个空格、所有的“{“和”}”要独占一行,上下之间成对的“{}”要对其等等,养成良好的代码习惯,不仅有助于我们自己看代码,也有助于其他程序员阅读代码,好的代码习惯将对我们受用一生。

实验三:内部模块化的命令行菜单小程序V2.0
https://www.shiyanlou.com/courses/reports/1273670

实验三在实验二的基础上,要求将程序内部进行模块化,使逻辑更加清晰,实验中要求重视一个函数或者方法只做一件事,也即“keep it simple and stupid”,设计和实现要保持一致,以及“不要和陌生人说话原则”,一定要有错误处理,并且用数据结构简化代码。

实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
https://www.shiyanlou.com/courses/reports/1275199

实验四要求用可重用的链表模块来实现命令行菜单小程序,以前命令菜单小程序的功能保持不变,但在之前的要求上更进了一步,要求链表模块的接口设计要足够通用,将通用的linktable模块集成到menu程序中,在实验中要注意接口的规范。

实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
https://www.shiyanlou.com/courses/reports/1276383

本次实验,沿用了之前的模块化思想和基本的代码内容,并且新增了一些脚本指令。通过这次学习,加深了对链表的认识,也更熟悉了开发环境的代码操作,并实现callback增强链表模块。在通常情况下,我们提供给用户的,只是一部分必要的信息,为了保护自己的信息,我们需要重视接口信息的隐藏。

实验七:将menu设计为可重用的子系统
https://www.shiyanlou.com/courses/reports/1278213

本次实验,为menu子系统设计接口,并写用户范例代码来实现原来的功能;使用make和make clean来编译程序和清理自动生成的文件;使menu子系统支持带参数的复杂命令,并在用户范例代码中自定义一个带参数的复杂命令;可以使用getopt函数获取命令行参数。

学习总结:

收获:通过本次学习我学习了很多关于软件工程的思想,其中在学习这门课程的过程中我最大的收获是学到了一种系统的分析设计并实现一个软件项目的方法,而且通过实践加深了对这种方法的理解。callback机制和函数指针的运用对我有很大启发。

遗憾:美中不足的是,命令行程序毕竟是一个体量不够大的小项目,不会遇到过于复杂的问题。如果能延长这门课程的时间,并提供一个更复杂、更庞大的软件项目供同学们练习,想必会令更多的人收获更多。

时间: 2024-10-14 15:58:30

软件工程(C编码实践篇)学习小结的相关文章

网易云课堂-软件工程(C编码实践篇)

网易云课堂-软件工程(C编程实践篇) 识别代码工程质量: 代码风格: 封装接口: 可重用代码: 可重入函数和线程安全: 代码风格的原则:简明.易读.无二义性:代码风格原则在团队交流过程中非常重要.

记一次网易云课堂MOOC课程学习经历——《软件工程(C编码实践篇)》

刘东晓 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 一.对课程的简要理解 正如计算机业内的一个非常经典的等式所言: 程序     =算法+数据结构 软件     =程序+软件工程 软件企业    =软件+商业模式 现代软件企业的成功离不开优秀的软件以及杰出的商业模式,同时,作为企业运营核心的软件亦离不开软件工程的指导. 作为商业软件而言,程序是软件的"内功&q

软件工程(C编码实践篇) 学习总结

By: 吴倩+ 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 一  对代码层面的软件工程的理解及学习心得体会 通过<软件工程>这门课的学习,使我认识到软件不仅仅只是逻辑的代码实现,更是使软件变得具有更好的功能,更健壮和具有更好移植性的一个工程.同样一个问题,有的人可能是用数据结构做逻辑控制,有的人用ifelse来做控制.不同的代码实现会导致不同的执行结果和执行效率

软件工程(C编码实践篇)学习心得

孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程(C编码实践篇)是由中科大孟宁老师在网易云课堂上发布的一门关于学习软件工程开发思想的实践性课程,整门课程循序渐进的从一个helloworld小程序做到一个线程安全并且可重用的menu菜单系统.课程主要通过网课加实验楼实验的方式进行,课程讲解内容轻松又不失严谨性,实验简单却又极具代表性.总之,整门课程基于一个m

高级软件工程(C编码实践篇)--心得

吴松泽 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 1.心得体会: 跟随孟宁老师学习了软件工程mooc这门课程,不但让我从理论上掌握软件工程,还有从不同的实例,让理论和实践得到了很好的结合.整一个学期下来,总的来说还是学到了很多东西的,有很多地方是值得肯定的,其实在我看来,软件工程与其说是一门课程,不如说是一门思想.是一个如何去分析和处理问题的过程,应该说其范畴已经远远

软件工程(C编码实践篇)课程总结——我的第一次代码实战之路

课程内容来自网易云课堂-软件工程(C编码实践篇)--中国科学技术大学孟宁老师主讲! 作者:魏红 魏红<软件工程(C编码实践篇)>MOOC课程作业http://mooc.study.163.com/learn/USTC-1000002006 一.心得体会 在写这篇博客时,我的心情不是想象中的如释重负,而是感慨和激动.作为一名理科生,代码对于我来说,陌生.遥远.不曾触及,所以当我开始接触到实验,需要自己动手的时候,我就崩溃了.哪怕是最简单的hello world小程序,我都折腾了好久,第一次的实验

软件工程(C编码实践篇)课程总结

课程内容来自网易云课堂中科大孟宁老师的软件工程(C编码实践篇)课程. 课程页面 我觉得本门课程的设置非常科学,每一周课程都是基于上一周课程的进一步抽象,使得学习者能够循序渐进,逐渐加深对软件工程的理解. 1. 第一周:熟悉Linux实验环境:要求 实验一:写一个hello world小程序. 实验报告链接+git代码库链接 总结:hello world本身很容易,但是linux下工作方式和windows下完全不同,会给不熟悉linux的人带来不少问题.首先vi没有Windows下的IDE智能化,

学完《软件工程(C编码实践篇)》之后的总结

By: 纪*保*华 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 Part1  对代码层面的软件工程的理解及学习心得体会 作为一个此前未系统学习过软件工程的学生,在学习本门课程之前,对软件工程的印象仅仅是一本厚厚的教科书和枯燥无味的文字描述,就代码层面来说,也仅仅是停留在代码量和代码规范的浅显理解上. 在这两个月的学习过程中,从一开始的熟悉linux开发环境,到慢慢发现软

git学习小结

背景:最近因为工作原因,需要将以前的代码库由bitbucket重新布置在一台服务器上,所以就学习了下git,特此记录下 在167这台机器上搭建apache,用做git server,由于以前apache都已经搭好了,所以这里只配置git server 就可以了,此处贴出配置: 服务器搭好了,来到配置中的root目录,git clone https://[email protected]/XXXX 此时,库和服务器都搭好了,用于新库测试的机器也可以从git server上克隆库了,来,我们来试试从