Introduction About The Course Design and Analysis of Algorithms I.

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

1 Computational models of the physical world Cortical bone Trabecular bone.
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
Randomized Algorithms Randomized Algorithms CS648 Lecture 15 Randomized Incremental Construction (building the background) Lecture 15 Randomized Incremental.
Design and Analysis of Algorithms Maria-Florina (Nina) Balcan Lecture 1, Jan. 14 th 2011.
Analysis & Design of Algorithms (CSCE 321)
COMP171 Data Structures and Algorithms Spring 2009.
Jan Welcome to the Course of Advanced Algorithm Design (ACS-7101/3)
CSCE 210 Data Structures and Algorithms
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/4/01.
COMP171 Data Structures and Algorithms Spring 2009.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Th. 9/3/2009.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
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 Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
TR1413: Discrete Math for Computer Science Lecture 0: Introduction.
Design and Analysis of Algorithms Review of algorithm analysis Haidong Xue Summer 2012, at GSU.
Probability Review Part I Design and Analysis of Algorithms I.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
WEB SCIENCE: ANALYZING THE WEB. Graph Terminology Graph ~ a structure of nodes/vertices connected by edges The edges may be directed or undirected Distance.
CSNB143 – Discrete Structure
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
LeongHW, SoC, NUS (CS Combinatorial and Graph Algorithms) Page 1 About CS5234: Course Overview CS5234: Combinatorial and Graph Algorithms  Level.
1 CS 233 Data Structures and Algorithms 황승원 Fall 2010 CSE, POSTECH.
CPSC 321 Introduction to Logic Circuit Design Mihaela Ulieru (‘Dr. M’)
Lecture 10: Class Review Dr John Levine Algorithms and Complexity March 13th 2006.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
INTRODUCTION. What is an algorithm? What is a Problem?
Computer Engineering Rabie A. Ramadan Lecture 1. 2 Welcome Back.
Discrete Mathematics ( 離散數學 ) Ming-Jer Tsai. Outline What is Discrete Mathematics? Why learn Discrete Mathematics? What will be taught in the class? How.
Design and Analysis of Algorithms (09 Credits / 5 hours per week) Sixth Semester: Computer Science & Engineering M.B.Chandak
CES 512 Theory of Software Systems B. Ravikumar (Ravi) Office: 141 Darwin Hall Course Web site:
CES 512 Theory of Software Systems B. Ravikumar (Ravi) Office: 141 Darwin Hall Course Web site:
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Data Structures and Algorithms in Java AlaaEddin 2012.
Introduction Why Study Algorithms? Design and Analysis of Algorithms I.
Georgia Institute of Technology Introduction to Programming Part 1 Barb Ericson Georgia Institute of Technology Aug 2005.
Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi
Algorithms Design and Analysis CS Course description / Algorithms Design and Analysis Course name and Number: Algorithms designs and analysis –
Analysis of Algorithms: Math Review Richard Kelley, Lecture 2.
MA/CSSE 473 Day 12 Amortization (growable Array) Knuth interview Brute Force Examples.
1Computer Sciences Department. 2 QUICKSORT QUICKSORT TUTORIAL 5.
1 COMP9007 – Algorithms Course page: + Blackboard link Lecturer: M.Reza Hoseiny M.Reza Hoseiny Level.
Algorithm homework help For More Detail help.aspx - Phone:-
CS16: Introduction to Algorithms and Data Structures
Welcome to the Course of Advanced Algorithm Design
Design and Analysis of Algorithms (09 Credits / 5 hours per week)
Syllabus Introduction to Computer Science
Lecture 1: Introduction
Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 1/28/04
About CS5234 (Wk 0) Course Overview About CS5234 Homeworks
Welcome to CMSC 203 – Discrete Structures Spring 2003
CSE/INFO 100: Fluency in Information Technology
Introduction to 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.
Introduction to Programming Part 1
Design and Analysis of Algorithms (07 Credits / 4 hours per week)
Technology Forecasting: Moore’s Law
Objective of This Course
Introduction CSE 373 Data Structures.
CMPT 438 Algorithms Instructor: Tina Tian.
26 July 2011 SC 611 Class 1.
INTRODUCTION TO ALOGORITHM DESIGN STRATEGIES
CSCE156: Introduction to Computer Science II
Department of Computer Science & Engineering
Design and Analysis of Algorithms (04 Credits / 4 hours per week)
COMP 122 – Design and Analysis of Algorithms
Presentation transcript:

