Suppose you located your recipe for cherry pie in a cookbook written by Julia Child. She, Julia Child, is the programmer. She may have tried several variations of her cherry pie program before she got it just right. Each time she had a new idea, she couldn't just imagine what the results would be. She actually had to bake a real pie using her new idea. That is, she had to execute her modified program. Then she had to test the result by tasting the pie. Maybe it was a good idea, and maybe it wasn't... maybe it had a bug in it! This process of refining a solution until it's correct is called debugging.
Rather than planning tasks for people to perform, in this course you will plan tasks for the computer to perform. Furthermore, whereas it's easy for us to make a mistake when following a recipe (inadvertently skipping a step, or substituting salt for sugar), we can safely assume that the computer will make no such errors. If the end product is not what we expect, then the mistake is with our program, not with the computer itself.
Finding errors in programs and correcting them is much of what programming is all about. In order to make your programming experience as rewarding and painless as possible, and so you can have the benefit of our experience, you will use a friendly environment for developing your programs in this course. Initially you will use an environment for manipulating a simple robot. Later, you will use a more sophisticated environment, called Miracle, for creating JavaScript programs. These environments will, hopefully, guide you through the process in a controlled way, so that you avoid many of the most common pitfalls for beginning programmers.