West Virginia University
College of Engineering and Mineral Resources
Department of Computer Science and Electrical Engineering
CS126: Analysis of Algorithms
Fall 2000
3 credit hours
Class Info: Meeting times: MWF 09:00-09:50
Location: G 83
Instructor: K. Subramani
Email: ksmani@csee.wvu.edu
Office: ESB 749
Office phone: 293-0405 ext2559
Office Hours: Times: M 10:00-11:00 am
Tu/Th 10:00-11:00 am
Or by appointment
Prerequisites: CS 26 or equivalent undergraduate course on Data Structures/Discrete Mathematics. Familiarity with Programming in one high-level language is highly recommded.
Text: T.H. Cormen, C.E. Leiserson and R. Rivest Introduction to Algorithms,
McGraw-Hill, 1990.
Software: Some of the homework problems and the course project will require the use of a computer. You should be able to code in a high-level language.
Web-page: A World Wide Web (WWW) homepage is maintained for this class at the following URL:
http://www.community.wvu.edu/~krsubramani/courses.html
This web-page will contain important announcements and materials handed out in class, including homework solutions.
Assessment: Homework 20% ( 2 homeworks )
Quizzes 30%
Midterm 20%
Final Exam 30%
Grade
Boundaries: A 90% You are guaranteed at least the letter grade shown here if you
B 80% obtain the corresponding score. However, at the discretion of
C 70% the instructor, these decision boundaries may be adjusted in
D 60% the students’ favor. A ‘+’ or ‘-’ grade may be reported if the
score is near a boundary.
Homework/Computer
Assignments: There will be 2 homework assignments given in the semester. You will be given at least one week to complete each assignment. Some of the problems may require the use of a computer. Solutions to the written problems will be handed out and/or posted on the web page soon after they are due. Late homework will not be accepted.
Exams: There will be two quizzes, one mid-term exam and a comprehensive final exam.
Missed Test
Policy: You are expected to attend the final exam at the scheduled time and date. If you have an unavoidable conflict, please let me know as soon as possible, but no later than one week before the exam. The decision to give a make-up examination is at my discretion. If you miss the exam without first having your absence approved, then the only acceptable excuse is for documented urgent medical reasons or approval by the appropriate university official.
Honor Code: All work submitted for the quizzes, midterm and final exam must be your own unaided work. You may confer with your colleagues on interpretation and approach to homework problems (including the computer assignments), but the solutions must be your own. All code that you turn in for your computer assignments must be well documented and entirely your own work (except for code that was given to you by the instructor).
Regrading:
If you believe that I made a mistake or was unfair in my grading, you may request a regrade. However, the request must be made in writing and within one week that the assignment or exam was returned. The decision to change the grade is entirely at the discretion of the instructor.Attendance: Attendance will not be taken. However, you will be responsible for all material covered in class, even if it is not in the textbook. It is your responsibility to make sure that all assignments are turned in on time and that you are aware of all announcements made in class. Please arrive to class on time.
Social Justice
Statement:
Tentative Schedule
No. Date Lecture Topic Reading
1 8/21 Course policies and overview this syllabus
4 8/28 Recurrences Chapter 3
5 8/30 Mathematical Induction Class
6 9/1 Recurrences Chapter 4
9/4 Holiday --- no class
7 9/6 Arrays, Stacks, Queues, Lists Chapter 11
8 9/8 Binary Search Trees ( Homework 1 ) Chapter 13
9 9/11 Divide-And-Conquer ( Merge-Sort ) Notes
10 9/13 Quick-Sort Chapter 8
11 9/15 Heap-Sort Chapter 7
12 9/18 Medians and Order Statistics Chapter 10
13 9/20 Greedy ( General Approach ) Chapter 17
14 9/22 Greedy ( contd. ) Chapter 1
15 9/25 Quiz 1
16 9/27 Dynamic Programming ( Matrix Multiplication ) Chapter 16
17 9/29 Dynamic Programming ( Longest Common Subsequence ) Chapter 16
18 10/2 Dynamic Programming ( Polygon Triangulation ) Chapter 16
19 10/4 Midterm-Review
20 10/6 Midterm
21 10/9 Graphs and Representations Chapter 23
22 10/11 Breadth-first search Chapter 23
23 10/13 Depth-first search Chapter 23
24 10/16 Topological sort Chapter 23
25 10/18 Minimum Spanning Tree ( Prim ) Chapter 24
26 10/20 Minimum Spanning Tree ( Kruskal ) Chapter 24
27 10/23 Single-Source Shortest Path Chapter 25
28 10/25 Dijkstra’ Algorithm Chapter 25
29 10/27 All-Pairs Shortest Path Chapter 26
30 10/30 All-Pairs Shortest Path Chapter 26
31 11/1 Amortized Analysis Chapter 18
32 11/3 Amortized Analysis ( Homework 2 ) Chapter 18
33 11/6 Red-Black Trees Chapter 14
34 11/8 Lower Bound Theory Notes
35 11/10 Quiz 2
36 11/13 Maximum flow Chapter 27
37 11/15 Maximum flow ( contd. ) Chapter 27 38 11/17 Maximum flow ( contd. ) Chapter 27
11/20-11/24 Thanksgiving break --- no class
39 11/27 Number-Theoretic Algorithms Chapter 33
40 11/29 Cryptography Chapter 33
41 12/1 Computational Geometry Chapter 35
42 12/4 Computational Geometry Chapter 35
43 12/6 Review
44 12/8 Review
12/14 FINAL EXAM, Wednesday, December 13, 08:00 - 10:00 AM