Computer Science 303
Algorithms
Fall, 2001
Weizhen Mao
Department of Computer Science
College of William and Mary
General Information |
Schedules |
Announcements |
Lectures |
Assignments |
Project |
Exams
General Information
- Instructor:
Weizhen Mao, McGl 114, 221-3472, wm@cs.
- Lectures: TR 11:00-12:20, Morton 342.
- Office hours: TR 10:00-11:00 am and 2:30-3:30 pm,
McGl 114.
- Teaching assistant:
- Daniela Puiu, dxpuiu@cs, for the programming project.
- Lei Guo, lguo@cs, for homework assignments.
- Thomas Borsari, tborsari, for the programming project.
- Teaching assistant's office hours: In McGl 121.
- Daniela Puiu: Th 5:30-6:30 pm.
- Lei Guo: M 4:30-5:30 pm.
- Thomas Borsari: T 6:00-9:00 pm.
- Textbook:
- Data Structures and Algorithms in C++, 2nd edition, by Mark A. Weiss,
Benjamin Cummings, 1999.
- Course description:
- A thorough coverage of advanced data structures, including balanced trees,
priority queues, and hashing. A systematic study of algorithms,
their complexity and implementation. A survey of methods for achieving
high algorithmic efficiency by using good data structures
and sophisticated algorithm designs.
- Course work:
- There will be about twelve homework assignments,
accounting for 30% of your final grade.
- A semester-long programming project in C++, worth 30% of your final grade,
will also be assigned.
The project consists of modules built on top of one another and
covers important algorithmic concepts such as Quick Sort and Divide
and Conquer as well as programming issues such as C++ classes.
Please check the project page for more details.
- There will be a midterm exam during the week before the Fall Break.
It is open-book and open-notes. It is worth 15% of your final grade.
- The final exam, which is also open-book and open-notes, will be on
12/14/2000. It accounts for 25% of your final grade.
- Grading policy:
- There are four cardinal rules concerning grading of the problem sets.
First, homework is subject to the honor code, but you are
free to consult texts, papers, or any published materials.
Second, give yourself plenty of time before the deadline to work
on the problems. Think before you write.
Third, you should
make your solutions clear and concise as well as correct. I will ask TA to take
points off for confused or incomprehensible or verbose solutions.
Fourth, I will accept late homework only when there is a medical condition
that prevents you from finishing the homework. A doctor's note must be
given for such consideration.
- The grading of the programming project will be based on the correctness of
the programs, the efficiency of the algorithms, the programming styles,
the quality of design, and documentation. Late submissions of the project will
not be accepted.
- Your final grade (in points) will be calculated by the following formula:
(Your homework total / Maximum homework total) * 30 +
(Your project total / Maximum project total) * 30 +
(Your midterm exam total / Maximum midterm exam total) * 15 +
(Your final exam total / Maximum final exam total) * 25.
Final letter grades will be given based on the standard scale
(i.e., 90 or above: A;
80-89: B; 70-79: C; 60-69: D; and below 60: F). However,
I reserve the right to lower these standards, which was
often the case in the past.
- Disability:
- If you have a disability
that may effect your participation in this course and wish to discuss
academic accommodations, please contact me as soon as possible.
Last modified: August 30, 2001