[CSIE 2136](02) Algorithm Desig n and Analysis

20  Download (0)

Full text

(1)

Algorithm Desig n and Analysis

Prof. Michael Tsai Fall 2013

(updated 09/12/2013)

(2)

演算法設計與分析

這堂課上什麼 ?

接續上學期的”資料結構與演算法”後 ,

本學期的課題 :

1. 設計演算法的一些原則 / 方法 / 效能分析

2. 軟體設計世界 ( 業界 ) 中的一些經驗談 ( 聽別人的經驗 談 ) – 非專業版

專業版請上李允中老師的軟體工程課程

本課程很有可能是您大學最後一門跟”程式設計”直接相 關的課程

目標 : 在真實世界中 ,

知道怎麼 設計 / 寫 / 教別人 寫 好程式

(3)

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

(4)

課程大綱

軟體工程方面 : (1/3)

Manage your development schedule

The software company game

Functional specifications

Paper prototyping

( 還有…看狀況 )

要記得我第一堂課就有講課程 大綱囉 , 期末的時候填課程意 見問卷的時候不要再說我沒有

先講了 . T_T

(5)

上課地點與時間

教室 : 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

看大家的”想睡程度”決定下課時間

(6)

呂學一老師的同一門課程…

呂老師是演算法專業又得過教學傑出獎的教授 !

在人數上許可的範圍內,歡迎單雙班的同學自由轉班

本班預設上限 : 95 人

授課內容及範圍大致相同

演算法設計與分析的部分大致相同

本班不教基礎圖論 (Graph) 的部分 / 呂學一老師有教

補充的軟體工程部分

本班的程式實作部分可能略重,請自行考量

本班的授課教師上課愛耍寶耍冷搞笑、喜歡找同學回答 問題,請自行考量

喔不 !

冷 !

(7)

加簽原則

預設本班人數上限 95 人

本系優先

1.

大二雙班或單班修過我的 DSA

2.

研究所應修

3.

> 大二單班 > 大四 > 大三 > 大一

外系

1.

上學期修過我的 DSA>

2.

電機資訊學院 >

3.

其他外系同學

今天先登記 ( 姓名 , 系級 , 學號及 E-mail), 待名單確定後 寄送授權碼或拒絕鼓勵信

可能會用 HW0 來做篩選 ( 要寫出 hw0 才有修課資格 )

(8)

重要日期

10/31, 12/12, 12/19: 老師出國

解決方案 ( 決定之後會跟各位確認 ):

Option 1: 助教群於當周輪番上陣上課

Option 2: 尋找另外時間補課 如國慶日開直播 ??

11/7: 期中考 ( 於學校期中考周 )

12/5: Software Company Game 報告

1/9: 期末考 ( 於學校期末考周 )

(9)

課本 ( 需要買 / 可能已經買了 )

Introduction to Algorithms, 3

rd

edition, 2009, M IT Press

by Cormen, Leiserson, Rivest, and Stein

*借用呂學一老師 2010 Fall 投影片中的 圖片

(10)

參考資料 ( 不需要買 , 線上有 )

 “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

(11)

課程特色

“ 上課簡單、作業難”

“ 動畫為主”的上課解說

80% 以上的同學可以了解 80% 以上上課的東西

大量的時間花在作業上

六位神級助教 ( 都比我強 )

謎之說明 : 卷卷 + 嗆我 + 前 DSA 助教 + 前 DSA/ADA A+ 助教

上課你沒有弄懂 , 我不會放棄的

你沒聽懂 , 我就再講一次

你有問題 ( 沒有笨問題 ), 我就回答你 ( 如果我會的話 )

當我問有沒有聽懂的時候 , 請理我一下 Q_Q

http://zonble.net/archives/2013_07/1511.php

(12)

改變

Some English Lectures…. maybe…

(to improve my own English fluency)

上課步調加快 / 作業變得更難 - 大二進階課程

使用點名機點人回答 ( 拉霸 )

課程內容中更多的證明 ( 會試著用動畫解釋 )

批改娘重現江湖

(13)

成績計算方式

1.

6 次作業 , 占 36%,

最佳的一次加重 50%, 最差的一次減重 50%

Sum(HW1-6)+Max(HW1-6)*.5-Min(HW1-6)*.5

2.

上課 Quiz 6% ( 不一定什麼時候會考 )

3.

Software Company Game (team project) 12%

4.

期中考 20% ( 涵蓋期中考前課程內容 )

5.

期末考 or final project 26% ( 涵蓋全課程內容 )

細節 :

期末成績加總後之原始分數不會調整

等第之對應由老師與助教於學期末決定

根據經驗 , 只要作業都有交 , 考試考卷每題都有寫不放棄 , 就很 難被當

(14)

作業

分程式作業 + 手寫作業

程式作業 : 每次 1 題

 使用劉邦鋒老師的批改娘系統

 網址 : http://katrina.csie.ntu.edu.tw/judgegirl/

 Source Code 和上學期一樣 , 使用 Subversion 繳交

 記住 , 批改娘只能幫你”用部分答案檢查你的程式對不對”

 自己思考怎麼產生測試資料也是作業的一部分 

手寫作業 : 每次 3-4 題

 用手寫的方法做演算法的證明與分析

 或者用手寫的方式設計演算法

作業繳交期限皆為星期四下午 2 點

(15)

作業

 鼓勵討論

 每一題都請註明參考的資料 / 討論的同學

例 1: 本題參考 wikipedia 上面的 Divide-and-Conquer 網頁 ( 網 址 ...)

例 2: 本題跟許伯駒討論過

例 3: 本題參考課本第 xxx 頁

 絕對不能照抄 等同於抄襲

( 請了解之後 , 用自己的話寫 / 自己撰寫程式碼 )

禁止把別人的答案放在前面參考,同時一面寫自己的作業

 抓到抄襲的 , 本課程成績為 F ( 當掉 )

(16)

作業 : 期限 & 遲交 & 折扣

用手寫的作業無法遲交 ( 上課前必須繳交 )

用 svn 繳交的作業 : ( 包含程式作業和手寫部 分 )

可以把手寫部分掃描成電子檔 (pdf), 即可遲交

有一天的遲交緩衝期

分數 : 以秒計打折扣 . 例如慢 3 小時交 , 則只能 得 1-3600*3/86400=87.5% 的分數

詳細規則會出現在每次作業的最前面

請注意檔名 !

(17)

Zero-tolerance 政策 : 抄襲

作業抄襲 ( 程式或手寫 ) = 本學期成績為

F

( 不是只有該次 0 分 )

考試作弊 = 本學期成績為

F

以上均無第二次機會

請注意 !

抄襲 / 作弊 以校規論處 .

注意 : 上學期有 >5 人抄襲被處理 .

(18)

教學團隊

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

(19)

通訊

課程網頁 : 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

(20)

記得要做的事情

CEIBA 上的 e-mail 確定收 得到 ( 可以加其他 e-mai l)

課本趕快買 ( 拿 ) 到 ( 大 部分人應該拿到了 )

每天睡飽 (not in the cl ass), 迎接本學期的挑戰

加選訊息會在 FB + CEIBA e-mail 公布

若有 hw0 會在周末公布

Figure

Updating...

References

Related subjects :