 # UMass Lowell Computer Science 91.404 Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009.

## Presentation on theme: "UMass Lowell Computer Science 91.404 Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009."— Presentation transcript:

UMass Lowell Computer Science 91.404 Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009

Web Page http://www.cs.uml.edu/~kdaniels/courses/ALG_404.html

Nature of the Course ä Core course: required for all CS majors ä Advanced undergraduate level ä Graduate students take separate course (91.503) ä No programming required ä “Pencil-and-paper” exercises ä Lectures supplemented by: ä Programs ä Real-world examples

What’s It All About? ä Algorithm: ä steps for the computer to follow to solve a problem ä well-defined computational procedure that transforms input into output ä Some of our goals: ä recognize structure of some common problems ä understand important characteristics of algorithms to solve common problems ä select appropriate algorithm to solve a problem ä tailor existing algorithms ä create new algorithms

Some Algorithm Application Areas Computer Graphics Robotics Bioinformatics Medical Imaging Telecommunications Design Apply Analyze

Some Typical Problems Sorting Input: Set of items Problem: Arrange items “in order” Median finding Input: Set of numbers or keys Problem: Find item smaller than half of items and bigger than half of items SOURCE: Steve Skiena’s Algorithm Design Manual (for problem descriptions, see graphics gallery at ) (for problem descriptions, see graphics gallery at http://www.cs.sunysb.edu/~algorith) Minimum Spanning Tree Input: Graph G = (V,E) with weighted edges Problem: Find subset of E of G of minimum weight which forms a tree on V Shortest Path Input: Edge-weighted graph G, with start vertex s and end vertex t Problem: Find the shortest path from s to t in G

Tools of the Trade ä Algorithm Design Patterns such as: ä divide-and-conquer ä Data Structures such as: ä trees, linked lists, hash tables, graphs ä Algorithm Analysis Techniques such as: ä asymptotic analysis ä probabilistic analysis Growth of Functions Summations Recurrences Sets Probability MATH Proofs Logarithms Permutations Combinations

Tools of the Trade: (continued) Algorithm Animation Formerly http://www.cs.brockport.edu/cs/java/apps/sorters/insertsortaniminp.html

What are we measuring? ä Some Analysis Criteria: ä Scope ä The problem itself? ä A particular algorithm that solves the problem? ä “Dimension” ä Time Complexity? Space Complexity? ä Type of Bound ä Upper? Lower? Both? ä Type of Input ä Best-Case? Average-Case? Worst-Case? ä Type of Implementation ä Choice of Data Structure

Prerequisites ä Computing I (91.101) ä Computing II (91.102) ä Discrete Math I & II (92.321, 92.322) ä Statistics for Scientists and Engineers (92.386) ä Calculus I-II (92.131-132) Growth of Functions Summations Recurrences Sets Probability MATH Proofs Logarithms Permutations Combinations

Course Structure: 5 Parts ä Foundations ä Analyzing & Designing Algorithms, Growth of Functions, Recurrences, Probability & Randomized Algorithms ä Sorting ä Heapsort, Priority Queues, Quicksort, Sorting in Linear Time ä Data Structures ä Stacks and Queues, Linked Lists, Introduction to Trees, Hash Tables, Binary Search Trees, Balancing Trees: Red- Black Trees ä Advanced Techniques ä Dynamic Programming, Greedy Algorithms ä Graph Algorithms ä DFS, BFS, Topological Sort, MST, Shortest paths

Textbook - - Required: ä Introduction to Algorithms ä by T.H. Corman, C.E. Leiserson, R.L. Rivest ä McGraw-Hill ä 2001 ä ISBN 0-07-013151-1 ä see course web site (MiscDocuments) for errata (1 st edition) Ordered for UML bookstore 2001 Edition

Syllabus (current plan) Revised for Fall, 2001 in accordance with ACM Computer Science Computing Curricula 2001, Steelman Draft, August, 2001.

CS Theory Math Review Sheet The Most Relevant Parts... ä p. 1  O, ,  definitions ä Series ä Combinations ä p. 2 Recurrences & Master Method ä p. 3 ä Probability ä Factorial ä Logs ä Stirling’s approx ä p. 4 Matrices ä p. 5 Graph Theory ä p. 6 Calculus ä Product, Quotient rules ä Integration, Differentiation ä Logs ä p. 8 Finite Calculus ä p. 9 Series Math fact sheet (courtesy of Prof. Costello) is on our web site.

Important Dates ä Math Quiz (closed book) Tuesday, 9/8 ä Midterm Exam : Thursday, 10/22 ä Midterm Exam (Chapters 1-6) : Thursday, 10/22 ä Final Exam:TBA

Grading ä ä Homework35% ä ä Midterm ( chapters 1-6, open book & notes ) 30% ä ä Discretionary ( attendance, participation, math quiz ) 5% ä ä Final Exam ( cumulative, open book & notes ) 30%

Download ppt "UMass Lowell Computer Science 91.404 Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009."

Similar presentations