交通安全與生命教育 – 交大修課心得

traffic

課程資料

交通安全與生命教育

開課:吳宗修老師

修課年度:99通識

上課內容包含交通法規常識、如何保命、如何在交通事故中佔有有利的法律地位。還有持續的叮嚀:不要開快車、不要開快車、不要開快車。

「不急不急,天堂會等你」

〈吳宗修的交通安全與生命教育 理論與實務的完美結合〉

Driving is serious business.

When you are in driving, you are in danger.

有時會看到頗為驚悚的畫面,讓人心生警惕。

上課方式

看影片,有些是交通宣導廣告,也有一些行車紀錄畫面。此外還有老師針對影片的補充說明及閒聊。發作業後會抽同學上來講自己寫的東西,然後老師會據此補充講解。自己覺得上起課來十分沉悶。

評分方式

這門課沒有考試,不過有十個作業。

  1. 節錄三則交通事故報導,並重點摘錄與分析原因
  2. 撰寫自己曾遇過的交通工具故障經驗,這事件對你造成什麼影響?
  3. 紀錄馬路用路人行為
  4. 寫出五個開快車的理由,並分析是否值得。
  5. 勸導三名行經清華夜市未走天橋及斑馬線而直接穿越馬路的路人,並作成紀錄。向五名親友說明走天橋的理由。
  6. 訪問出車禍的親友,做成報告。
  7. 手寫千字以上文章,宣導生活中需注意交通知識的重要性。
  8. 如果你在車禍中喪生,你的親友會怎麼反應,有何改變?嚴肅的撰寫一篇文章探討。
  9. 至法院旁聽交通開庭,並撰寫心得。
  10. 上完課的心得與建議,對什麼影片印象深刻?這門課以後可以出些什麼作業?你想和以後的修課者說什麼(三百字以上)的話?

Bonus:投書至市政府反應一則交通意見,加總分2分。

我把一部分的作業放上來供大家參考:

根據多位同學的經驗,想要得高分,內容要豐富,字數不能少。把內容寫多就有機會9x分。此外,除手寫作文外,繳交格式皆為A4紙,多張時要訂好,否則會被扣分。筆者每次作業大概寫1~3張,分數約落在70~85。最後的期末成績為90。

老師會按座位表點名,據稱上課如果睡覺或做別的事會被登記。(似乎有作業分數高但總分比認真同學低的案例)上課嚴禁手機響起,否則會被當,若不幸響起聽聞有寫報告補救方案。此外不得食用零食飲料,中堂不下課,不過似乎可自行走出教室。

結語

我就從期末心得中節錄吧:

交通安全這堂課,可以學到一些很有價值的交通知識。老師很用心的想教會我們一些像是防衛性駕駛的觀念。不僅長常識,還能保命,謹記老師的話:「不急不急,天堂會等你。」可以避免發生不必要的交通事故,同時,還會學到一些發生事故時的處理方法,以後就不會手忙腳亂。

上課時主要是看各種交通宣導影片還有聽老師講解交通知識和一些事故案例。這門課的作業皆為書面,其中比較特別的是要去旁聽法院交通庭、到清大夜市勸阻不走斑馬線的行人,還有一個手寫的千字作文。

注意作業不要遲交,否則會扣分,就算你晚進教室也應該一進來就繳交,不要等到下課。並且紙張須使用固定的格式,不可使用任意大小。另外要注意的事項是不要在教室中飲食以及請把手機關機。

分享一下參觀法庭的經驗,想知道何時有開交通庭可以上新竹地方法院網站上的庭期查詢,而要進入法庭非常自由,只要直接走進去就好了,要離開時也是一樣。不過要注意不能喧嘩,手機最好也關機。

身處交通大學,怎可不修交通安全?十分推薦學弟妹來修這堂課。

作業系統概論 – 交大修課心得

computer

課程資料

作業系統概論

開課:黃世昆老師

修課年度:99資工系

課本是 《Operating System Concepts》

上課方式

這堂課的價值主要偏實做。上課主要是用投影片講解,有時老師會講 Linus 的故事。

評分方式

這學期老師只有點一次名,不過有算分。以前聽說這堂課有很多 lab, Bonus 可以做,到了期中,就有人已經 8x 了,還說學期末有六個人 100,不過這學期盛況不再, Bonus 只剩兩個。

即使如此,作業依然不少,確實可以學到許多。像是 user thread scheduler 若不是修這堂課,我大概也不會有機會寫吧。

bonus 佔 10 分,所以作業考試和 bonus 加一加,分數上限是 110 分。學期末還有調分,最後有及格的人的平均是 81。

考試作業

老師好像蠻喜歡 Linux 而不是 Windows,所以許多作業主要在 Linux 上進行。這學期有三個 online judge 的作業,越早寫完,寫出題數愈多,分數愈高。除了把題目解出來外,每份作業還要另外寫一份報告解釋自己的作法並附上相關討論。

