As I said above, I can absolutely vouch for the veracity of this story. I talked to Mark the day he got his laptop stolen, and I was talking to him when he realized that it was still backing up to Backblaze.
Everything you said sounds to me like parts of higher semesters (6+).
We never did analyse an algorithm. We were never encouraged to find better ones.
"Designing a fault-tolerant distributed computing system" – I wish there were a course like that.
Maybe I just don't see the relations to real world because they teach basics first. But what do I need an engine for if I don't know that I can combine it with 2 axis and 4 tires to make it drive.
Short story:
I have on course in which we actually program.
We are programming in a bad documented functional programming language. This language only works on Linux.
When I asked my tutor why this is as it is and that I'd like to try to get it working on Macs he didn't encourage me to do this at all. He already worked a bit on this but had no time at the moment to proceed his work.
He could have just send me what he has done and maybe some known problems and maybe I'd have been able to get it working. But he didn't. (Why?)
Sadly, the teachers are sometimes not motivated to inspire their students. It might be the case that they are teaching because of the need to do it instead of wanting to do it. Some are just doing it to complete their MScs and PhDs which is a shame.
It also does sound like you're much too advanced for the level that you're at. Perhaps you can talk to some professors to do some higher level stuff or to convince them to let you skip levels? (Not sure if it's possible but one can try)
Since it has bascially the same specs as the Galaxy S it would be really nice if Samsung would stop all there closed source/custom (Bada+)Android stuff.
I always waited for the opportunity to use a stock Android on my Galaxy S. Hopefully this will be possible soon.