Algorithm Desig n and Analysis
Prof. Michael Tsai Fall 2013
(updated 09/12/2013)
演算法設計與分析
這堂課上什麼 ?
接續上學期的”資料結構與演算法”後 ,
本學期的課題 :
1. 設計演算法的一些原則 / 方法 / 效能分析
2. 軟體設計世界 ( 業界 ) 中的一些經驗談 ( 聽別人的經驗 談 ) – 非專業版專業版請上李允中老師的軟體工程課程
本課程很有可能是您大學最後一門跟”程式設計”直接相 關的課程目標 : 在真實世界中 ,
知道怎麼 設計 / 寫 / 教別人 寫 好程式
Algorithm Design Strategy
Algorithm Analysis
Specific Algorithm Design
課程大綱
演算法方面 : (2/3)
Divide-and-Conquer
Dynamic Programming
Greedy Algorithms
Amortized Analysis
NP-Completeness
Multi-threaded Algorithms
Advanced Graph Algorithms
Other Advanced Topics課程大綱
軟體工程方面 : (1/3)
Manage your development schedule
The software company game
Functional specifications
Paper prototyping
( 還有…看狀況 )要記得我第一堂課就有講課程 大綱囉 , 期末的時候填課程意 見問卷的時候不要再說我沒有
先講了 . T_T
上課地點與時間
教室 : CSIE Building R102
時間 : 每週四 , 6, 7, 8 節
第二節 14:20-15:10
第三節 15:30-16:20
第四節 16:30-17:20 實際的上課時間 :
大約為 14:20-15:10, 15:20-16:10, 16:20-17:1 0
看大家的”想睡程度”決定下課時間呂學一老師的同一門課程…
呂老師是演算法專業又得過教學傑出獎的教授 !
在人數上許可的範圍內,歡迎單雙班的同學自由轉班
本班預設上限 : 95 人
授課內容及範圍大致相同
演算法設計與分析的部分大致相同
本班不教基礎圖論 (Graph) 的部分 / 呂學一老師有教
補充的軟體工程部分
本班的程式實作部分可能略重,請自行考量
本班的授課教師上課愛耍寶耍冷搞笑、喜歡找同學回答 問題,請自行考量喔不 !
冷 !
加簽原則
預設本班人數上限 95 人
本系優先1.
大二雙班或單班修過我的 DSA2.
研究所應修3.
> 大二單班 > 大四 > 大三 > 大一
外系1.
上學期修過我的 DSA>2.
電機資訊學院 >3.
其他外系同學
今天先登記 ( 姓名 , 系級 , 學號及 E-mail), 待名單確定後 寄送授權碼或拒絕鼓勵信
可能會用 HW0 來做篩選 ( 要寫出 hw0 才有修課資格 )重要日期
10/31, 12/12, 12/19: 老師出國
解決方案 ( 決定之後會跟各位確認 ):
Option 1: 助教群於當周輪番上陣上課
Option 2: 尋找另外時間補課 如國慶日開直播 ??
11/7: 期中考 ( 於學校期中考周 )
12/5: Software Company Game 報告
1/9: 期末考 ( 於學校期末考周 )課本 ( 需要買 / 可能已經買了 )
Introduction to Algorithms, 3
rd
edition, 2009, M IT Pressby Cormen, Leiserson, Rivest, and Stein
*借用呂學一老師 2010 Fall 投影片中的 圖片
參考資料 ( 不需要買 , 線上有 )
“Joel on Software:
And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune o r Ill Luck, Work with Them in Some Capacity” ( 勒勒長的書名 ) “More Joel on Software
: Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whethe r by Good Fortune or Ill Luck, Work with Them in Some Capacity” ( 勒勒長 again) by Joel Spolsky, 2004 & 2008, Apress
課程特色
“ 上課簡單、作業難”
“ 動畫為主”的上課解說
80% 以上的同學可以了解 80% 以上上課的東西
大量的時間花在作業上
六位神級助教 ( 都比我強 )
謎之說明 : 卷卷 + 嗆我 + 前 DSA 助教 + 前 DSA/ADA A+ 助教
上課你沒有弄懂 , 我不會放棄的
你沒聽懂 , 我就再講一次
你有問題 ( 沒有笨問題 ), 我就回答你 ( 如果我會的話 )
當我問有沒有聽懂的時候 , 請理我一下 Q_Qhttp://zonble.net/archives/2013_07/1511.php
改變
Some English Lectures…. maybe…(to improve my own English fluency)
上課步調加快 / 作業變得更難 - 大二進階課程
使用點名機點人回答 ( 拉霸 )
課程內容中更多的證明 ( 會試著用動畫解釋 )
批改娘重現江湖成績計算方式
1.
6 次作業 , 占 36%,
最佳的一次加重 50%, 最差的一次減重 50%
Sum(HW1-6)+Max(HW1-6)*.5-Min(HW1-6)*.52.
上課 Quiz 6% ( 不一定什麼時候會考 )3.
Software Company Game (team project) 12%4.
期中考 20% ( 涵蓋期中考前課程內容 )5.
期末考 or final project 26% ( 涵蓋全課程內容 )
細節 :
期末成績加總後之原始分數不會調整
等第之對應由老師與助教於學期末決定
根據經驗 , 只要作業都有交 , 考試考卷每題都有寫不放棄 , 就很 難被當作業
分程式作業 + 手寫作業
程式作業 : 每次 1 題 使用劉邦鋒老師的批改娘系統
網址 : http://katrina.csie.ntu.edu.tw/judgegirl/
Source Code 和上學期一樣 , 使用 Subversion 繳交
記住 , 批改娘只能幫你”用部分答案檢查你的程式對不對”
自己思考怎麼產生測試資料也是作業的一部分
手寫作業 : 每次 3-4 題 用手寫的方法做演算法的證明與分析
或者用手寫的方式設計演算法
作業繳交期限皆為星期四下午 2 點
作業
鼓勵討論
每一題都請註明參考的資料 / 討論的同學
例 1: 本題參考 wikipedia 上面的 Divide-and-Conquer 網頁 ( 網 址 ...)
例 2: 本題跟許伯駒討論過
例 3: 本題參考課本第 xxx 頁 絕對不能照抄 等同於抄襲
( 請了解之後 , 用自己的話寫 / 自己撰寫程式碼 )
禁止把別人的答案放在前面參考,同時一面寫自己的作業 抓到抄襲的 , 本課程成績為 F ( 當掉 )
作業 : 期限 & 遲交 & 折扣
用手寫的作業無法遲交 ( 上課前必須繳交 )
用 svn 繳交的作業 : ( 包含程式作業和手寫部 分 )
可以把手寫部分掃描成電子檔 (pdf), 即可遲交
有一天的遲交緩衝期
分數 : 以秒計打折扣 . 例如慢 3 小時交 , 則只能 得 1-3600*3/86400=87.5% 的分數
詳細規則會出現在每次作業的最前面
請注意檔名 !Zero-tolerance 政策 : 抄襲
作業抄襲 ( 程式或手寫 ) = 本學期成績為F
( 不是只有該次 0 分 )
考試作弊 = 本學期成績為F
以上均無第二次機會請注意 !
抄襲 / 作弊 以校規論處 .
注意 : 上學期有 >5 人抄襲被處理 .教學團隊
Name Where (Office
Hour) Office Hour
蔡欣穆 (Michael) R316 TBD
蔡政澔 R528 13:00-14:00, Fridays
張庭維 ( 拉球 ) R217 13:00~14:00,
Wednesdays
周儒成 R217 13:00~14:00,
Wednesdays 張雅涵 (Jennya) R217 13:00~14:00,
Thursdays
李廣和 地下室圓柱台 16:30-17:20,
Tuesdays
朱鴻敏 地下室圓柱台 16:30-17:20,
Tuesdays
E-mail:
ada@csie.ntu.edu.tw
通訊
課程網頁 : http://www.csie.ntu.edu.tw/~hsinmu/cour ses/ada_13fall
[Office hours] 請多加利用 .
[ 學生老師 / 助教 ]課程相關的所有問題 , 請
1.
寄 e-mail 給ada@csie.ntu.edu.tw
2.
FB Group: http://www.facebook.com/groups/335809569795582/
3.
請來我們的 Office hour 發問
[ 老師 / 助教學生 ]
[ 主要 ] 會寄 e-mail 到 CEIBA 上登記的 e-mail 信箱 ( 大部分人是學校 e-mail, 不是系上信箱 , 請注意 !)
[ 主要 ] 會請助教發在 FB Group 上http://photo.hanyu.iciba.com/upload/encyclopedia_2/f9/49/s_bk _f94941b86217da3644d75efd4ccb9373_foey70.jpg