第一個是要寫一個小型的 online judge 去 judge 老師的程式,主要是要透過 fork 執行程式並想辦法取得子程式的資源使用,及輸出入的重導。

第二個是一般基礎程設的題目:〈2009-04: On Disk Scheduling〉,相對而言比較簡單。

第三個是用 makecontext/setcontext/getcontext/swapcontext 實做 thread scheduler:〈OS-0002: A user thread scheduler〉。這個作業不太好想,一開始為了搞清楚題意費了不少心思,寫好的第一個版本異常複雜,後來跟同學討論才想出較簡單的寫法。

除此之外,還有一些程式作業:有一個是要寫個程式製造 zombie process,並寫個報告說明什麼是 zombie process。還有一個是要用 C++ 配合 pthread, semaphore 實做 monitor。還有一個是要寫程式印出在 stack, heap 等等的變數及 functions 的記憶體位址,並比較與/proc/xxx/maps 的關係。

最後還有兩個 Bonus:

第一個是要用虛擬機 (ex. VirtualBox)安裝任一 Linux,並且加入自訂 system call 重新編譯核心,同時要寫一份報告及 demo system call 的使用。

推薦使用 Ubuntu,無論是安裝,編譯核心,加 system call,網路上都有 step by step 的教學。(因為版本會一直更新,所以這裡就不附連結了)安裝起來並不困難,只要一直按下一步就好了,如果有修過 SA 的,一定會很感動,他跟 FreeBSD 比真是天壤之別。

第二個是要取得 child process 的記憶體使用量的資訊(實際上為了完成 onilne judge hw1,本來就一定要完成這件事。)

我有把自己的報告和作業程式碼放在 github 上,可供參考:

考試方面,一共有三次期中考,老師都會給考古題,雖然會考很多新東西。

第一次考試,是到系計中線上考試,題型主要是選擇、填充等等。有一些記憶和觀念的問題,也有計算題。還有一些老師說是常識。第二次難度加深,還出了一題佔分 25 的程式題,是作業 monitor 的延伸。第三次改成紙筆考試,考得又更難了一些,計算題比重變得很高,尤其出了 page replacement 的題目。這題雖然在老師給的考古題就有出現,不過計算起來相當耗時。看到他的一瞬間,就直覺認為這份考卷要寫完很難。

結語

因為很多人作業寫不完的緣故,所以作業的 deadline 一直在延。我也在期末堆了四份報告和一份 online judge 沒寫,結果寒假第一個禮拜幾乎都在寫 OS 作業 囧

老師寄來的信,說話總是很客氣。

Bonus 中要裝的 Linux 真的推薦用 Ubuntu,我自己電腦上的主要作業系統就是灌 Ubuntu,反而 Windows 7 才是裝在虛擬機裡。感覺最方便的就是,不管是要寫 Java, Perl, Pthyon, Lisp, 還是 Prolog,執行環境都是直接用內建的套件管理員就可以輕鬆裝好。而且他上面又有很多方便的程式開發工具。

我都用 Vim 寫程式、gcc 編譯、gdb 除錯、git 管理程式碼。特別是 gdb,介紹給幾個人後,他們都覺得很棒,推薦大家可以試試看。

另外介紹一個工具叫 valgrind 是我上吳育松老師的資料結構時得知的。在除錯用 pthread 寫的 multithreaded 程式時,valgrind 和 gdb 真是配合的天衣無縫。我寫 monitor 作業時,他們真的幫助良多,否則我真不知要除錯多久。

延伸閱讀

p.s. 這篇文章裡提到的工具,有些也可在 Windows 上使用,在資工系計中甚至資訊服務中心的工作站上也都有,大家可以試試看。

電路與電子學 – 交大修課心得

electronics

課程資料

電路與電子學

開課:林正中老師

修課年度:99資工系

教的內容有:

  • KVL and KCL
  • RL, RC, RLC and LC Circuits
  • Sinusoidal Steady States Analysis
  • Phasor Notation
  • Laplace Transform
  • Circuits Analysis in S-Domain, W-Domain, t-Domain
  • OPAMPs

上課主要的內容是從這本書出來的:《 Electric Circuits》 , 6th ed / Nilsson, James William。這本書圖書館有異常多本,除非大家突然都跑去借,否則每次去圖書館唸書時,直接從書架上拿下來就可以放心的看了。

