What are the reasons programmer's have trouble with scheduling?
Find your favorite program, and try to use it in a completely wrong manner. Open up files of the wrong type, choose invalid options, close windows that are supposed to be open, etc. Count how many different error scenarios they had to account for.
What are corner cases? Can you list examples of numeric corner cases?
Why is user testing so important?
What are stubs and drivers used for? What's the difference between the two?
What are recovery points used for?
How many different error codes should a program have?