作者ric2k1 (Ric)
看板EE_DSnP
标题[心得] 写程式
时间Fri Jan 5 17:49:44 2007
我想
写程式大概有几个阶段 (几种难度)
1. 摸索期: 对於语法, 程式架构, 都不太熟, 所以程式写起来一 compile 就错一大堆,
更不用说要留意 coding style 了...
2. 熟练期: 已经能掌握基本的语法, 对於一些较进阶的语法, 虽然可能还不太熟, 但是
可以很快的找到 reference, 或写一些小程式来找到答案. 在这个时如果给一些
定义清楚, 又不会太复杂的 program assignments, 通常都能顺利完成.
3. 通透期: 除了掌握实体的语法之外, 给予一个问题, 能够进行抽象的思考, 提出可行
的演算法, 然後再将其规划整理成 "可程式的演算法", 进而订定有效率的资料结构
与程式架构, 然後再进行实际的 coding.
我想同学们来修这门课之前, 很多人大概都是属於第一阶段吧?
所以我规划了 HW #1, #2, 希望可以帮助大家熟悉一些基本的程式语法与概念, 然後
lecture #3 也讲很久, 其实就是怕还有很多同学还没有进入状况.
接下来的 HW#3 ~ HW#5 应该算是希望帮助同学进入第二个阶段, 这些作业基本上没有
太高深的演算法, 题目定义应该也还算简单, 不过 coding 上是希望能让大家见识
到较具规模的程式 (1000 ~ 2000 lines), 其目的是想要帮助大家更熟练 C++ 的语法,
并藉由观摩 reference code, 去思考一下如何规画一个较复杂的程式.
所以, 如果你能跟得上这些作业的要求的话, 我想你对写程式至少应该比较不会害怕了
吧?
不过话说回来, 由於大家的作业都做得相当的不错, 这样子我实在很难在期末对同学的
成绩做一个区隔...
此外, 写程式的训练其实除了以熟练为目标之外, 另外一件重要的事情是要懂得 "规划
程式", 不过规划程式这件事情是很难去评分的 (10 个人还可以, 80 个人的 projects
就 orz 了), 所以我选择了 BDD, 一个需要大家花一点脑筋去了解, 但是要花不少巧思
才能有效又漂亮的 implement 的题目.
也就是希望能让大家有进入第三阶段的训练.
当然这是个高标准, 我说过我不期待大家都能全部完成, 我也告诉大家应该把它当作
像是我那个年代的电磁学考试, 不要期待自己一定能做到几乎满分, 尽力就好.
就像是我今天说的
"骑脚踏车进入新体旁边的小门的故事",
先不要被复杂的题目给吓到了, 想想你现在应该可以做得好的是什麽...
这样子才能够从容的发挥你这个学期所学到的东西!!
你现在可以做什麽?
不要急着动键盘, 或看 reference code, 先把 BDD 的原理弄懂, 名词弄熟, 再将
implement 的方法弄明白, 如 ITE, complement edge, hash/cache table, ITE
parameter standardization... 等等, 确定你都了解之後, 再照着攻略ㄧ步一步做.
目标先设在让 "test.cpp" 能够正确, 再求 BDD Calculator 可以 work, 真的有时间,
再追求 Circuit::buildBDD 怎麽做...
还有,
我一直想要跟大家讲的... 虽然讲出来可能有点不好意思...^^|||
就是大家也知道, 我当年是完全没有机会受到这种训练的...
(我的计程是学 Pascal...)
从研究所开始认真学写程式到现在, 是自己摸索了十来年,
所以,
希望大家不要被一门课或一个期末专题吓到,
毕竟 whatever you can do, 已经比我当年强多了,
假以时日, 必定会比我厉害的... *v*
加油啊~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.21.240
1F:推 ijb:听到脚踏车攻略法,整个人都吓醒了!这是我平常认识的ric吗? 01/05 20:01
2F:→ ijb:话说回来....不过,我喜欢~ XD 01/05 20:04
3F:推 samuelduan:感谢老师这麽用心跟我们说这些 01/05 21:11
4F:→ samuelduan:或许老师也可以考虑一下来个 "资结程设与人生" XD 01/05 21:12
5F:推 eeturtur:大推老师的文章!!!!!!!! 01/06 00:48
6F:推 mikejdi:看了真的蛮感动的 老师真的很用心给了我们很多东西 01/06 14:14
7F:→ mikejdi:谢谢老师!!! 01/06 14:14
8F:推 geniusjazz:真的很感人@@ 要加油了... 01/06 14:32
9F:→ geniusjazz:不过老师...那个录影档...有成功嘛? 01/06 14:32
10F:推 ric2k1:还没试... 星期五没借到 229 里面那间的 key... 01/06 15:30
11F:→ ric2k1:key 的中文的注音是什麽, 打不出来... 01/06 15:32
12F:推 Parhelia:钥匙 ㄧㄠˋ ㄔˊ 01/06 15:42
13F:推 mamalo:请念 ㄧㄠˋ ㄕ˙ 谢谢 01/06 16:11