Backseat Pictionary Discussion Programming a computer, or telling Karel what to do, means that you are giving specific instructions for the computer to follow. The computer will follow any instructions you give it, exactly how you give it! Even if you tell Karel to do something that ends up making Karel crash into a wall, the computer will still follow your exact instructions. This means that you must tell the computer every single step of what you want it to do in a way that it understands. Class Exercise In this exercise, you will direct your partner to draw a picture. The game works like this: 1. Draw something simple. It should only be made up of up to four to five different shapes. Be sure to not show your partner what it is! 2. Sit facing away from each other. Tell your partner how to draw your picture, step by step. You may not look at what your partner is drawing. You cannot say things like, “Draw a snowman.” You must say things like, “Draw a large circle. Now draw a smaller circle above the large circle.” etc. 3. When you are finished directing your partner, look at the resulting picture. Did it match your original picture? Why do you think the pictures are different? 4. Switch roles. Your partner should draw a picture and direct you to draw it. Remember the following rules 1. Your partner may not see the picture you are describing before he/she draws it. 2. You may not look at the picture your partner is drawing while you describe how to draw it. 3. You may not say things like “Draw a face” or “Draw a tree”. You may only instruct your partner to draw shapes and their relative positions. Discussion Questions 1. Did your partner interpret your commands in a way that you did not expect? What about the command made it easy to misinterpret? My partner had a bit of trouble interpreting some details of my commands. I was not being clear enough when describing what to draw next, leaving out important details such as the size. 2. Why do you think computers need such precise instructions? Without instructions, computers are not capable of doing anything as they do not have the ability to make decisions for themselves. Although some programming languages are capable of filling in the blanks when developers are not being “specific” enough, precision is always good in programming as it will not leave anything up to the compiler and risk unexpected results. 3. Were you surprised by how detailed your instructions had to be? How does this relate to telling Karel what to do? 4. What would you have done differently if you were to do this exercise again?