Apparently, a part called the "timing belt" broke. This little widget makes sure that the pistons and valves move in a coordinated way; without it, the pistons might come up while the fuel-injecting valves are still open, causing absolutely massive lossage in the engine.
Well, guess what? The pistons came up with the valves open.
The mechanics aren't sure about the extent of the damage yet, but apparently this might have completely destroyed the engine--a $2k or more repair. (No, this thing isn't on warranty--it's nearly ten years old, although the previous owner put less than twenty thousand miles on it, so it's actually in pretty good shape.) My grandparents are willing to pay it, but my parents might insist on getting a different car if it's going to be that expensive.
So, I'm almost certainly without car for more than just a few days, and maybe even for weeks or months if I have to find a new car.
And meanwhile, I have a rather large data structures assignment due...actually, I think it's the day after tomorrow--it's "Friday at 24:00", which I take to mean Friday 23:59 + one minute. The assignment is to implement several sorting algorithms; I'm already not going to be able to write heapsort, because I have totally forgotten heaps. And the thing has at least a dozen syntax errors, because I haven't written a C++ program of any significance in years.