Final Exam Information
- Closed book
- Closed notes
- No calculators or other electronic devices
- Begins promptly at 2:30 and ends promptly at 4:20 on Tuesday, March 15
The final exam is "cumulative." There will be somewhat more weight on post-midterm material.
However, you are advised to master any first-half material you missed on the midterm
and study all the topics listed on the midterm information page, including those that were not
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.
Exam Format and Sample Finals
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 CSE 373 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
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. We think you will find the actual exam somewhat familiar
compared to the sample midterms, but some differences are likely.
Below we have repeated the sample midterms from the study
guide for the midterm. Because our final exam is cumulative, it
makes sense to provide questions from old midterm exams. In addition, we have provided a few additional sample
questions, but we do not have as many available.
Some additional questions
- We encourage students to post their own questions for others on the discussion board or send the staff suggestions.
Additional Study Suggestions
- Re-work problems from lecture and assignments.
- Practice all the operations on stacks and queues, binary search trees, AVL trees, binary min heaps, union-find, hash tables.
- Practice hand-simulation of topological sorting, computing minimum spanning trees with Kruskal's algorithm,
finding shortest paths with Dijkstra's algorithm, depth-first and breadth-first search of graphs,
and sorting via Insertion Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort, and Radix Sort.
- Practice analysis of algorithms, including finding values of c and n0 to show that one function is in big O of another.