Specificity in Programming

Post date: Sep 24, 2012 12:24:11 AM

Practice: with a partner, try to come up with a list of directions on how to tie your shoe. Keep in mind that you should pretend that your partner had never seen a shoe before and did not know what simple things like laces were.

spec·i·fic·i·ty

noun

the quality or state of being specific.

A good programmer needs to learn how to be specific and precise. Even the slightest bracket or comma that is missing will cause your program to not function.

These activities today will help us to begin the process of learning how to be specific.

Task 1 - Discuss

Imagine that you were trying to communicate with somebody from another planet. They could speak English but did not understand how we do things here. Imagine if you had to explain to them using only words, how to tie the laces on their shoes. Where would you start? How would they understand you?

1.

Why are we doing this? Even the most simple activities need to be broken down into painstaking details when programming. It's important to start preparing your mind to look at activities in terms of steps. We need to think carefully about each step of an activity and think about how we could explain this (or program this) to occur again and again.

Task 2: Human Centered Programming

Your task will be to work in partners to create a human programming experiment.

Partner 1: You will be the computer. You are a "dumb" machine. You know nothing except for what the programmer tells you. You can't make any decisions for yourself. You must listen and do exactly what the programmer instructs you to do, nothing else.

Partner 2: You will be the programmer. Your job is to instruct the computer what to do. You must be as specific as possible to ensure the computer does not make any errors. You may need to try multiple times to get it right.

You can both work together to plan out the instructions to "program" the computer.

Your first task will be to carefully document the precise human movements required to get from our classroom to the top of the stairs in the foyer.

You will count exactly how many footsteps to take. Exactly what direction and angle to turn and exactly when you stop. You must define the parameters within which your object (the human) can operate (i.e. when & where to start/stop). You must also define the objects you will encounter along the way (i.e. stairs, handrails, etc.)

Once you have completed this task - return to the classroom where one partner will then cover his/her eyes and the other partner will read the instructions to see if they can direct the partner back to the top of the stairs. Once completed, return to the classroom.

Discuss: Did these steps work? Why or why not? How could you improve these steps for next time?

Final task: You will work with your partner to write out a series of instructions from our classroom, down to the foyer, outside and over the overpass on Pinetree Way. Stop when you get to the other side.

** Very Important ** Be sure to carefully warn your partner when approaching the stairs, stand beside them when descending, and make sure you instruct them to hold the handrail at all times.

You will need to document every single movement and step on paper and submit these to Mr. Hamlin.

You will need to write a 1 paragraph evaluation of the experiment and note whether it worked or not and ways you could improve if you were to do it again.

Download the template here to write our your instructions.

Specificity is crucial to successful programming - it's all in the details. Hopefully this lesson will help you to understand just how important even the smallest detail can be!

Marking & Assessment

Once the final instructions are written out and the good copy has been submitted to the hand-in folder,

we will make copies for the class to engage in our peer review process.

Your instructions will be peer-reviewed using the following rubric:

Total: /15