What is debugging?

Debugging is the process of refining the instructions that you give the machine. Adding specificity to the description of your desired state. Bugs are not creepy crawlies that come from outside and wreak havoc in your program--though it often feels that way. Bugs are a failure to fully specify your desired outcome. 

I reference this video in the lecture. It's worth a watch.