What should I expect on the final?
The final will consist of 5 or 6 problems drawn from the various units we have covered in this course.
Algorithm Complexity,
Linear Data Structures
Recursion
Trees
Priority Queue and Heaps
Hash tables
Graphs
Sorting (to come)
You will be asked to complete 4 or 5 of the 5 or 6 problems.
In each problem, you will be asked
Give a simple algorithm to manipulate a data structure (similar to the questions on the midterm and PoW)
Answer a couple questions about your implementation
The final will be hand-graded by me. Marks will be an award for the correct approach rather than the correct code. I.e., I am looking for understanding and application of concepts rather than perfect implementations. In fact, even if you submit a pseudocode, you will get the marks.
The final will be done in Mimir because it provides a way for you to get confidence that your solutions are correct. But, as I said before, pseudocode will be accepted. Also, I can view your partial solutions in Mimir in real-time and provide feedback while you do the final. This will allow me to help you if you get stuck during the final
What if Mimir is not working?
The questions will be provided both in Brightspace and Mimir.
If for some reason Mimir fails, or your internet connection fails, or anything else happens. You will be able to submit your solutions on Brightspace (a single document of some form is fine), or email it to me if all else fails
How do I study for this final?
Review problems of the week. I am hoping to make sand-box versions in Mimir that you can redo at your own convenience.
Consider doing some of the problems I put forth in lectures
Review the concepts and ideas behind the data structures and algorithms we discussed
Try implementing some of the pseudocode in Java
Do all the pseudocode questions on the sample midterms. I will post a couple more shortly.
What if I have questions or concerns?