作者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
推 Parhelia: DSnP Bye Bye 了! (〒△〒)\~/ 01/27 22:59
推 geneliu: DSnP Bye Bye 了! (〒△〒)\~/ 01/28 01:49
推 kahang: DSnP Bye Bye 了! (〒△〒)\~/ 01/28 11:24