Exam Policies
- Closed book
- Closed notes
- No calculators or other electronic devices
- Begins promptly at 2:30 and ends promptly at 3:20
Topics Covered
The midterm covers all the course material up through and including
using heaps to implement priority queues. In addition to topics
covered on the first two homeworks, topics include dictionaries, AVL
trees, priority queues, and heaps. All material covered on the exam
will have been discussed in class and included in the posted lecture
materials though you may be asked to apply ideas in slightly new ways.
The exam will not test the AVL-tree delete operation or the proof
that an AVL tree has logarithmic height.
Exam Format and Sample Midterms
Our exam will consist of various types of short-answer questions.
You may be asked to write or read Java code or pseudocode. Below are
several sample exams from prior offerings of CSE373 but please
understand these caveats:
- Topics covered on these exams may not be the exact same topics
covered on our exam; please see above for the topics covered on our
exam.
-
As a particular detail, several of the exam questions test the
definition of a full tree. We did not cover this
definition, so it will not appear on our exam. (For those
curious, a full binary tree is a binary tree where no node
has one child.)
-
The sample exams are provided as a study guide, not as
any guarantee of the format of our actual midterm in terms of
length or type of questions. In particular, they are from
different instructors since Aaron has not taught CSE373 before, and
every instructor brings a certain style to exam-writing.
We think you will find the actual exam somewhat familiar
compared to the sample midterms, but some differences are likely.
Sample exams:
Additional Study Suggestions
- Re-work problems from lecture and homework.
- Do additional problems from the textbook.
- Practice all the operations on stacks and queues, binary search trees, AVL trees, and binary min heaps.
- Practice analysis of algorithms.