云课堂软件工程(C编码实践篇)学习之我见

本文作者分享了在网易云课堂学习软件工程(C编码实践篇)的体验,通过线上实验逐步优化一个menu程序,理解软件工程的定义和开发流程。课程涵盖了Linux环境、Git操作、代码风格规范、模块化设计、回调函数、线程安全等内容,通过实践提升了编程技能和找错能力。作者强调实践是学习软件开发的关键,并对孟宁老师的教学表示感谢。
摘要由CSDN通过智能技术生成

梁作宇 + 原创作品转载请注明出处 + 《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-1000002006


写在前言

很荣幸选择了孟宁老师在中国科学技术大学苏州研究院开设的“高级软件工程”这门课。软件工程作为一门具有主导地位的专业课,孟宁老师用一种全新的授课方式——网易云课堂线上教学,以另一种思维模式,巩固与延伸了我们在线下对课本知识的理解,提高与锻炼了我们实践与应用能力。在这短短的八周学习时间里,获益颇丰。


软件工程之我见

根据IEEE,在软件工程术语汇编中的定义为,软件工程是:

1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;

        2.在1中所述方法的研究。

软件工程对于IT软件行业来说是最基础最根本的学科,一款成功的软件开发周期要从分为三个阶段:

1.定义阶段:可行性研究、初步项目计划、需求分析

2.开发阶段:概要设计、详细设计、编码与实现、测试;

3.运行和维护阶段:发布、运行与维护。

那么针对于软件工程(C编码实践篇)这门课程,基于代码层面的软件工程又该怎么理解呢?

在线上的六次代码实验和一次线上小测的过程中,我们将一个menu菜单程序从简单的hello world式的小程序,逐步发展与完善,比如规范代码风格、使代码模块化、增加代码可读性、使用链表的操作、设计成可重用的子系统等等。这个过程,将一个简单、朴实无华的小程序,变身为高大上,具有一个严谨框架规范的、符合软件工程要求的程序。

七次线上课程的实验,使程序更趋于完美和严谨,这就是软件工程这门课的初衷,也是软件工程这门学科存在的意义。


C编码实践篇学习之心得

线上开设实验课,对于本人来说是一种全新的体验。刚开始接触网易云课堂和实验楼的我,显得有些力不从心,遇到了一些小麻烦。不过都只是一些平台上的操作问题,在实验一次后,这些“不起眼”的小问题都能迎刃而解。线下孟宁老师对软件工程这门课进行讲解,线上通过代码层面来让我换一个角度和思维去理解软件工程。网易云课堂的软件工程C编码实践篇这门课程,它还让我们熟悉了Linux环境的一些操作和Git的一些操作。对我而言,收获颇丰。

每一次的实验都是有紧密关联的,层层递进,正体现了一个代码的优化与完善。这正是软件工程的意义所在。同时,值得注意的是,从第五次实验开始,到第七次实验,代码的难度陡然增加,本人花费了较长的时间去完成,有的时候我觉得这些时间是毫无意义的,但是老师说,这种找错纠错的过程,本身就是提高。举个例子吧,Makefile文件的编写,我就一直出错,后来查明真相,是空格和Tab键的原因。还有callback的含义和使用,在询问同学、查阅资料后,花了两天的时间,才完成任务。与其说是浪费时间,不如说这些时间是真真正正地让我学到了知识,学到了本事!

线上课堂和实验,这种全新的授课方式,让人耳目一新,一来可以节省线下课堂的时间,二来巩固与延伸了线下授课内容和知识。作为已经快要完成这门课程的学生来说,我是极力支持这种教学模式的,并希望能将其推广。

最后说一句,作为一个学软件的工科生,实践永远是第一位。线上课程多敲敲代码,找找BUG,永远是学习软件开发的不二法门!


实验目录与感 

友情提示:实验链接加大醒目!

1、课程简介:

识人与识别代码工程质量的类比


2、熟悉Linux实验环境:

  工欲善其事必先利其器

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值