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. |
|
Lectures = 2 [HEC Recommended 3] Labs = 0 Credit hours = 3
1. Discrete Mathematics or equivalent. 2. Data Structures or equivalent. 3. Some programming experience helpful
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.
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.
(CLRS) Thomas Cormen, Charles Leiserson, Ronald Rivest, and Cliff Stein, Introduction to Algorithms, McGraw Hill Publishing Company and MIT Press, 2009 (3rd Edition).
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.
(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.
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.
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 |
Midterm | November 19, 2010 | Class Time |
Final | January 10, 2011 | Morning Session |
Quizzes/Homeworks |
15% |
Midterm | 25% |
Final | 60% |
A+ | 0 |
A | 4 |
B+ | 1 |
B | 4 |
C+ | 3 |
C | 8 |
D+ | 1 |
D | 3 |
F | 18 |
If you wish to succeed in this course
If you wish to do better
If you wish to fail in this course