Really good, especially for a school project!
You've got a great engine here.
I looked at your source code and its airtight.
I'd have loved to have something like this when I was starting out.
(I'm finally at a good place now, and I'm releasing my own prototype soon, but I had to go completely overboard to get there.)
You have an extremely solid base here. That's important!
You better get an A for this. (* ・ω・)☞