Algorithm Design 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:10
看大家的”想睡程度”決定下課時間呂學一老師的同一門課程…
呂老師是演算法專業又得過教學傑出獎的教授!
在人數上許可的範圍內,歡迎單雙班的同學自由轉班
本班預設上限: 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, MIT Press by 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 or 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, Whether 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/courses/ada_13fall
[Office hours] 請多加利用.
[學生老師/助教]
課程相關的所有問題, 請
1.
寄e-mail給 ada@csie.ntu.edu.tw2.
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_f94941b862 17da3644d75efd4ccb9373_foey70.jpg