作者ric2k1 (Ric)
看板EE_DSnP
标题[心得] 算是结束了
时间Sat Jan 27 22:51:13 2007
成绩已公布, 看在今年大家期末专题都做得不错的份上, 学期平均创下了历年的新高...
来说一些心得吧...
我想今年大部分的人都能将 BDD 做出来的原因主要有二,
ㄧ是 command interface 在先前的 homework 就已经做过了,
往年同学们花最多时间的其实是在处理复杂的 command interface,
在没有指引的情况下, 结果大家都是用了一大堆 if-then-else,
让程式变得又难看又难 debug.
另外就是 HW#6 circuit reader 的提供, 没让同学们练习到这个作业有点可惜,
Parser 其实是很琐碎却又常常会遇到的地方,
过去不少同学期末的程式其实都是 crash 在这个地方.
(当然还有就是我发现其实大家对这门课都蛮用功的, 而且又高手如云)
今年初在同学们的建议之下, 我决定将 command interface 有系统的安排在
homework 里面, 让同学们学习到如何在程式越长越大的情况下, 还能维持 command
parser 的乾净与独立性.
不过也有一些同学提到在大部分的 homework 与期末 project 里,
我已经将程式的架构, function, 甚至 data structure 都已定死,
除了大家必须要花很多时间来了解我为什麽要这样写之外,
就算是自己有其他的想/写法, 能自由发挥的地方也是很有限.
其实关於这点, 我真的感觉是两难.
因为想要给同学们写一些较实用, 却又不会太 trivial 的程式,
我担心如果只是给大家一份文字的叙述而没有 reference code,
恐怕绝大部分的同学都会束手无策 (是这样吗?),
或者是就算是写出来了, 那种 coding style/quality 也是惨不忍睹,
这样子就违背了我当初开这门课的用意了.
而且我觉得学写程式很重要, 且常被忽略的一点就是要学会看别人的程式,
虽然我强调我的 coding 绝对不是最好的 (毕竟我不是科班出生的 XD),
但是我在设计 reference code 时所考虑到的一些 issues, 以及整体的软体架构,
绝对是经验的累积, 我想也是一般同学"还"没有能力作到的.
这些"东西", 很多同学在问我, 其实我真的不知道要怎麽教,
因为我相信, 那是一种对於如何 "设计" 程式的一种 feeling,
就像是一种内功, 只能靠大家自己去思考, 然後转化成为自己的体会.
我所提供的 reference code, 只是一招半式, 让大家可以藉着用他,
来挑战更困难的程式.
就像是由练外功来修内功一样的道理.
我相信有许多同学已经有能力自己去设计程式架构,
关於这点, 很抱歉没有办法在短短的学期中有机会让大家发挥到,
也许开个 "资料结构与程式设计 (二)" 才有机会吧? XD (大家别当真)
Anyway, 我相信同学们在未来会有许多练习程式的机会,
希望大家从这堂课学习到的,
是一种 "学习写" 程式的态度, 以及一种对於挑战较复杂程式的信心,
将来就算是没有 deadline 的压力, 也能自我期许写出较容易 debug/maintain 的程式.
最後, 还是要惋惜一下仍然有ㄧ些同学没能做出 final project,
以至於成绩很难看甚至於被当掉.
关於这点, 我要提醒自己在加退选结束之前要再次提醒大家. 嗯.
口我, 还要感谢许多同学对我的鼓励 :) 真的很感激.
不过如果大家对於这门课的 homework, project, schedule, 等等
还有任何的建议的话, 很希望你们能够跟我分享,
Either 是 po 在板上或是写 mail 给我,
同学们亲身的宝贵经验, 将会是我在未来改进这门课的最佳依据!!
接下来这个版会冷好一阵子...
Bye Bye 了!
(对了, 还有照片, 等一下来处理...)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.140.192
1F:推 Parhelia: DSnP Bye Bye 了! (〒△〒)\~/ 01/27 22:59
2F:推 geneliu: DSnP Bye Bye 了! (〒△〒)\~/ 01/28 01:49
3F:推 kahang: DSnP Bye Bye 了! (〒△〒)\~/ 01/28 11:24