140 likes | 169 Views
Delve into the world of algorithms, exploring their significance in solving problems efficiently. Learn the difference between bad and good algorithms based on temporal, spatial, and hardware requirements. Discover real-world algorithm examples for the internet, such as finding routes, search engines, and packet filtering. This course covers algorithm analysis, data structures, design strategies, graph algorithms, and more to equip you with essential knowledge. Get ready to sharpen your algorithmic skills with Professor Lixin Gao's guidance.
E N D
Introduction of ECE665 Computer Algorithms
What is algorithm • That is: Approaches to efficient solutions to problems. Introduction of Algorithms
Motivation of Studying Algorithm • Resources are limited • Huge amount of data a good algorithm is like a sharp knife… ----Thomas H. Cormen Introduction of Algorithms
Bad algorithms vs. good algorithms • Temporal requirements • Running time • Spatial requirements • Memory used • Hardware requirements • Power, CPUs, Hard Disks Introduction of Algorithms
Algorithm examples for Internet • Finding routes • shortest path, traveling salesman • Search engine • google • Packet filtering • IP address looking up • Queuing • Routers, servers • Etc… Introduction of Algorithms
Class Information • Description: Computer Algorithms • Credit: 3CR • Meeting time: TuTh 4-5:15pm • Location: Marston 132 Introduction of Algorithms
About the Instructor • Prof. Lixin Gao • Telephone: 413-545-4548 • Office: KEB 211B • Office Hour: Tuesday 2:20-3:20pm and Wed 1:30-2:30pm, KEB 211B • Email: lgao@ecs.umass.edu Introduction of Algorithms
Outline of this Course • Algorithm Analysis • methodologies for analyzing algorithms • Basic Data Structures • stacks, queues, trees, heaps. • Combinatorial Algorithms • search trees and sorting algorithms. • Fundamental Design Strategies • greedy methods, dynamic programming, etc. Introduction of Algorithms
Outline of this Course – cont. • Graph Algorithms • graph traversals (DFS and BFS), minimum spanning tree. • Randomized Algorithms • Network Flows and Matching • max-flow/min-cut. • Text Processing • NP-completeness • approximation algorithms. Introduction of Algorithms
Textbook • Algorithm Design, Foundations, Analysis and Internet Examples, by M. T. Goodrich, R. Tamassia, John Wiley & Sons Inc, 2002, ISBN: 0-471-38365-1 Introduction of Algorithms
Course Website • http://rio.ecs.umass.edu/~lgao/ece665_18 • What you can find from the website • Class schedule • Lecture slides • Homework assignment • Exam information • Etc. Introduction of Algorithms
Course Prerequsite • Programming experience • ECE122 or CMPSCI 121 • Java or C++ • Data Structure • Equivalent to ECE242 or CMPSCI 187 • Desirable • Undergraduate-level Algorithm course Introduction of Algorithms
Course Policy • Late / Make-Up Policy • Assignments are due as posted on the course web page • Late submissions will not be accepted • Academic Integrity • Complete all assignment individually • All exams are closed book Introduction of Algorithms
Makeup Class • Friday? Introduction of Algorithms