Welcome to the Course of Advanced Algorithm Design

Slides:



Advertisements
Similar presentations
INTRODUCTION TO CS16 CS16: Introduction to Algorithms and Data Structures Tu/Th 10:30-11:50 Metcalf Auditorium David Laidlaw Thursday, January 23, 2014.
Advertisements

Sept Welcome to the Course of Web and Document Databases ( )
Data Structures and Algorithms (AT70.02) Comp. Sc. and Inf. Mgmt. Asian Institute of Technology.
Design and Analysis of Algorithms Maria-Florina (Nina) Balcan Lecture 1, Jan. 14 th 2011.
Analysis & Design of Algorithms (CSCE 321)
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Midterm Review Fri. Oct 26.
Jan Welcome to the Course of Data Structures and Algorithms.
Jan Welcome to the Course of Advanced Algorithm Design (ACS-7101/3)
CS 46101–600/CS Design and Analysis of Algorithms Dr. Angela Guercio Spring 2010.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/4/01.
Sept. 2012ACS-3902/3 Yangjun Chen1 Welcome to Database Course.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009.
COMP 122 – Design and Analysis of Algorithms Spring 2004 MW 11:00-12:15, SN 014 Instructor:Jack Snoeyink TA: Nathan Fisher SN.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Jan. 2014ACS-4902/3 Yangjun Chen1 Welcome to Advanced Database Course.
TDDB57 DALG-C, DALG Exam Requirements Jan Maluszynski - HT 2006DALG-C.1 TDDB57 – DALG-C Examination Requirements.
CSIS-385: Analysis of Algorithms Dr. Eric Breimer.
CS333/ Topic 11 CS333 - Introduction CS333 - Introduction General information Goals.
CSIS-385: Analysis of Algorithms Dr. Eric Breimer.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 Introduction/Overview Wed. 9/5/01.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2005 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 9/7/05.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2007 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/24/07.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Lecture 1 Introduction/Overview Wed. 1/31/01.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
Recurrences / HW: 2.4 Quiz: 2.1, 4.1, 4.2, 5.2, 7.3, 7.4 Midterm: 8 given a recursive algorithm, state the recurrence solve a recurrence, using Master.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
May 2012ACS-2814/3 Yangjun Chen1 Welcome to Database Application Development Course.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Final Review Mon. 5/14-Wed. 5/16.
01/02/20041 Welcome to OO Implementation Issues (Java) Course.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
May 2012ACS-2814/3 Yangjun Chen1 Welcome to Application of Database Systems (ACS-2814)
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
01/02/20031 Welcome to Distributed Databases Course.
Jan /3 Yangjun Chen1 Welcome to Database Course.
December 4, Algorithms and Data Structures Lecture XV Simonas Šaltenis Aalborg University
Sept /3 Yangjun Chen1 Welcome to Database Application Development Course.
CS223 Advanced Data Structures and Algorithms 1 Review for Final Neil Tang 04/27/2010.
1 BIM304: Algorithm Design Time: Friday 9-12am Location: B4 Instructor: Cuneyt Akinlar Grading –2 Midterms – 20% and 30% respectively –Final – 30% –Projects.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
Design and Analysis of Algorithms (09 Credits / 5 hours per week) Sixth Semester: Computer Science & Engineering M.B.Chandak
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 28 April 2005.
1 COMP9007 – Algorithms Course page: + Blackboard link Lecturer: M.Reza Hoseiny M.Reza Hoseiny Level.
Welcome to Advanced Database Course
CS16: Introduction to Algorithms and Data Structures
CSCE 210 Data Structures and Algorithms
Design and Analysis of Algorithms
Design and Analysis of Algorithms (09 Credits / 5 hours per week)
Data Structures and Algorithms
Welcome to the Course of Web and Document Databases
CSE 326: Data Structures: Advanced Topics
Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04
Summary of lectures Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides Recurrence and Master Theorem (Chapter 4). Lecture Slides.
Introduction of ECE665 Computer Algorithms
CS 583 Fall 2006 Analysis of Algorithms
Data Structures and Algorithms
CS 3343: Analysis of Algorithms
Definition In simple terms, an algorithm is a series of instructions to solve a problem (complete a task) We focus on Deterministic Algorithms Under the.
Design and Analysis of Algorithms (07 Credits / 4 hours per week)
Foundations II: Data Structures and Algorithms
CMPT 438 Algorithms Instructor: Tina Tian.
CS 3343: Analysis of Algorithms
INTRODUCTION TO ALOGORITHM DESIGN STRATEGIES
Department of Computer Science & Engineering
Design and Analysis of Algorithms (04 Credits / 4 hours per week)
Review for Final Neil Tang 05/01/2008
COMP 122 – Design and Analysis of Algorithms
Presentation transcript:

