CS5206: Overview (Fall 2010) CS5206: Foundations 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 2010) Page L00.1 Copyright © 2008-10 by Leong Hon Wai CS5206: Overview…(2) Pre-requisite: CS3230 Analysis of Algorithms Programming Skills (CS2010 or CS2010 or CS1102) 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. Some material may also come from [Tarj83], etc Hon Wai Leong, NUS (CS5206, Fall 2010) Page L00.2 Copyright © 2008-10 by Leong Hon Wai CS5206: Fall 2010 Instructor: Leong Hon Wai, COM1 03-41 http://www.comp.nus.edu.sg/~leonghw/ Course webpage http://www.comp.nus.edu.sg/~CS5206/2010/ Course Emphasis: • Rigorous treatment of algorithm design and analysis • Challenging Homework sets • Programming with Advanced DS and Algorithms in Research and Development Hon Wai Leong, NUS (CS5206, Fall 2010) Page L00.3 Copyright © 2008-10 by Leong Hon Wai CS5206: Fall 2010… (2) Course Grading: 20% Homeworks 30% Project (including LEDA assignments) 20% Mid-Term (OPEN BOOK) 30% Final Exam (OPEN BOOK) Homework: (20%) About 4-5 sets (about 1 every 2 weeks or so) VIP (Very important part) of the course Project: (30%) LEDA programming assignments Algorithm Design and Programming Project Hon Wai Leong, NUS (CS5206, Fall 2010) Page L00.4 Copyright © 2008-10 by Leong Hon Wai CS5206: Topics (Tentative) BASICS: Mathematics for Analysis of Algorithms (Master Theorem) Divide and Conquer Algorithms (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 2010) Page L00.5 Copyright © 2008-10 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 2010) Page L00.6 Copyright © 2008-10 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 If you want to discuss with fellow students Discuss general approach (not detailed answers) You MUST write up YOUR OWN answers. You must write down names of collaborators Do NOT copy/compare answers! Hon Wai Leong, NUS (CS5206, Fall 2010) Page L00.7 Copyright © 2008-10 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 2010) Page L00.8 Copyright © 2008-10 by Leong Hon Wai Background 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 2010) Page L00.9 Copyright © 2008-10 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 2010) Page L00.10 Copyright © 2008-10 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 2010) Page L00.11 Copyright © 2008-10 by Leong Hon Wai Thank you. Q &A Hon Wai Leong, NUS (CS5206, Fall 2010) Page L00.12 Copyright © 2008-10 by Leong Hon Wai