An approximate solution would work for the above but you can see how easily it pops up: http://en.wikipedia.org/wiki/Subset_sum_problem
Complexity theory is the coolest thing I've learned. I think thats why people study it - they don't particularly care about the practicality of their work. Which is ok. Breakthroughs and connections are often unexpected (It's hard to discuss cryptography without understanding it), so you might as well let the smart people do whatever they feel like in academia than declare x,y,z to be the 'real' issues people are facing that should be solved - we have the market/industry for that.
Incidentally, I wasted a lot of time thinking about http://en.wikipedia.org/wiki/Partition_problem in high school - I was trying to figure out how to make the A-side and B-side of a mix tape of equal length.
This whole downvote storm is because your OP was "CS students love dropping four letters: P, NP, O and N. Whenever I want to judge who was a bit too focused on the surface details of computer science, and too little on the real problems, I wait to see if those 4 letters come up in a sentence." and there is a crowd of people here whose work on real problems involves those four letters all the time & couldn't be done without extensive knowledge about them and discussing them endlessly.
Maybe they don't come up so often when writing cd burning programs or robotics (though I find the latter hard to believe since any planning algorithms should hit up against this quickly), but other people have their own real problems where it does. I'm trying hard not to be dismissive here, even though your original post reeked of dismissiveness.
You would have to be crazy smart to figure out P,NP, etc. in 15 minutes without pre-existing knowledge of it.
http://www.ibm.com/developerworks/linux/library/l-scheduler/
if buffer not full:
wait (time for 5 writes);
write to 5 * read_size to buffer;
Sure, you could do it more complex, but then you create fragile code at a spot when a simppler solution would work fine.
Some knowledge about OS design would be good, I suppose. You've got a degree; what fundamental knowledge do you find the most helpful? (Meaning, things that will be relevant in 20 years, rather than familiarity with what's hot right now.)