CS5206: Overview CS5206: Fundamentals in Algorithms Course Objectives: Covers fundamental algorithms for graduate students Learn to design and code efficient algorithms Learn techniques for analyzing efficient algorithms Target Students: Beginning graduate students Advanced undergraduate (4th year) students Those aiming to do research in algorithm design Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.1 Copyright © 2008 by Leong Hon Wai CS5206: Overview…(2) Pre-requisite: CS3230 Analysis of Algorithms Programming Skills Or Consent of Instructor TextBook: [KT06] Algorithm Design, by Kleinberg & Tardos by Addison-Wesley, 2006. Reference Material: [CLRS01] Introduction to Algorithms, (2nd edition) by Cormen, Leiserson, Rivest, Stein, 2001. (Material may also come from [Tarj83], etc) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.2 Copyright © 2008 by Leong Hon Wai CS5206: Fall 09 Instructor: Leong Hon Wai, COM1 03-41 http://www.comp.nus.edu.sg/~leonghw/ Course webpage http://www.comp.nus.edu.sg/~CS5206/2009/ Course Emphasis: • Rigorous treatment of algorithm design and analysis • Challenging Homework sets • Using LEDA (Lib of Advanced DS and Algorithms ) in Research and Development Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.3 Copyright © 2008 by Leong Hon Wai CS5206: Fall 2009… (2) Course Grading: 30% Homeworks 30% Project (including LEDA assignments) 40% Final Exam (OPEN BOOK) Homework: (30%) About 4-5 sets (about 1 every 2-3 weeks) Very important part of the course Project: (30%) LEDA programming assignments Algorithm Design and Programming Project Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.4 Copyright © 2008 by Leong Hon Wai CS5206: Topics (Tentative) BASICS: Mathematics for Analysis of Algorithms (Master Theorem) Randomized Quicksort Greedy Algorithms, Dynamic Programming DATA STRUCTURES Heaps and Fast Graph Algorithms Amortized Analysis and Binomial Heaps, Fibonacci Heaps LEDA: Library of Efficient Data Structures and Algorithms ALGORITHMS Network Flow Problems: Algorithms and Applications (Matching) Graph Partitioning and Clustering NP-COMPLETENESS NP-completeness: Cook's Theorem, Reduction Approximation Algorithms Local Search Methods Student Presentations: Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.5 Copyright © 2008 by Leong Hon Wai About CS5206 Homeworks RSA Problem Routine Problems -- easy practice problems Standard Problems -- to be submitted for grading Advanced Problems -- for challenge, fun Your Homework Answers: Concise & Precise Answers Appropriate Level of Detail (see samples) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.6 Copyright © 2008 by Leong Hon Wai About CS5206 Homeworks – (2) Academic Policy (on Plagiarism) Do your work YOURSELF If you are REALLY stuck, Approach instructor for help Discuss general approaches with fellow students Write down names of collaborators Do NOT copy/compare answers! Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.7 Copyright © 2008 by Leong Hon Wai CS5206: Is this right for You? I ASSUME knowledge of Data Structures; Good Programming skills; AND CS3230 Analysis of Algorithms; If you have NOT done CS3230 or equiv.: Take CS3230 instead! This is NOT a course to learn algorithms! We assume you ALREADY KNOW algorithms TAKE CS3230 instead! Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.8 Copyright © 2008 by Leong Hon Wai Backgrounds assumed (by topics) Data Structures (with analyses) Stacks, Queues, Lists, Binary search trees, balanced trees, Heaps and priority queues Algorithm Design Paradigms (with Analysis) Standard sorting and searching algorithms Graph algorithms: DFS, BFS, Shortest Path Algorithms, MST Algorithms Greedy Algorithms, Divide-and-Conquer Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.9 Copyright © 2008 by Leong Hon Wai Backgrounds assumed (by topics) Analysis of Algorithms Expertise with Big-O, , notations Summation of series, Master Theorem Competent with Algorithm Analysis: Quicksort, Heapsort, DFS, BFS, Divide-and-Conquer algorithms Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.10 Copyright © 2008 by Leong Hon Wai CS5206 Pre-Requisites… CS3230 Analysis of Algorithms Else, Background Knowledge Assumed Alternatively, see that you have mastered the following Chapters from the text [CLRS01] (including the analysis of their running times): Chapters 3-5 Chapters 6-13 Chapters 15-16 Chapters 22-24 Mathematical Foundations Basic Data Structures Greedy Algorithms Basic Graph Algorithms Otherwise: Talk to instructor (case-by-case) Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.11 Copyright © 2008 by Leong Hon Wai Thank you. Q &A Hon Wai Leong, NUS (CS5206, Fall 2008) Page L00.12 Copyright © 2008 by Leong Hon Wai