Introduction About The Course Design and Analysis of Algorithms I

Why Study Algorithms? important for all other branches of computer science

Why Study Algorithms? important for all other branches of computer science plays a key role in modern technological innovation

Why Study Algorithms? important for all other branches of computer science plays a key role in modern technological innovation – “Everyone knows Moore’s Law – a prediction made in 1965 by Intel co- founder Gordon Moore that the density of transistors in integrated circuits would continue to double every 1 to 2 years….in many areas, performance gains due to improvements in algorithms have vastly exceeded even the dramatic performance gains due to increased processor speed.” Excerpt from Report to the President and Congress: Designing a Digital Future, December 2010 (page 71).

Why Study Algorithms? important for all other branches of computer science plays a key role in modern technological innovation provides novel “lens” on processes outside of computer science and technology – quantum mechanics, economic markets, evolution

Why Study Algorithms? important for all other branches of computer science plays a key role in modern technological innovation provides novel “lens” on processes outside of computer science and technology challenging (i.e., good for the brain!)

Why Study Algorithms? important for all other branches of computer science plays a key role in modern technological innovation provides novel “lens” on processes outside of computer science and technology challenging (i.e., good for the brain!) fun

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms Divide and conquer algorithm design paradigm Randomization in algorithm design Primitives for reasoning about graphs Use and implementation of data structures

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms – E.g., “Big-Oh” notation – “sweet spot” for high-level reasoning about algorithms

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms Divide and conquer algorithm design paradigm

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms Divide and conquer algorithm design paradigm – Will apply to: Integer multiplication, sorting, matrix multiplication, closest pair – General analysis methods (“Master Method/Theorem”)

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms Divide and conquer algorithm design paradigm Randomization in algorithm design – Will apply to: QuickSort, primality testing, graph partitioning, hashing.

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms Divide and conquer algorithm design paradigm Randomization in algorithm design Primitives for reasoning about graphs – Connectivity information, shortest paths, structure of information and social networks.

Tim Roughgarden Course Topics Vocabulary for design and analysis of algorithms Divide and conquer algorithm design paradigm Randomization in algorithm design Primitives for reasoning about graphs Use and implementation of data structures – Heaps, balanced binary search trees, hashing and some variants (e.g., bloom filters)

Tim Roughgarden Skills You’ll Learn Become a better programmer

Tim Roughgarden Skills You’ll Learn Become a better programmer Sharpen your mathematical and analytical skills

Tim Roughgarden Skills You’ll Learn Become a better programmer Sharpen your mathematical and analytical skills Start “thinking algorithmically”

Tim Roughgarden Skills You’ll Learn Become a better programmer Sharpen your mathematical and analytical skills Start “thinking algorithmically” Literacy with computer science’s “greatest hits”

Tim Roughgarden Skills You’ll Learn Become a better programmer Sharpen your mathematical and analytical skills Start “thinking algorithmically” Literacy with computer science’s “greatest hits” Ace your technical interviews

Tim Roughgarden Who Are You? Ideally, you know some programming. Doesn’t matter which language(s) you know. Some (perhaps rusty) mathematical experience. – Basic discrete math, proofs by induction, etc. Excellent free reference: “Mathematics for Computer Science”, by Eric Lehman and Tom Leighton. (Easy to find on the Web.)

Tim Roughgarden Supporting Materials All (annotated) slides available from course site. No required textbook. A few of the many good ones: – Kleinberg/Tardos, Algorithm Design, – Dasgupta/Papadimitriou/Vazirani, Algorithms, – Cormen/Leiserson/Rivest/Stein, Introduction to Algorithms, 2009 (3 rd edition). – Mehlhorn/Sanders, Data Structures and Algorithms: The Basic Toolbox, No specific development environment required. – But you should be able to write and execute programs.

Tim Roughgarden Assessment No grades per se. (Details on a certificate of accomplishment TBA.) Weekly homeworks. – Test understand of material – Synchronize students, greatly helps discussion forum – Intellectual challenge

Tim Roughgarden Assessment Legacy exams Weekly supplementary exercises. Will sometimes propose harder “challenge problems” – Will not be graded