CS344
ALGORITHMS AND DATA STRUCTURES
SPRING 2012
Homework assignments are listed in
the Syllabus at the bottom of this page.
Lecturer: James F. Lynch
Office: SC-381
Office hours: M 10:30AM–11:30AM
TuTh 9:00AM–9:30AM, 2:00PM–3:30PM
Telephone: 268-2374
email: jlynch@clarkson.edu
Lecture hours: 9:30AM-10:45AM,
SC342
Text: Data Structures & Algorithm Analysis in C++, 3rd
edition
by Clifford A. Shaffer
Dover Publications
ISBN 048648582x
Also available as a free online
text at:
Book Homepage
Relevant
Algorithm Animations/Visualizations
OBJECTIVES
The course will teach students how to use the fundamental data structures of computer science in a wide variety of applications. It will also cover methods for analyzing the advantages and disadvantages of different algorithms so that students can decide which algorithm to choose for a particular application.
ASSESSMENT
Grading will
be based on homework assignments and exams. Homework assignments will serve
primarily as preparation for the exams.
Exams will be in-class, open book and notes. Missing an exam will result in a grade of 0
for the exam, unless it was caused by circumstances beyond your control, and
you have notified me beforehand, if at all possible. For example, if you have an officially
sanctioned Clarkson activity such as an athletic event that conflicts with an
exam, you must discuss this with me before the event, so that we can
make other arrangements. If you are
going to miss an exam due to illness, you should contact me before the exam if
possible, and I will require certification from the Clarkson dean of student
life that you were ill. The following
are not
acceptable excuses for missing an exam:
job trips, sleeping through an exam, forgetting an exam, extending a
break, and other possibilities too obvious to mention.
Homework |
10% |
|||
Three hourly exams: |
60% |
|||
Final exam: |
30% |
|||
|
|
||||
|
Hourly exam dates:
|
||||
|
Final exam date: |
SYLLABUS
|
|
|
|
|
|
|
Introduction |
Ch. 1 |
|
|
|
Mathematical foundations |
Ch. 2 |
1.3, 1.9, 2.2, 2.6, 2.11, 2.28 |
|
|
Algorithm analysis |
Ch. 3 |
2.30, 2.33 |
|
|
Lists, stacks, and queues |
Ch. 4 |
|
|
|
Lists, stacks, and queues |
Ch. 4 |
|
|
|
Stacks and Queues |
Ch. 4 |
4.6, 4.8, 4.12, 4.16, 4.18 |
|
|
Binary trees |
Ch. 5 |
5.3, 5.7, 5.16, 5.17, 5.23, 5.28 |
|
|
Binary trees |
Ch. 5 |
|
|
|
General trees |
Ch. 6 |
|
|
|
Internal
sorting |
Ch. 7 |
6.1, 6.8, 6.13, 6.15 |
|
|
|
|
|
|
|
Internal
sorting |
Ch. 7 |
7.17, 7.19, 7.22 |
|
|
Searching |
Ch. 9 |
|
|
|
Graphs |
Ch. 11 |
|
|
|
Graphs |
Ch. 11 |
11.1, 11.4, 11.6, 11.10, 11.11, 11.12, 11.14, 11.15 |
|
|
Review |
|
|