Welcome to the Course of Advanced Algorithm Design (ACS-7101/3) Sept. 2016

PhD: University of Kaiserslautern, Germany, in 1995 Name: Yangjun Chen Birthplace: China PhD: University of Kaiserslautern, Germany, in 1995 Post Doctor: University of Chemnitz, Germany, 1995/7 - 1997/8 Senior engineer: Germany Research Center for Information Technology, 1997/9 - 2000/2 Post Doctor.: University of Alberta, 2000/2 - 2000/6 Assistant Prof.: University of Winnipeg, 2000/7 – 2004/6 Associate Prof.: University of Winnipeg, from 2004/7 Full Prof.: University of Winnipeg, from 2009/7 Sept. 2016

home-page: http://www.uwinnipeg.ca/~ychen2 E-mail: y.chen@uwinnipeg.ca Professor: Dr. Y. Chen Office: 3D27 home-page: http://www.uwinnipeg.ca/~ychen2 E-mail: y.chen@uwinnipeg.ca phone: 786-9417 Meeting time: Mon. and Wed. 2:30 – 3:45 pm Meeting location: 3D03 Office hours: 16:00 - 17:00 Mon., Wed. 10:00 – 12:00 Friday 12:00 – 15:00 Friday (on appointment) Sept. 2016

Course Outline Intro to algorithm design, analysis, and applications Algorithm Analysis Asymptotic Notation, Recurrence Relations, Complexity analysis, Proof Techniques. Data Structures Lists, Heaps, Graphs, Trees, Balanced Trees, Hash Tables. Sorting & Ordering Mergesort, Heapsort, Quicksort, Linear-time Sorts (bucket, counting, radix sort), Selection, Other sorting methods. Emphasis – time complexity and correctness. Algorithmic Design Paradigms Divide and Conquer, Dynamic Programming, Greedy Algorithms, Graph Algorithms, String matching, network flow, bipartite graphs, Set intersection Sept. 2016

Required textbook: Introduction to Algorithms, 2nd Ed., 3rd Ed. by Cormen, Leiserson, Rivest, & Stein (CLRS), McGraw Hill, 2002. Lecture slides online Other reference: The Design and Analysis of Computer Algorithms, A.V. Aho, J.E. Hopcroft and J.D. Ullman Sept. 2016

Course Roadmap Algorithmics Basics Divide and Conquer Sorting and Selection Search Trees Graph Algorithms Dynamic Programming Greedy Algorithms Selected Topics Randomized Algorithms Sept. 2016

Algorithmics Basics Introduction to algorithms, complexity, and proof of correctness. (Chapters 1 & 2) Asymptotic Notation. (Chapter 3.1) Goals Know how to write formal problem specifications. Know about computational models. Know how to measure the efficiency of an algorithm. Know the difference between upper and lower bounds of computational complexity. Be able to prove algorithms correct. Sept. 2016

