作者costbook (Sissy's mate)
站内Programming
标题[心得] 第一次毕业专题就上手
时间Tue Jan 13 02:54:47 2009
又到了毕业专题分组的季节,对於专题必修的某些同学而言,
应该很痛苦吧...。
小弟我把一些经验写成「第一次毕业专题就上手」,希望能让
大家参考参考。我不是学管理的,文章的废话稍微多了点。
另外,本文只是经验分享,写的不好,(小声)想嘘就嘘吧
(PO在这个板会不会很奇怪?)
第一次毕业专题就上手
修订纪录:2009/1/12, 2009/1/13
作者:Skybuffer [[email protected]],
本文采用 创用 CC 姓名标示-非商业性-相同方式分享 2.5 授权方式
http://creativecommons.org/licenses/by-nc-sa/2.5/tw/
希望这篇小文章能给各位一些实务的建议。
1. 小组编成
因为「大家是朋友」而组队,是专题新手最常犯的错误。通常这样的
小组的目标、兴趣、程度...都会不太相同,最後会产生裂痕、或是
一个人独撑大局的情况。除非你们最後培养出了默契,或是同心协力
打混到底...。
如果你们的小组是「别人捡剩的」,那麽也不要太难过,说不定你们
只是在各个小团体的人缘都差一点,於是就被踢出来了,并不是真的
没人缘,也不是程度太差没人要。
选择小组的时候,可以利用网路资源,像是学校的讨论区、BBS...等
,和所有专题生交流彼此的兴趣、专长,找出适合的队友。通常「正
常」的学校都可以跨班组队,不一定要局限在自己的班上。
不论你们是哪一种团队,请先找出你们对於专题制作的态度;我把对
专题的态度分成3种,分别是混学分、想练功和要比赛。混学分的意
思是说,你们的专题是必修的,你们没兴趣但是不得不修。想练功则
是对专业领域有兴趣,想藉着专题的机会磨一下能力。而要比赛,就
是非常有兴趣,想要比赛啦。如果是没兴趣又被老师逼着比赛呢?通
常没有老师会这麽残忍,因为这样是累到自己...。
而本篇文章要探讨的,就是後面两种小组。(那要打混的怎麽办?...
打混还要人家教吗)
2. 如何找题目
当你们兴致勃勃的交出构思好的题目,拿去给指导老师看时,大概百
分之两百会被否决(特别是要参加比赛的队伍),因为题目不是太简单
,就是没创意,要不然就是「根本就不是一个题目」。但是不要太难
过,这是过程之一,除非你之前就受过训练了,或是资质很好。
不过主动找题目是非常好的(虽然指导老师通常早有计画了),而且和
老师讨论的过程中,也可以让老师知道你们的想法、程度,以及适合
的主题...等等。想出一个计画的题目,并且能清楚地表达出来,这
是踏入专题制作(研究)的第一步。
当你们在找题目的时候,可以参考以下几点:
* 创新性:
要真正的创新比较难,但是至少不要单纯去实现
一套既有的系统,除非那套系统很大、很豪华、很...。
例如自走车(沿着胶带前进那种),这是一个做到烂掉的
题目。但是如果你们可以把支援不同颜色的胶带、支援
倒车符号...等功能加进去,再想出一个新的应用,
我想你们会做的很快乐,说不定还可以参加比赛
* 学术价值:
单纯的做出一套应用系统,对於升学、找工作的帮助通
常不大。所谓的学术价值,不一定存在於理论研究的专
题中,像是教育部微电脑竞赛的「仿真生物电子鱼」、
「自动对焦系统」,都是结合了理论与实作的得奖作品
(
http://micro.cc.ntust.edu.tw/)
* 可行性:
包含技术面与经济面,有时候好的专题不一定有复杂的
功能、大型的硬体作品,也不一定要花大钱(况且专题经
费通常不多),还要考虑到你们的程度、学习能力。
这部份请和老师讨论
3. 进度管理
毕业专题的规模通常比较小,用不到行程管理、专案管理...这些模
型,学生们只要做「进度管理」就好了。所谓的进度管理,就是组长
确实监督成员的的状况,而组员也要自己回报给组长。并且找时间进
行小组讨论,看看大家完成的东西,和上次开会的结论是否相同。
进度管理不是老师的事情吗?不对喔,你们要告诉老师的只有两件事
情:哪些进度完成了、哪些进度没办法达成,还有做不出来的「屍体
」。而老师的工作,就是在你们遇到瓶颈时,帮你们评估可能的解决
办法,或者是否要另辟方向。
虽然说要管理进度,但是进度这个东西还真的很难管理,除了同学完
成任务的能力不同之外,也很难去要求组员每天要花多少时间。照理
说大三的玩乐时间应该比较少了,但是如果不是对专题有狂热的同学
,是很难自己主动照表操课的。
在此提供一个方法,叫做pair-programming。Pair-programming是
Agile Model的一个工具,属於软体工程与专案管理的方法。不过在
这我只是借用他的名字,意义为「在固定时间把小组集合起来做专题
」。
为什麽要集合起来做事?以我的经验来说,如果组长规划好了进度表
、死线(Deadline)也讲好了,然後让小组回去各自发挥,那麽下次开
会的成果通常会很惨。因为很少有人是自动自发的,就算是,回到家
里、宿舍...,很容易就会忘了专题、忘了进度、忘了...。
4. 进度规划
前面说的进度管理,只是确保大家都有做事而已,但是不能确定大家
都知道要做什麽。进度的规划也是组长要做的事情(当然,大家都要
参与讨论)。
进度规划不能只有进度,不能只说什麽要做什麽而没讲什麽是什麽
...,开玩笑的。进度规划要做的事情,就是把这个进度要达成哪些
功能、要长什麽样子确切的写下来,有点像是需求规格书,而不是执
行规划书。
举例来说,小组开会的时候完成这样的进度规划:
* 同学A - 用8051控制继电器
* 同学B - 模组化继电器电路
结果下次开会的时候,同学A写了可以控制一个继电器的8051,一直
在那边「科咖科咖」。同学B则是拿出一个电路板,上面焊了几个继
电器,还有几条单芯线。结果就是得到了一些好像有成果,但是没什
麽用的进度,而且还要花一次时间把他们整合起来。
一个「稍微正常」进度规划是这样的:
* 同学A - 用8051组合语言,写一个支援8 port输出的继
电器控制副程式,程式可调变数有:...,测试方式为:...,
* 同学B - 模组化继电器电路,输入端子的种类与配置为:...
,输出端子的配置为:...,保护装置与切换开关的设计有:...
那如果东西做不出来怎麽办?嗯...请与你们的指导老师联络,也许
你们需要一些提示,或者是乾脆换个方向。
[待续]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.68.92.156
※ 编辑: costbook 来自: 203.68.92.156 (01/13 02:55)