Department: Computer Engineering

advertisement

BLM222 ALGORITHMS

Syllabus

Department: Computer Engineering

Course Name : BLM222, Algorithms, (3+1) 4 hours lecture

Instructor: Hakan Kutucu

Office: Faculty of Engineering, Room No: M334

Tel: 433 20 21 / 1590

E-mail: hakankutucu@karabuk.edu.tr

Office Hours: Thursday 13:30-15:00

Textbook:

1.

“Introduction to Algorithms”, by Cormen, Leiserson, Rivest, and Stein, Third

Edition, 2009

References :

1.

J.Kleinberg, E.Tardos, Algorithm Design, Addison – Wesley, ISBN: 0-321-

29535-8, 2006.

2.

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.

3.

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

Course Focus: This course is designed to teach students how to analyse and design algorithms and measure their complexities. In addition, students will be able to develop efficient algorithms for the solution of real life computational problems.

Prerequisites : The student should know a programming language (pref. C language), and be familiar with the basic data structures and the recursion concept and also basic mathematics skills,

Grading :

Midterm I %25

Midterm II %25

Final Exam %50

Attendance Policy:

Regular attendance is essential for satisfactory completion of this course. If you have excessive absences, you cannot develop to your fullest potential in the course. Students

who, because of excessive absences, cannot complete the course successfully. If a student stops attending after midterm, it is the student’s responsibility to withdraw to avoid an

“F1”. The student is responsible for all assignments, changes in assignments, or other verbal information given in the class, whether in attendance or not.

Course Outline (Tentative)

WEEK 1

WEEK 2

WEEK 3

Introduction , Insertion Sort, Analyzing algorithms Chapter

Growth of Functions

Recurrences

WEEK 4

WEEK 5

WEEK 6

Quicksort

Binary search trees Red-Black trees

Dynamic Programming (matrix-chain multiplication, longest common subsequence)

Midterm 1 WEEK 7

WEEK 8 Dynamic Programming (matrix-chain multiplication, longest common subsequence)

WEEK 9 Greedy Algorithms (Huffman algorithm)

WEEK 10 Basic Graph Algorithms (BFS, DFS, Topological sort)

WEEK 11 Minimum Spanning Tree Algorithms (kruskal algorithm, prim algorithm)

WEEK 12 Midterm 2

WEEK 13 Shortest Path Algorithms (bellman-ford algorithm, dijkstra algorithm)

WEEK 14 Maximum Flow Algorithms

WEEK 15 NP-Completeness

Download