Divide-and-Conquer Goals Designing Algorithms using Divide-and-Conquer paradigm (Chapter 2.3) Recurrences (Chapter 4) Mergesort (Chapter 7) Goals Know when the divide-and-conquer paradigm is an appropriate one. Know the general structure of such algorithms. Express their complexity using recurrence relations. Determine the complexity using techniques for solving recurrences. Memorize the common-case solutions for recurrence relations. Sept. 2016

Sorting & Selection Quicksort (Chapter 7) Heapsort (Chapter 6) Bucket Sort, Radix Sort, etc. (Chapter 8) Selection (Chapter 9) Other Sorting Methods (Handout) Goals Know the performance characteristics of each sorting algorithm, when they can be used, and practical coding issues. Know the applications of binary heaps. Know why sorting is important. Know why linear-time median finding is useful. Sept. 2016

Search Trees Binary Search Trees – Not balanced (Chapter 12) Red-Black Trees – Balanced (Chapter 13) Goals Know the characteristics of the trees. Know the capabilities and limitations of simple binary search trees. Know why balancing heights is important. Know the fundamental ideas behind maintaining balance during insertions and deletions. Be able to apply these ideas to other balanced tree data structures. Sept. 2016

Graph Algorithms Basic Graph Algorithms (Chapter 22) Topological sorting Recognizing strongly connected components Goals Know how to represent graphs (adjacency matrix and edge-list representations). Know the basic techniques for graph searching: breadth-first searching, depth-first searching Be able to devise other algorithms based on graph-searching algorithms. Sept. 2016

Dynamic Programming Dynamic Programming (Chapter 15) Find the longest common subsequences Optimal Binary Search Trees (Dictionary Construction) Goals What is the dynamic programming? Know when to apply dynamic programming and how it differs from divide and conquer. Sept. 2016

Greedy Algorithms Greedy Algorithms (Chapter 16) Activity Selection Problem (Chapter 16) Minimum Spanning Trees (Chapter 23) Goals What is a greedy algorithm? Know when to apply greedy algorithms and their characteristics. Be able to prove the correctness of a greedy algorithm in solving an optimization problem. Understand where minimum spanning trees and shortest path computations arise in practice. Sept. 2016

Selected Topics Network flow Bipartite graph String matching Ford-Fulkerson algorithm Bipartite graph Hopcroft-Karp algorithm String matching Knuth-Morris-Platt algorithm Set-intersection Chen-Shen algorithm Sept. 2016

Randomized Algorithms Probability & Combinatorics. (Chapter 5) Quicksort. (Chapter 7) Hash Tables. (Chapter 11) Goals Be able to apply the theory of probability to the following. Design and analysis of randomized algorithms and data structures. Average-case analysis of deterministic algorithms. Understand the difference between average-case and worst-case runtime, esp. in sorting and hashing. Be thorough with basic probability theory and counting theory. Sept. 2016

Project Implementing an algorithm for evaluating twig pattern queries in XML databases The algorithm will discussed in classes Implementing an algorithm for finding a maximum matching in a bipartite graph The algorithm will be discussed in classes More projects will be announced Sept. 2016

Oct. 09 – 15, 2016 reading break (no classes) Important dates: Wed., Sept. 07, 2016 First class Oct. 09 – 15, 2016 reading break (no classes) Wed., Oct. 26, 2016 Midterm examination Nov. 01, 2016 Final date to withdraw without academic penalty from a course that begins in Sept. and ends in Dec. of the 2016 fall term Wed., Dec. 05, 2016 last class Final examination replaced by projects Sept. 2016

All assignments are handed in at class on the due date. Course Evaluation: 3 assignments   24% 1 midterm examination   26% 1 project (or final)   50% All assignments are handed in at class on the due date. All works must be prepared using a word processor and placed in a folder. Late assignments are accepted (up to 1 day late) and receive a 25% penalty. Sept. 2016

Academic dishonesty: Academic dishonesty is a very serious offense and will be dealt with in accordance with the University's discipline bylaw. Be sure that you have read and understood Regulations and Policies, #8 in the 2016-2017 UW Calendar. Sept. 2016