CS 221 - Analysis of Algorithms

K. Subramani LDCSEE, West Virginia University, Morgantown, WV ksmani@csee.wvu.edu

1 General Information

1. Meeting Times: MWF, 08:00-08:50 Location: 209, MRB-E

2. Contact Information: 749 ESB, ksmani@csee.wvu.edu

3. Office Hours: MW, 10:00-11:00

4. Textbook - [GT02]

5. URL - http://www.csee.wvu.edu/˜ ksmani/courses/fa05/aoa/aoa.html

6. Assessment:

(a) Homeworks (2) - You will be handed a homework on September 7, due on September 14 and a second homework on October 21, due on October 28. Each homework is worth 15% (for a total of 30%) of your grade.

(b) Quizzes (2) - The first quiz will be held on September 21, while the second quiz will be held on November 11. Each quiz is worth 15% (for a total of 30%) of your grade and is closed-book.

(c) Midterm - The midterm will be held on October 10 (in-class, closed book) and is worth 20% of your grade.

(d) Final - The final will be held on December 16 (in-class, closed book, 11 : 00 am - 1 : 00 pm) and is worth 20% of your grade.

(e) A maximum of 5 bonus points will be awarded for class performance

7. Grade Boundaries (a) A: 75 and up

(b) B: 60 − 74

(c) C: 50 − 59

(d) D: 45 − 49

(e) F: 0 − 44

8. Grading policy - If you have any questions about the grading, you must contact the intructor within two days of your paper being returned.

9. Makeup Policy - If for some reason, you are unable to attend a test or an exam, please meet me at the earliest and I will set an alternate date.

10. Course Objectives - The objectives of this course are as follows:

(a) Introduce the concept of algorithmic design for a problem.

(b) Introduce the tools of algorithmic analysis.

(c) Develop the notion of data structuring for algorithmic efficiency.

(d) Introduce graph-theoretic problems such as shortest-path trees and Minimum Spanning Trees.

11. Learning Outcomes - Upon successful completion of this course, students will be able to: (a) Design an algorithm for a problem.

(b) Analyze the resource complexity of an existing algorithm.

(c) Develop performance metrics for algorithms.

(d) Distinguish between Greedy approaches and Dynamic Programming approaches for a problem.

(e) Develop code for graph-theoretic problems.

2 Syllabus Sketch and Weekly Schedule

2.1 Algorithm Analysis

Methodologies for Analyzing Algorithms, Asymptotic Notation, Mathematical Review. These topics will be covered from sections 1.1, 1.2 and 1.3 of [GT02] (6 Lectures).

2.2 Basic Data Structures

Stacks and Queues, Vectors, Lists and Sequences, Trees, Priority Queues and Heaps, Ordered Dictionaries and Binary Search Trees. These topics will be covered from sections 2.1, 2.2, 2.3, 2.4 and 3.1 of [GT02] (6 Lectures).

2.3 Sorting and Selection

Merge-Sort, Quick-Sort, Selection. These topics will be covered from sections 4.1, 4.3 and 4.7 of [GT02] (6 Lectures)

2.4 Fundamental Techniques

The Greedy Method, Divide and Conquer, Dynamic Programming. These topics will be covered from sections 5.1, 5.2 and 5.3 of [GT02] (12 Lectures)

2.5 Graphs and Graph Algorithms

Data Structures for Graphs, Graph Traversal, Single-Source Shortest Paths, Minimum Spanning Trees. These topics will be covered from sections 6.1, 6.2, 6.3, 7.1, 7.2 and 7.3 of [GT02] (8 Lectures).

I would like to reiterate that this is a sketch of the topics that we will be covering. For various reasons, I may choose to drop a mentioned topic or cover a new topic. In such cases, advance notice will be given.

3 Social Justice Statement

West Virginia University is committed to social justice. I concur with that commitment and expect to foster a nurturing learning environement, based upon open communication, mutual respect and non-discrimination. Our University does not discriminate on the basis of race, sex, age, disability, veteran status, religon, sexual orientation, color or national origin. Any suggestions to further such a positive and open environment in this class will be appreciated and given serious consideration. If you are a person with a disability and anticipate needing any type of accommodation in order to participate in this class, please advise me of the same and make appropriate arrangments with Disability Services (293 − 6700).

If you feel that you are being treated inappropriately or unfairly in any way, please feel free to bring your concerns to my attention; rest assured that doing so will not prejudice the grading process. In return, I expect you to behave professionally and ethically.

References

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