我一開始還不知道所以自己買了一本,甚至還向浩然推薦了最新的第九版呢(差別就是色彩插圖鮮艷,讀起來心情好 (?)

老師最後教的 op-amp 雖然貌似 Electric Circuits 裡也有提到,不過可以看出形式上比較像是從下面這本書出來的:《 Microelectronic circuits》 / Adel S. Sedra, Kenneth C. Smith.

這本書本來我記得浩然好像有電子書的,不知道為什麼現在去查查不到,可能記錯了吧。雖然記錄上,這本也有很多本,不過多是已報銷、己遺失。還滿熱門的,要借要碰點運氣。

老師最後教的很快,有些觀念我也是看了這本書才清楚,雖然這學期只有考了這本書第二章的一部分,還是可以看一看。

雖然老師已經有很多東西來不及教了,感覺這一學期以來有很多東西還是沒讀透,要是有機會重來,我認為這科應該要事先預習才是。

後來這個老師比較少再開這堂課,且其他老師的上課風格非常不同,故本文僅是對過去做點紀錄。

上課方式

老師主要是寫黑板,然後大家抄筆記。一開始上課的進度其實不是很好抓,常常會在各章節跳來跳去的,一開始大家大概都還沒進入狀況吧。

老師說,他很不喜歡直接告訴同學那一章會考,那一章不會。老師會期待同學回去時自己要看課本。基本上老師不會點名,一次上兩堂課的時候中間不下課。

上課時如果回答問題,或者找到老師的錯有加分。一開始還有只要回答問題之後,可以不用考第一次試,自動計為全班最高呢!最後也有一回答就可以不用考最後三次試的,但最後改成計為自己考的最高的一次。

有時老師會出一些題目說如果寫 A4 紙交上來會有加分。有一次是說要寫 MATLAB 的使用心得,以後可以在學弟妹間流傳,成為傳說本來想要寫,卻忘了…

考試作業

這學期考了六次試,沒有其他作業,在課程網站上有以前的考古題。老師說以前考試不是在上課考,好像反應不太好,所以這學期就都是在上課時間考試,可能是因為這樣所以進度跟之前比起來少了很多。

雖然這堂課叫做電路與電子學,實際上幾乎只教了電路學。期末的最後兩次小考擠在同一個禮拜,進度蠻趕的。一學期考下來,可以發現:如果老師考了一次電路的話,通常會以同樣的題型再考一次二次電路。

書上的習題大多是有數字,老師的考題則是全部以未知數來表示,一開始可能會不太習慣。

結語

個人一直沒有抄筆記的習慣,一開始一直不太跟的上老師的上課方式。第一次考試時雖然只是勉強及格但是還沒有太大的警覺心,第二次考試考得非常的糟,才想到應該要好好的解決這個問題。

記得當初立下心願說要把剩下的小考全拿滿分(雖然沒有達到),還要自己自修微分方程(雖然結果只看了第一章),不過大體上還是有救上來。採用的方法就是多看課本,加上把之前考卷每次都重解一次。

某次上課時老師突然教了課本上比較之前的進度,也讓我意外的發現了比較適合自己的上課方法:有時老師上的頗快,跟不太上,就會變成只是抄筆記,而完全沒有思考。所以呢,在上課前最好先看過課本,事先讀過老師會教的部份(可惜由於無法掌握老師的進度,所以要做到這點,可能得大幅超越進度才行)。

再來,當上課老師開始解題時,最好跟著老師一起解,並且想辦法解的比老師快。如此一來,就可以輕易搶到一部分的加分題,而且寫題目也有助於提高專心程度。同時老師上課的題目也很可能是考題,事先練習應有幫助。

雖然一開始考的幾次試根本可以說就是在解微分方程,不過應該只是基礎的,課本裡也都有教。個人經驗,即使沒有修微分方程也應該不會有太大影響。

下課問老師問題時,老師都會熱心回答,記得有次因為出國的關係向老師請了兩個禮拜的假,老師一口就答應了,真的很感謝老師。

還記得倒數第二次考試的時候,考前和同學討論時才突然發現自己竟然沒有把前一張考卷重新寫過,考卷一發下來,發現果然是類似的題型。不知為何,那時的心情很煩躁,把該拿到的題目都寫完後,突然就沒有動力去解其他難題了。就這樣吧,我想。早早交了考卷,就回去讀別科了。或許吧,或許…當我有這種想法的瞬間,我就已經輸了呢._.

老師在考卷上都會寫一些打氣的話,記得有次上課回答問題,他也很誇獎我。感覺自己這樣很對不起老師 QAQ

題外話,因為這堂課,認識了很多上進用功的同學,覺得自己也有被激勵的感覺,一定要繼續努力加油 0.0/

計算機系統管理 – 交大修課心得

server-room

課程資料

計算機系統管理

開課:由多名助教上課

修課年度:99資工系

課程大概就是 FreeBSD 各種運用:安裝 FreeBSD編譯核心使用者管理怎麼架 FTP怎麼在 Windows 和 FreeBSD 間分享資料夾寫腳本過濾文字資料安裝網頁伺服器、架 blog、NFS 檔案系統分享,還有一些 OS 的基礎知識:Unix 檔案系統process 的概念、開機程序、硬體。

所有的講解檔都在課程網站上,而幾乎所有內容在 〈FreeBSD Handbook〉 上都有更詳盡的介紹。

評分方式

實際是由幾個助教上課,使用投影片上課,整堂課的重心其實是在作業上。正如課程網頁上的佔分比例暗示,是一門重實作的課:

  • Midterm: 15 ~ 20%
  • Final: 15 ~ 20%
  • Excercises + HWKs: 60 ~ 70%
  • Presentation and research strength: 0 ~ 10%

基本上是不會點名。

考試作業

考試的部分,有期中考和期末考,都是 open book,大家都把上課講義全印了出來,個人也印了好厚一疊,期末全變成計算紙。據說後來有改成可以攜帶電子檔案,不過筆者沒有特別確認。

期中考題大多是簡答題,期末的時候,考題竟都是選擇和填充,還有個佔分 100 的心得、意見呢!當時的期中考有很多都是從考古題出題,但困難度很高,期末考則幾乎是新的題目但十分簡易。無論紙筆考成績如何,似乎如果作業高分,期末成績也會很高分。

這學期的作業有 5 個,除了基本分外,幾乎每個作業都有額外加分,也就是說只要肯做,就有分數。

第一個作業是要安裝 FreeBSD 作業系統,並且編譯 kernel,然後再透過 ports 從原始碼安裝圖形介面的桌面環境。

這個作業實際上是最容易遇到問題,也花費最多時間的。可以想像為什麼要把這樣的作業放在期初,因為後期大概不會有那麼多的時間可以花在同一科上。可是或許也因為這樣,期中時嚇跑不少人吧…

第一個作業吃掉了我的許多週末,因為某個要求要使用實體機比較容易達成,所以我是直接灌在電腦上。雖然我在暑假時,就有透過 2009 年的課程網頁先預習過安裝 FreeBSD (那時我是安裝在虛擬機上),真正做時,還是遇到了意想不到的問題…(見最後的心得)

第一個作業交出去之後,我馬上用虛擬機(VirtualBox)再重灌了一個 FreeBSD,事後也證明這個作法是正確的。

第二個作業是架 FTP,還有用 samba 設定分享給 windows 的資料夾,還有神奇的 ZFS ,和自動監控資料夾幫你載 BT。這份作業要求大多要在網路上搜尋一陣,才能找到寫法。

第三個作業是 shell scripting:寫一個搜尋 Wikipedia 並擷取文章的腳本,還有分析 IP 登入資訊的腳本等等。

看完了講義之後,最主要的就是要熟悉 awk,這份網頁給我幫助很大: 〈Awk〉,接下來考驗的就是寫程式的能力了。

第四個作業主要就是架 blog 還有 HTTPS 的建置,大部分在 FreeBSD Handbook 上都有詳盡解釋,只要照做即可,小部份當然還是要 Google。

第五個作業是 NFS+NIS,就像資工系計中的工作站一樣,要在不同機器登入都共享同一個家目錄 (NFS),然後可以用一樣的帳號登入多台機器 (NIS)。

這份作業需要三台機器,是由1~3個人共同完成。這裡幾乎全部的步驟只要照 Handbook 和上課簡報即可完成,只是因為我和組員住在不同宿舍,要跨網段比較困難,最後實在趕不及,所以決定全部都放在一個網段裡才趕出來。

結語

這門課真的要花不少心思,由於會接觸到很多新指令,不太可能全部都記起來,一定要一直查他的 manual pages (man)

一開始編譯核心時,偶爾會遇到很奇怪的問題,非得使用搜尋引擎,才能在茫茫網海中撈出解法。作業有的要求是上課講義不會寫的,也是要使用 Google 才有答案,這大概就是為何配分中有個 research strength 吧。

以一位友人在版上問的問題為例,他的問題是,使用了 /etc/fstab 設定在開機時自動掛載 NTFS 格式的 Windows 硬碟,卻因為不明原因無法開機了。這問題一時之間也看不出解法,於是我就使用了 Google 來搜尋答案:(注意在中文版界面和英文版界面的搜尋結果可能會不一樣,此例中我想搜尋的是英文資料,故使用的是英文版本)

一開始我下的關鍵字是「freebsd fstab ntfs cannot boot」。雖然確實找到一些看似有用的訊息,但實際看過一遍,似乎都不是解答,於是我又試了「freebsd mount ntfs cannot boot」,再試了「freebsd ntfs fstab」

最後終於找到關鍵文章,在〈mount ntfs (windows) file system in /etc/fstab fails at boot〉文章中提到的,很可能就是問題所在。

雖然網路上已經有不少笑話文章來說明搜尋的重要性,像是〈為什麼一定要我幫你 Google?〉,不過說正經的,透過搜尋引擎,我們可以把整個網路資源納為己用,個人以為,搜尋能力,確實是很重要很核心的能力。若有心學習,這裡有篇使用 Google 的教學,或許會有幫助:Google Guide

我其實是哪種遇到問題會很堅持要找出解答的人,一開始作業1的時候,我遇到了非常奇怪的問題。為了解決這個問題,我用不同方法重灌系統兩三次、對記憶體做了詳細檢查,還另外用 Ubuntu 測試編譯核心,想盡各種方法,查遍網路資料,最後重割硬碟才終於解決。

想當年我還小的時候啊,曾經因為不能執行某個很有趣的小遊戲(小朋友其打交1),想說會不會是下載的來源有問題,就一直在網路上搜尋各種下載點,整整找了一整天,最後才終於承認是自己電腦的問題,或許那些幼稚的曾經也多少對我的搜尋能力有點小小幫助吧 orz。

雖然這門課的作業確實有點重,但也因為這些作業,使得 SA 比任何一門課都更能測試與磨練解決問題以及學習的能力。有心想修的同學可以透過課程網頁開始自行預習和做作業,相信一定會有不少收獲。

延伸閱讀

這本書是這堂課教科書的最新版,學期初就向浩然推薦這本書,最後終於進了。個人是沒有看完,覺得如果沒有特別接觸過 Unix/Linux 的話,把這本當故事書看過一遍或許可以稍微對 SA 這堂課有較大概的認知。

不過這本書在作業上或是考試都不是絕對必要的,個人經驗,它在期中考也不過是幫到我一題罷了。 * 《 Beginning Linux Programming》

這本書有一章提到 Shell Programming。我看了好多年,結果一直到修了 SA 才真正寫了 shell script,由此可知學分的驅策力還是有幫助的。 * 《 Learning the vi and Vim Editors》

雖然他和 SA 沒有直接相關,不過在操作 FreeBSD 的時候常常會使用 command line

這時一個好的文字編輯器常可以替你節省很多時間,個人喜歡使用 Vim,所以推薦這本書。 * 《 The Complete FreeBSD》

這本書滿舊的,但是它是我唯一找到內附大量 man pages 的書。期中期末 Open book 首選用書。(只可惜他舊到內容可能不符現狀的地步) * FreeBSD Handbook:非常非常重要,從第一份作業,甚至到最後的 Term Project,這裡幾乎都有細詳解說。 * Awk - A Tutorial and Introduction * HOWTO: Setup a Pure-FTPd server with virtual users * x11vnc: a VNC server for real X displays

計算機科學概論 – 交大修課心得

computer

課程資料

計算機科學概論(英語授課)

開課:胡毓志老師

修課年度:98資工系

使用的課本是 《Computer Science an Overview》,按照課本順序,中規中矩的上課。

最後的時候,老師跳過了很多章節,像 Software Engineering, Database(他說別的課會教),然後花了幾節課教人工智慧的部份(好像是他的專長?)。

評分方式

三次小考+期中期末考,考試內容大多都是課本內容,如果有把作業確實寫完,應該可以應付。

這學期有六次作業,都是課本習題,跟別班的各式 Projcet 比起來算是輕鬆很多。

最後的期末考總分很高,以至於有不少人學期原始成績超過100。老師還寄了一封信特地解釋要把分數調成 99。

不點名,所以可以不出席,不過一些作業之類的消息只有上課時會說。

老師不喜歡同學上課聊天,會停下來提醒說話的同學。還有作業不能遲交,超過期限就不收了。老師一開始會說一些規定,都是一定要遵守的(像是作業格式不對,也不能交,沒有商量餘地)。

結語

好像因為是英語授課不太有人選(真的就是完全英語授課),但是老師的英語還不錯,不會有口音怪怪的問題。這門課感覺非常的平穩,不會有意外的作業或者驚喜。

整個學期由固定的作業小考大考所貫穿,我每個禮拜都花固定的時間看課本,也沒有在期中期末特別準備,感覺上起來非常安心,最後的成績也相當不錯。

微積分 - 交大修課心得

calculator

課程資料

微積分(一)(二)

開課:王夏聲老師

修課年度:98

使用的課本是《Calculus: Early Transcendentals》

上課方式

寫板書,解同學問的問題。

評分方式

沒有期中/期末/習題/點名,不過有時老師會說哪些題目大家可以回去寫寫看。

有多次小考約6~7次(最低分的一次不算),小考不得補考(他說是為了避免影響算分模型的樣子?),評分比例為:全校大會考 30%、小考 70%。最後的學期成績會用一套超難的神祕公式換算,所以相對成績比絕對成績重要。

老師非常注重證明,考試會考很多證明。計算過程也很重要,就算答案錯了也可以拿到一定的分數。

雖然完全不點名,老師也說可以只考試就好(師:現在教室還滿擁擠的,不過接下來情況應該會好一點),不過老師會在上課時洩題… … (大概兩三題,除此之外很難猜題的)

結語

老師人很好,上課規則清楚,loading 可自己決定。我剛上微一的時候試圖把課本習題都全做完,結果失敗。上微二的時候就只寫寫微積分小組的共同習題而已。

修微一的時候我幾乎只有去考試,修微二的時候我大部分都有去,結果微(二)比微(一)高 5 分,不知是否有關聯。

老師上課跳很快,有些觀念可能講的不是很清楚,不可以放過,還是要自己把它搞懂(或者下課問老師)。老師對某部分微積分特別擅長,所以微二的某部分會教的比別班深(這是老師說的,我忘了哪部分了)。

話說大會考的時候我把微積分網站上的所有分類考古題都寫完了(花了我好多天!!!!!),結果還是輸我一個朋友好多分 QQ努力還不夠啊… … 考這麼難… …

不過算算習題還滿有成就感的,大家可以早一點開始算… …

物件導向與程式設計 - 交大修課心得

computer

課程資料

物件導向與程式設計

開課:黃問泙老師

修課年度:98資工系

這堂課的主要內容就是 C++, C++, 完全就是 C++。內容非常的細,也很深,像是:

對,一定要強調「細」這個字。原本通常被書放在最後面的 templates 被放到第一份講義啊!而且有些東西你翻一般的書還看不到呢,我覺得老師應該可以自己出書了。然後,這些很細的東西一定會出現在考試和作業裡

參考用課本有兩本,不過還是以講義為主,並不會直接上裡頭的內容:《C++ Primer》《C++ How to Program》

上課方式

主要是放自己的投影片講課,這學期上課沒有小考。除了上課以外,每週晚上還有一次上機課。在上機課時,每次會出一份作業,助教會先講解,然後就是自由寫作業時間。

然後在快下課時會開始 demo 上一次的作業(所以不能早走)

評分方式

7 次作業、一次期中、一次期末,還有個上機考。

作業的部份就是寫 C++ 程式,演算法幾乎都會給妳,主要是要自己寫 template 和 class,像是自己實做 list/vector/iterator 之類。

期中期末考的觀念大部分都在講義裡有,不過有幾題大概是上課才有講,一晃神考試時就寫不出來了。真的考很細,老師會給考古題,但感覺考得比考古題難。

上機考可以看老師的講義和作業解答的程式碼,而且考出來的內容都很類似,所以只要妳真的有用心寫完作業的話,有些部分只要複製貼上就好了。不過也考了一些要仔細思考才能解答的問題。因為沒有規定演算法,所以我是用暴力解(後來聽同學說正確解法才恍然大悟)。

老師會說一部分會考的題目(說會大概考什麼),作業和上機考有少許的 bonus。上課幾乎沒有點名,就算有也可以攔截的到(他會說等一下下課要點名),不過每次上機都要交作業,所以必須出席。

結語

我個人覺得,他的投影片寫的還算詳細,所以看投影片自學非常合適。不過他上課有點催眠(似乎不管你程度在哪裡這點都是不變的)。

上完這門課你真的可以學到非常多東西,不論你上課有沒有專心,我都建議要課後把他的投影片完全看懂,至少從頭到尾看過一遍,兩遍以上更好,絕對值得。

作業一定要自己寫完,如果在詢問同學/助教之後完成的話,要再從空白開始重打一次作業,這樣可以確認自己完全理解並且記住了,上機考時才不會一片空白。

人工智慧概論 - 交大修課心得

ai

課程資料

人工智慧概論

開課:王才沛老師

修課年度:100資工系

人工智慧,也就是研究如何用電腦實現智慧行為。整個課從 AI 的定義與歷史開始,像是知名的 Turing test,然後簡介一些 Intelligent agent 的基本架構。

接著處理以下課題:

接近期末時會以簡略的方式,快速帶過幾個課題,像是 Uncertainty、Learning 等等。因為老師對 Fuzzy Theorem 有特別的研究,所以最後也帶過一點 Fuzzy Logic (課本好像沒有)。

使用的課本是 《Artificial Intelligence: A Modern Approach》。這本課本雖然不難讀不過文字很多,而且很大一本,所以要讀完恐怕不容易。

AI 使用到的搜尋演算法如果在之前的演算法概論有些基礎的話應該會有幫助。

上課方式

老師是用投影片上課,自己覺得上課的風格比較隨興而非組織性的,老師很希望可以跟同學互動,所以有時會花不少時間找很多同學回答問題。老師也很希望有同學問他問題,像有一次我在課堂上和他討論了許久,他好像滿高興的。

不過如果寄 email 給老師的話,雖然據說老師都有在看,不過幾乎不會回信,所以若要問老師問題還是面對面比較好。

平常不點名,但好像有一次點名加分(其實我總覺得有兩次點名,不過最後成績只有一次)。

評分方式

成績的計算方式為:

  • 期中考+期末考 = 60% (較高分的35%, 較低分的25%)
  • 三次手寫作業 = 10% (取平均)
  • 程式 project 1: 1~8-puzzle = 12% (程式7%,報告5%)
  • 程式 project 2: Dala = 13% (程式競賽結果8%,報告5%)
  • 基本分 = 5%
  • 點名加分 = 2%
  • 調分方式:上述結果相加 = Total (所以最高可拿 105),然後經過公式運算,學期成績為 $latex {(\frac {Total}{100})}^{ \frac{2}{3}}\times100 $,超過 99 者以 99 計算。

老實說每項作業的佔分,還有像是其中報告和程式的佔分都很隨興,是依照同學表現而決定的,而點名感覺也是臨時起意。相信調分法也是最後才決定,原始成績大約47分就能及格。

值得注意的是兩次 projects 的程式和報告幾乎都拿不到滿分(不過第一次因為提早交會有加分,所以可以拿到),可能是因為老師認為永遠都有改進的空間。

考試作業

考試部份最重要的準備是寫老師出的 3 次手寫作業,題目有很高比例是從裡頭出來的,因為當時老師是第一次開課,所以也沒有考古題。課本方面因為文字敘述太多,有點不著邊際,所以在考前相對投資報酬率較小。期末考好像也會考部份期中考的範圍,不過題目不多。

基本上考試不會有意料之外的難題,所以只要有讀就能拿到一定分數,只是有些部份有點繁瑣,可能會有粗心被扣分。

3次手寫作業主要就是寫跟課本習題或範例類似的題型,主要是老師自己出的。

Project 1 是寫一個 1-puzzle ~ 8-puzzle 的解題程式,並比較分析 A* searchIterative deepening depth-first search 等不同演算法的優劣。

8-puzzle 是一個 9x9 方格,上面有 8 個標號為 1~8 數字的方塊和一個空格,要移動方塊直至順序呈 1~8 排列,可參考 15-puzzle 的介紹

1~7-puzzle 則是題目定義的變體,同樣是 9x9 方格,只是上面的方塊分別只有 1~7 塊,故是比較簡單的版本。對這部份的分析有興趣的話可以參考我的報告:〈1~8 Puzzles〉

Project 2 分為1~3人一組,寫一個 AI 去下類似 Dala 的棋,然後讓全班寫的AI互相對戰,依據比賽成績給予程式分數。

這次 project 我花了相當多的心力去完成,尤其一開始私下跟同學對戰的成績並不理想,所以我後來寫了個程式可以自動產生不同參數的子代 AI,然後再互相對戰不斷選出最好的子代,花了我不少時間,詳細的作法可以參考我的報告:〈The Dala Game〉

兩次 projects 的程式碼我都有放在 github 上,可供參考:100-ai

其實我本來想根據 project 2,寫一個簡易的 server 程式供後人繼續把玩這個 AI 遊戲的,不過一直沒有完成。

結語

說真的感覺這堂課普遍的反應其實沒有很好,不過或許是因為第一次開課所以還需要一點時間調整。成績方面因為有神秘調分所以不會太差。程式專題的部份,雖然要真正做好可能得花不少時間,不過即使只做基本要求也能拿到一定分數。

原本學期初程式 projects 的佔分是 50%,後來變成只有 25%,其實讓我有點失望,畢竟我花了不少心力去實做。不過整體來說寫這些程式雖然辛苦,但也滿有趣的。

雖然課本有點難看完,不過其實很有趣,畢竟用電腦創造智慧本來就是個有趣的議題。不禁會想未來到底能發展到何種地步呢?

憲法與政府體制 – 交大修課心得

book

課程資料

憲法與政府體制

開課:蘇子喬老師

修課年度:100通識

整個課程從憲法基本概念開始,然後進入總統職權以及各院體制,包含行政院、立法院、司法院、考試院、監察院。最後再以地方政府制度作為結尾。

上課方式

老師有編一份自己的講義,會讓同學去影印室買,上課就是用這份講義配合黑板講解。老師寫的板書建議要做筆記,考試時也可能會考。我自己感覺老師上課講解滿清楚,而且語調清晰,讓人能專心聽講。

老師偶爾會講一些政治上的時事或者歷史,有些有趣的故事真的是上了這堂課才知道。講義裡會穿插許多大法官解釋,每個解釋的背後總有特別的時空背景。

一開始老師有指定「圖解憲法」作為指定讀物,不過最後似乎完全沒有用上。

評分方式

當時的考試有一次期中和一次期末考,非常的中規中矩,都是在考試周考,不會提前或延後。考試內容可以說是有背有分,由於會考一些瑣碎的規定,所以真的要用心讀才能高分。

題目內容主要分為選擇以及簡答題,簡答題的部份也都是記憶性問題,不會有申論的題目。考起來就像以前上公民課的感覺。

據說以前常常點名,不過這學期完全不點名。但老師不喜歡同學上課睡覺,認為如果來了就應好好聽講,否則不如在家好好休息。

結語

對筆者而言,這門算是修過的眾多通識課中最能專心與學到最多的課之一,老師講解功力確實一流。也因為這堂課讓我對政治的議題開始關心了起來。

整堂課上起來感覺非常的中規中矩,負擔也不重,只要上課專心,在考試前有好好讀,成績都不會太差。

筆者的期中考只錯了一題,但可惜在期末時得了重感冒,沒有好好把握好期末考,感覺似乎有很多沒背到。無法得知期末考成績,最後的學期成績是 93。

老師人感覺很好,下課時常有同學問老師問題,老師總是很樂意回答。上課時也總是能聽到一些小趣聞。

比如說吧,據說以前有人曾經申請釋憲,認為立法院應該有調查權。於是大法官作成了第325號解釋,認為立法院只有文件調閱權,調查權仍由監察院所擁有。數年以後,因為某些原因又有人申請釋憲,認為立法院成立的某個機構違憲。於是大法官作成了第585號解釋,認為立法院確有調查權,然該機構權力過大,多數條文皆數違憲。

為什麼之前說沒有調查權,現在又說有呢?在解釋文中並無指出,故產生爭議。部份學者認為,因為在這些年中,立法院得到了彈劾權(提出總統彈劾案),而彈劾權一般即附帶了調查權。

不過有趣的地方在於,這件事情之後,在預算案審理中,立法院將大法官的薪水刪減 (看起來像是報復行為?),然後大法官又作成了第601號解釋認為立法院刪除大法官薪水的行為違憲

這種有趣的互動之前也有過,第五次修憲時,國民大會修改自己任期,將任期延長,引發爭議。於是大法官作成了第499號解釋,認為該次修憲違反修憲界線所以無效。國民大會於是趕緊在任期結束前再次修憲,將國民大會改成「任務型國大」,但也順便刪除了非法官出身的大法官的終身待遇

養生太極 – 交大修課心得

Yang_cheng_fu_single_whip_application

課程資料

養生太極

開課:徐卉宣老師

修課年度:99體育

這門體育課主要是練習陳式太極32式、羅漢功,此外還練習了搖腰、肢體柔軟度訓練:如抬腿等,當然一般太極的推手等等也稍有著墨。一開始老師也對於太極的源流做了介紹。

一個令我印象深刻的練習是聽勁練習。在此練習中,以兩人為一組,雙方各伸出一手搭住,一方閉上眼睛,另一方用另一隻手試圖碰觸對方的肢體。閉上眼睛的那方透過搭住手的感應測得對方的手從何而來,進而抵擋。

上課方式

上學期主要是教陳式太極前十式,還有一些放鬆方法、雲手等等。每次上課大多新增一兩招,然後配合之前教的不斷練習,自己覺得步調相當不錯。

上課後期採分組練習,效果不錯,本來班上幾乎都是不認識的人,分組後至少組裡同學變熟了一些,同時也可以照自己進度重複練習不會的部份。

老師常說,養生太極是養生為主,初學則先學放鬆,如果有些動作不太好做,可以用比較適合自己的方式就好,不要失去了放鬆。所以通常一上課會先做搖腰還有柔軟度訓練,接下來才正式開始教課。

下學期教了陳式太極後二十二式,還有羅漢功。由於有些是老同學了,老師也會找人到前面帶大家練習。

老師會把招式動作影片放上臉書,是課後練習的好幫手。

評分方式

每次期中都有一次書面報告,要寫上太極的心得。除此之外,上學期期中還有一個操作考,是自選和抽考演練太極各一式,期末則是一組一起演練十式。有的小組還配合音樂或者排練了互相配合的動作,十分用心。下學期期中的操作考是演練羅漢功,期末則是太極後二十二式。

上課通常會點名,不知為何下學期人有時來的比較晚,所以曾經有早點來會加分的情形。下學期有很多新同學,沒有學過前十式。老師還是會帶一下之前教的,但不會特地教和考。

結語

其實從很久以前就對太極懷抱著憧憬,覺得太極是個奧妙的學問。看到選課表出現太極的字眼時,很快就把它列為優先項目,能選上這門課真的太好了,終於真正有機會接觸太極。

課後練習讓我傷腦筋了一陣子,感覺在外頭打太極好害羞,很難克服心理障礙啊。在寢室的空間狹小,勉強可以練一下。只是室友笑的好誇張,害我都有點害羞了,真不知道到底哪裡那麼好笑。練著一遍又一遍,卻常常覺得無法掌握呼吸和動作的配合。

每次打好一個困難的動作時總是好開心,有種得意的成就感。若能開心的一直打下去,或許就能體會專注自適的感覺吧。

曾經在某些早晨一個人跑到人跡罕至之處快速的練個幾回,感覺小有幫助。不過總覺若能培養不過分在乎他人眼光的心或許才是正道。

不知何時能像打太極般氣定神閒的,自在自適的生活著。太極養生,養生太極。常常對一些事情太過執著,這樣的執著往往牽制著自己。若能放開執著心,是否就能更加自在呢?有時候想著想著,就想了好久好久,卻找不到一個滿意的解答。

下學期一口氣教了剩下的22式,再加上羅漢功,感覺比較難跟得上進度,也許是因為動作變難了吧,也或許是因為不像以前每次只增加一兩式,所以記憶有些混亂,很多動作都是匆匆帶過,也是因為這學期課後比較少練習的緣故吧。

聽勁練習真的很令我好奇,雖然這個練習我一直做不好,不過我的搭檔擋住我的機率倒是蠻高的啊。透過肢體感覺對方的意圖,想必是實戰重要的一環。不過我們只是養生罷了,大體上其實沒有太大負擔,就輕鬆的打太極就好囉。我的期末分數大約是 87 分左右。