CS 140 Data Structures Spring, 2002


............................................................................
-
background expected:
-
Students are expected to be comfortable with the C language--typically
having had a semester of programming in C. I make no particular assumptions
about recursion, files, dynamic programming with malloc, etc.
-
basic course content:
-
This is a programming-intensive course, and students should exit the course
with good skills in terms of being able to implement all kinds of linked-lists,
trees, and other data structures. We'll be working with a variety of algorithms
for height-balanced and weight-balanced trees, for retrieval trees, for
minimaxed game trees, etc. We cover hashing, sorting, searching, efficiency,
graph algorithms, etc. Applications in various fields of computer science
will be stressed. For the first 2/3 of the course (roughly) students work
alone on programs, and for the final third, in small groups. I expect to
spend perhaps 3 weeks or so toward the end on the course covering the basics
of C++, and there will be an assignment (or two) in C++. Along with C++,
I'd like to teach some basic parallel processing--i.e. what kinds of data
structures are amenable to being done in parallel.
-
a few details:
-
Labs are required. I do not teach out of the textbook, and the text therefore
serves as an alternative presentation of data structures. Program assignments
will all (or almost all) be self-contained--i.e. you will write the whole
thing. I will often provide some test data. A few assignments may be very
vague: e.g. "do something interesting in data structures using C++". If
you like everything carefully specified, that's tough.
-
helpful examples??
-
in my "student" account (dws112) in the subdirectory cs112 you'll find
program assignments, data sets, sample C programs (e.g. perhaps a short
program such as grabdata.c showing how one can grab the test data).
