CS 311 Design and Analysis of Algorithms
Department of Computer Science, IIU

Fall 2010

 

The fundamental beliefs underlying the Honor Code of my classroom are that my student has the right to live in an academic environment that is free from the injustices caused by any form of intellectual dishonesty, and that the honesty and integrity of all members of my classroom contribute to its pursuit for Truth.

 

Course Structure

Lectures = 2 [HEC Recommended 3]        Labs = 0        Credit hours = 3

 

Prerequisites

1. Discrete Mathematics or equivalent.    2. Data Structures or equivalent.    3. Some programming experience helpful

 

Course Objectives

Detailed study of the basic notions of the design of algorithms and underlying data structures. Several measures of complexity are introduced. Emphasis on the structure, complexity, and efficiency of algorithms.

 

Course Outline

Introduction; Asymptotic notions; Recursion and recurrence relations; Divide-and-conquer approach; Sorting; Search trees; Heaps; Hashing; Greedy approach; Dynamic programming; Graph algorithms; Shortest paths; Network flow; Disjoint Sets; Polynomial and matrix calculations; String matching; NP complete problems; Approximate algorithms.

 

Texts

Our Primary Source

(CLRS) Thomas Cormen,  Charles Leiserson,  Ronald Rivest, and  Cliff Stein,  Introduction to Algorithms, McGraw Hill Publishing Company and MIT Press, 2009 (3rd Edition).

Our Secondary Source

Michael T. Goodrich and Roberto Tamassia, Algorithm Design: Foundations, Analysis, and Internet Examples, John Wiley & Sons, Inc., 2002.

Gilles Brassard, Fundamentals of algorithmics, Englewood, N.J. : Prentice Hall, c1996.

HEC Recommended Text Books/Reference Books:

(CLR) T. H. Cormen, C.E. Leiserson, Ronald L. Rivest, Introduction to Algorithms /2E, MIT Press, 2009.

Robert Sedgewick, Algorithms, Reading, Mass : Addison-Wesley, c1983.

 

Ethics

The Honor Code will be strictly enforced in the classroom. It is a violation to represent joint work as your own or to let others use your work; always acknowledge any assistance you received in preparing work that bears your name. You are expected to work independently unless explicitly permitted to collaborate on a particular assignment. It is not a violation to discuss approaches to problems with others; however, it is a violation to use wording or expressions in your assignments that have been written by others without acknowledging the source.

Tentative Schedule

Instr. Date Topics Class Strength
1. Sept. 17 Hi and Bye 5
2. Sept. 20 Introduction 35
3. Sept. 24 Writing pseudocodes, Add example 35+3=38
4. Sept. 27 Insertion Sort 47
5. Oct. 01 comprehensive analysis of Insertion sort 44
6. Oct. 04 Growth Functions 48
7. Oct. 08 Growth functions and Complexity Analysis 39
8. Oct. 11 Divide-and-Conquer Approach and Merge Sort 48
9. Oct. 15 Merge Sort, Comparisons using growth functions. 50
10. Oct. 18 Quiz  
11. Oct. 22 Graph Algorithms Introduction 39
12. Oct. 25 Graph Representations in Computer 42
13. Oct. 29 Transposition, Square, Search etc. 48
14. Nov. 01 Breadth First Search 43
15. Nov. 05 Breadth First Search Finished 43
16. Nov. 08 Depth First Search 41
17. Nov. 12 Depth First Search Finished  
18. Nov. 15 Revision  
19. Nov. 19 Midterm  
20. Nov. 22 Topological Sort 30
21. Nov. 26 Strongly Connected Components 32
22. Nov. 29 Strongly Connected Components 43
23. Dec. 03 Minimum Spanning Trees 42
24. Dec. 06 Kruskal's Algorithm 33
25. Dec. 10 Jarnik's/Prim's Algorithm 43
26. Dec. 13 No Class  
27. Dec. 17 No Class  
28. Dec. 20 Shortest Path 41
29. Dec. 24 Relaxation 35
30. Dec. 27 Bellman-Ford Algorithm 33
31. Dec. 31 Dijkstra's Algorithm 43
32. Jan. 03 Quiz and Shortest path 48
33. Jan. 07 Revision  
34. Jan. 10 Final  

Instructions/Lectures

 

Exams

Midterm November 19, 2010 Class Time
Final January 10, 2011 Morning Session

 

Points Distribution

Quizzes/Homeworks

15%
Midterm 25%
Final 60%

 

Grades

 

A+ 0
A 4
B+ 1
B 4
C+ 3
C 8
D+ 1
D 3
F 18

 

CS 311 Design and Analysis of Algorithm Fall 2010

 

You can do it if you try!

If you wish to succeed in this course
If you wish to do better
If you wish to fail in this course

 


 
Back