CSE 373 Homework Assignments
Our first assignment has two parts. The first consists of
several pencil-and-paper exercises that involve working
with sets, relations, and functions. The second is a
Java programming problem that involves linked lists and
a recursive method. By the time you are done with these,
you'll be warmed up and ready to dig into new material.
Here
are solutions prepared by Ben Hindman.
The second assignment gets us directly into Eclipse
and the Visual Applet Framework. Here you will
enhance a pushdown stack ADT with some extra operations
and also implement some modifications to the display
options.
The third assignment is an opportunity to gain fluency
with three mathematical techniques for studying data structures
and algorithms: functional description of abstract data types,
proofs by mathematical induction, and comparing growth rates
of functions using big O notation and its variations.
Here
are solutions to the induction problems prepared by Artem Zhurid.
Note that Artem's solutions are longer than they have to be, because
he has provided a lot of explanation to make it clear to everybody
why he has done things the way he has. This set of solutions also
contains the induction proof for the sample midterm question dealing
with the number of edges in a tree containing n nodes.
This programming assignment involves partnerships, demonstrations
and serves as a warm-up activity for the projects.
The project is the main opportunity provided in the course
for pursuing a topic of your choice related to the class.
It is primarily a programming assignment involving partnerships and demonstrations. However, in most cases there is also a research component in which
you gather information about your topic. There is also a written report.