compe 574 fundamentals of algorithms 2012-2013 spring murat karakaya department of computer...

9
COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Upload: verity-neal

Post on 31-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

COMPE 574 Fundamentals of Algorithms

2012-2013 Spring

Murat KARAKAYADepartment of Computer Engineering

Page 2: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

COMPE 574

• Instructor : K. Murat KARAKAYA• Email : [email protected]

Office : Z-14 • Lecture : Friday 09:30-12:20 @ 1026• Office Hour: Friday 15:30-16:00 @ Z-14

• TA : TBD• Email : TBD

• Course Web page is on Moodle

Page 3: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Objectives & Content

Objectives: •To analyze and design algorithms •To measure their complexities•Developing skills to design efficient algorithms

Content:•Design and analysis of algorithms. •O-Notation. •Divide and Conquer algorithms. •Dynamic Programming.•Complexity of sorting, and searching algorithms. •Graph algorithms. •NP-Hard and NP-Complete problems.

Page 4: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Text Books and ReferencesCourse Book:

T.H.Cormen, C.E.Leiserson, R.L.Rivest and C.Stein: Introduction to Algorithms, 3rd ed., MIT Press 2009.

Other sources:E.Horowitz, S.Sahni: Fundamentals of Computer Algorithms,

Computer Science Press, 1989.E.Horowitz, S.Sahni, S.Rajasekeran, Computer Algorithms, ISBN:

978-0-929306-41-4, Silicon Press, 2008.J.Kleinberg, E.Tardos, Algorithm Design, Addison – Wesley, ISBN: 0-

321-29535-8, 2006.A.V.Aho, J.E.Hopcroft, J.D.Ullman, The Design and Analysis of

Computer Algorithms, Addison-Wesley Series in Computer Science and Information Processing, 1979.

S.S. Skiena, The Algorithm Design Manual, Springer – Verlag, New York, 1998.

Page 5: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Grading (Tentative)

• Midterm(s) 40%• Pop Quizes* 15%• Final Exam 35%• Active Participation 10%

• If you miss 4 or more classes you will get NA grade!

*Pop Quiz: an unscheduled or unannounced quiz.

Page 6: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Grading Policies• Missed exams:

o no make-up exam for midterms without approved excuse!o you will get zero for each missed pop quiz!o no make-up exam for final for any excuse!

• Lateness:o Late assignments are penalized up to 10% per day.

• Ethics:o All assignments/projects are to be your own work.

• Participation:o You are supposed to be active in the class by involving and

participating disscusions via asking questions, proposing solutions, explaning your ideas, etc.

Page 7: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Course Outline• WEEK(1):  Introduction to Analysis of Algorithms.• WEEK(2):  Asymptotic Notation.• WEEK(3):  Solving Recurrences.• WEEK(4):  Sorting: QuickSort• WEEK(5):  Dynamic programming: Matrix-chain multiplication. • WEEK(6):  Dynamic programming: Longest common subsequence.• WEEK(7):  Greedy algorithms: Activity selection problem.• WEEK(8):  Greedy algorithms: Hufmann codes.• WEEK(9):  Dynamic programming vs. Greedy algorithms: Knapsack

problems• WEEK(10):  Dynamic programming vs. Greedy algorithms: Knapsack

problems• WEEK(11):  Graphs: Concepts & Representations.• WEEK(12):  Graph Searching: Breadth-First Search.• WEEK(13):  Graph Searching: Depth-First Search.• WEEK(14):  NP-Completeness.

Page 8: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

EXPECTED SKILLS• C/Java programming concepts

• Loop • Selection• Psuedocode• Recursive Functions

• Calculus• Polynomials• Exponentials• Logarithms• Factorials

• Formal Proofs (Induction)• Data structures

• Arrays• Heap• Tree• Linked lists • Stacks • Queues

Page 9: COMPE 574 Fundamentals of Algorithms 2012-2013 Spring Murat KARAKAYA Department of Computer Engineering

Any questions?