Introduction to Design and
Analysis of Algorithms
CS 317 – Spring 2005
Instructor: Dr.
Ramazan Aygün
Office: Technology
Hall N360
Email: raygun@cs.uah.edu
Phone: 824-6455
Office Hours: MW 5:20-6:20
Meeting day(s): MW
Location: N308
The objective of this course is to introduce the student to
the fundamental concepts necessary for the design and analysis of algorithms
with examples from searching, sorting, and graphs.
MA244, CS214, and CS221.
Sara Baase and Allen Van Gelder, Computer Algorithms:
Introduction to Design and Analysis, Addison-Wesley,
Third Edition
Title |
Reading Chapters |
Introduction to Design and Analysis of Algorithms; Asymptotic Order of Computation Example: Searching an Ordered Array |
1.4 1.5 1.6 |
Recursive Procedures Proofs and Induction Proofs Recurrence Relations and Recurrence Trees |
3.1, 3.2 3.3, 3.4 3.6, 3.7 |
Insertion Sort Quick Sort Merging and Merge Sort Heap Sort |
4.1, 4.2 4.3, 4.4 4.5, 4.6 4.8 |
Selection: Finding Max and Min Finding Kth Largest Key |
5.1, 5.2 5.3, 5.4 |
Representation of Graphs Graph Traversal and Depth-First Search on Directed Graphs Strongly Connected Components and Search in Undirected Graphs |
7.1, 7.2 7.3, 7.4 7.5, 7.6 |
Prim’s Minimum Spanning Tree Algorithm Dijkstra’s Shortest Path Algorithm Kruskal’s Minimum Spanning Tree Algorithm |
8.1, 8.2 8.3 8.4 |
Dynamic Programming |
10.4 |
String Matching Knuth-Morris-Pratt Algorithm Boyer-Moore Algorithm |
11.1,
11.2 11.3 11.4 |
25% Homeworks and Programming Assignment
25% Midterm 1
25% Midterm 2
25% Final, May 2nd Monday,
The
following information is from http://www.uah.edu/library/turnitin/about.htm: “Turnitin.com allows
the student or educator to upload a paper into the Turnitin.com database, where
software will then use algorithms to create “digital fingerprints” that can
identify similar patterns in text (“About Turnitin.com”). Then the paper is
matched to billions of web pages, paper mill essays, and student papers
submitted online. In an hour or less, Turnitin.com creates an “originality
report” that highlights any passages from the paper that might not be
authentic, and lists web sites and other resources with content that matches
that in the paper (“About Turnitin.com”).
Students can use Turnitin.com to:
•
Quickly track down sources used in their essays, minimizing the chance that
they will forget to cite sources.
• Learn about the concept of plagiarism and its consequences for the student,
course, and the academic community as a whole.
• Acquire tips on how to avoid both Internet and conventional plagiarism.
• Learn guidelines for proper citation.
• Gain strong research and writing skills.
• Clarify misunderstood concepts like fair use, public domain, and copyright
laws.”
For more information please visit http://www.uah.edu/library/turnitin/.
The students are urged to use turnitin.com before the submission
of their papers. The instructor will use turnitin.com in the evaluation of the
papers.