天朗气清,惠风和畅,阳光明媚,白云朵朵,这是一个适合采访的好天气。
我们在新主楼G座837采访了在里面自习的董适同学(10级计算机学院前大班学生,上普通的软件工程课)和肖文聪同学(10级计算机学院前大班学生,上普通的软件工程课),分别为回答(1)(2)。
问题1:你喜欢这门课吗?有什么理由?
答:(1)一般。有一定实践,但不是很喜欢的那种。
(2)很好。实践性还是比较强。
问题2:既然是上课那么必然作业是肯定有的,你们软件工程课上的作业一般是什么?
答:(1)课上基本都是听老师讲,最后有要交的大作业,有期末考试,平时的话,也没什么作业要交的。
(2)平时作业倒是没有,但是从另一方面来说师生之间的互动也比较少。
问题3:那么你们的大作业的项目开发中,有想过使用什么样的开发方法么,比如敏捷开发?
答:(1)大家一起做的大作业不就是那样么,你写一部分我写一部分,然后拼到一块。敏捷开发?这对我们的作业来说压根没必要吧。
(2)这个课上并没要求,而要求所有团队成员来学习某种开发方法也不太现实,相比而言我倒是挺喜欢你们课堂上系统的来讲软件开发方法。
问题4:是否对作业完成有明确的计划?是否有安排daily scrum之类的?
答:(1)计划是有,但是能不能实现还是两说,daily scrum?确定不需要改成weekly scrum么,每天别的事情也有很多,哪来那么多空来扯这一门课的大作业。
(2)基本都是跟着计划走,但是总有计划安排不到的内容,每日讨论我相信有助于我们项目的完成,但是很可惜实现起来有点困难。
问题5:那你感觉在传统的软件工程课里学到了什么东西么?
答:(1)组团编程?别的也没什么了把,写大作业的时候感觉组团还是容易不少。
(2)这也是我想说的,我还是感觉在你们班的软件工程课上学到的更多,传统的软件工程课感觉就是一个大作业。
问题6:你们上的软件工程课有给你留下什么特别印象么?
答:(1)很普通的一门必修课吧,正常上课啊,大作业啊,最后还有个考试,说起来和上学期面向对象课的感觉差不多。
(2)比较枯燥吧,并没有什么特别的印象。
问题7:你们尝试团队中的组队编程么,就是两人一起负责某部分代码,你对这种方法有什么看法。
答:(1)一般都是一个人做,当然后面的另说,在代码过程中多个人别的先不说,各种写程序风格不同就是一件比较难解决的事吧,我还是认为就我们的水准来说单人效率更高。
(2)合作感觉还是要看双方之间的水准吧,不然沟通都相当困难。
问题8:开始也和你说了会我们上的软件工程课,你对我们上的软件工程课有什么看法?
答:(1)作业真多(这是玩笑)。感觉完全不像同一门课了,不过似乎你们讲了很多别的东西,不过实用性倒是有待商榷,我个人还是喜欢所谓的传统的软件工程。
(2)挺有意思的,感觉能学到的东西有很多,而且更加系统化。
问题9:那么你觉得传统的软件工程课有什么需要改善的地方?
答:(1)单纯从我个人角度来说这课已经不错了啊,当然如果要从人的发展,人的未来什么的大角度来说,请左转教育部右转工信部。
(2)感觉应该向你们的课学习,不应该仅仅只是一个大作业,更应该系统地培养学生软件开发的能力及素养。
传统的软件工程课大约分为如下几个部分:
上课 |
比较随意,老师讲为主,会提醒相关作业进度。 |
大作业 |
这个占最后分数比重较大,但完成周期也很长,不需要对完成后的软件进行跟踪。 |
复习 |
老师给定若干重点。 |
考试 |
与我们的软件工程课的一个很大的不同。 |
完结 |
收工散伙,该干嘛干嘛去。 |
分析:暂且不说到底是那种教学方式更好,哪种方式更具有优越性,就个人看来,传统的软件工程课的大作业不进行后续跟踪确实有所不妥。众所周知所谓程序员的若干大谎言之中一定会有这么一条的“这只是我们现在的成果,我们以后一定还会改的”,如果不对完成质量有一定要求,难免会出现“做完就行”的情况,对课程教学与学生发展都有不利。
但从另一方面来说,,虽然说有同学表示对非传统的软件工程课心有向往,就其他大多数同学而言,对传统的软件工程课的接受度倒是相当不错,这应该要好好思考一下当代大学对学生生的考核体系的问题了。
至于软件工程这门课程到底应该怎么培养学生,是习而学之还学而习之,是应该等同于计算机科学还是与计算机科学泾渭分明,到底怎么才算是优秀的软件工程课程,这标准依旧有待商榷,牵扯到体系,价值什么的直接可以balabalabala了。
引用上篇blog中一句话“总而言之,首先,我认为大学应该起到它应有的作用,而不只是一个技术学校而已;其次,大学也不应该是又一个高中或者更甚于高中的应试教育家的天堂,而应该是一片自由的、开放的孕育思想的摇篮”,同理个人感觉软件工程课也应如此,否则又和一个技校、培训班什么的有多大区别?和公司的岗前培训相比,大学课程又有什么不同?