The goal of this course is to acquaint the students with basic computer algorithms and their design principles and to cultivate the students' ability in designing and analyzing algorithms independently. ===== Announcements ===== * 2019/1/13 * Grading report from HW#1 to HW#9. PLEASE check if your report is submitted and graded. Inform TA if there is any problem before 1/18. {{ ::grade_report_check_20190113.pdf |grading_check}} * 12/24 * Due date of HW#10 is updated to 2019/1/4 11:59PM. * Slides from TA sessions: {{ ::2018_hw7_ta.pdf |HW#7}}{{ ::hw8-lab.pdf |HW#8}}{{ ::2018_hw9_ta.pdf |HW#9}}{{ ::2018_hw9_ta_BC.pdf |HW#9-1}}{{ ::2018_hw9_ta_SCC.pdf |HW#9-2}} * 12/17 * {{::hw10.pdf |HW#10}} due on 2019/1/4 11:59PM. (due date updated) * A TA session is scheduled on 12/24 (between 1:20PM-2:10PM) * 12/03 * {{::hw9.pdf |HW#9}} due on 12/10. * 11/26 * {{::hw8.pdf |HW#8}} due on 12/3. * 11/19: * Slides from laboratory: {{::basic_graph_algorithm_lab.pdf | Slides}} * {{::hw7.pdf |HW#7}} due on 11/26. * 11/02: * Slides from TA sessions: {{ ::2018_hw5_ta.pdf |HW#5}} * (String Processing) Fix a bug in slide #18, fix a typo in slide #24, and add more description to slide #26 * 10/30: Slides from TA sessions: {{ ::2018_hw3_ta.pdf |HW#3}}, {{ ::2018_hw4_ta.pdf |HW#4}} * 10/29: {{ ::hw6.pdf |HW#6}} due on 11/19. * 10/25: (Searching and Sorting) Fix a typo in slide #38, update slide #50, and add one more slide after slide #51 * 10/22: * {{ ::hw5.pdf |HW#5}} due on 10/29. * A TA session is scheduled on 10/29 (between 1:20PM-2:10PM) * 10/16: * Slides from TA sessions: {{ ::2018_hw2_ta.pdf |HW#2}} * Fix errors in HW#4. * 10/15: {{ ::hw4.pdf |HW#4}} due on 10/22. * 10/08: * {{ ::hw3.pdf |HW#3}} due on 10/15. * A TA session is scheduled on 10/15 (between 1:20PM-2:10PM) * 10/04: Fixed some typos in the slides for Analysis of Algorithms * 10/02: Slides from TA sessions: {{ ::2018_hw1_ta.pptx |HW#1}} * 10/01: {{ ::hw2.pdf |HW#2}} due on 10/8. * 09/19: A TA session is scheduled on 10/01 (between 1:20PM-2:10PM) * 09/17: {{ ::hw1.pdf |HW#1}} due on 09/25. ===== Instructors ===== Yu-Fang Chen (陳郁方) \\ Institute of Information Science, Academia Sinica \\ 02-27883799 ext 1514 \\ Xyfc@iis.sinica.edu.twX (between the enclosing pair of X's) \\ \\ Ming-Hsien Tsai (蔡明憲) \\ Institute of Information Science, Academia Sinica \\ 02-27883799 ext 2411 \\ Xmhtsai208@gmail.comX (between the enclosing pair of X's) ===== Lectures ===== Monday 2:20-5:20PM, Room 103, Building I, College of Management ===== Office Hours ===== By appointment ===== TAs ===== 陳昀靖, Xr06725004@ntu.edu.twX (between the enclosing pair of X's) \\ 賴冠廷, Xr06725007@ntu.edu.twX (between the enclosing pair of X's) ===== Textbooks ===== * [M] Introduction to Algorithms - A Creative Approach, U. Manber, Addison-Wesley, 1989 * [C] Introduction to Algorithms, Third Edition, T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, MIT Press, 2009 ===== Syllabus/Schedule ===== * Introduction [M: Ch. 1; C: Ch. 1,2] (09/10) [{{ ::01_introduction.pdf |slides}}] * Mathematical Induction [M: Ch. 2; C: Ch. 4] (09/10,09/17) [{{ ::02_mathematical_induction.pdf |slides}}] * Analysis of Algorithms [M: Ch. 3; C: Ch. 2,3,4] (10/01) [{{ ::03_analysis_of_algorithms.pdf |slides}}] * Design by Induction [M: Ch. 5] (10/08) [{{ ::04_design_by_induction.pdf |slides}}] * Data Structures: A Supplement [M: Ch. 4; C: Ch. 6,13,21] (10/15) [{{ ::05_data_structures.pdf |slides}}] * Searching and Sorting [M: Ch. 6; C: Ch. 6,7,8,9] (10/15,10/22) [{{ ::06_searching_and_sorting.pdf |slides}}] * String Processing [M: Ch. 6; C: Ch. 32] [{{ ::07_string_processing.pdf |slides}}] (10/29) * Midterm (11/05) * Graph Algorithms: Basic [M: Ch. 7; C: Ch. 22,23,24,25,26] (11/12, 11/19) [{{ :basic_graph_algorithms.pdf |slides}}] * Graph Algorithms: Advanced [M: Ch. 7; C: Ch. 22,23,24,25,26](11/26, 12/3) [{{ :advanced_graph_algorithms.pdf |slides}}] * Dynamic Programming [C: Ch.15] (12/10) [{{ :dynamic_programming.pdf |slides}}](updated) * Reduction [M: Ch. 10; C: Ch. 29] (12/17) [{{ :reduction.pdf |slides}}] * NP-Completeness [M: Ch. 11; C: Ch. 34] (12/24) [{{ :slo-np-completeness.pdf |slides}}] * Final (1/7) ===== Grading ===== Homework 20%, Participation 10%, Midterm 35%, Final 35%