Nate Brunelle Today: Programming Languages, Stationary Aviation CS1110 Nate Brunelle Today: Programming Languages, Stationary Aviation
Questions?
Waitlisted Students
Last Time Ambiguity (and how to avoid it) Pseudo-code Structured way of removing ambiguity
Today Programming language for Building Airplanes
Do it, Then code it You will get 3 pieces of paper Practice making an airplane Write how to make an airplane Make an airplane with someone else’s directions Procedure for today’s activity: Code – write instructions (text only!) debug Trade instructions Follow the instructions (not politely) Show the result back to the one who gave the instructions Throw at Nate when done (hit me!)
Reflection Shortest directions? Unambiguous directions?
What makes “good” Instructions? Named things for future reference Unambiguous Concise Precise Readable Conditional Comprehensible Organized Simple
Very short instructions “Crumple into as small a ball as possible” Will this make an airplane? Ability to glide Wings?
Very short instructions “Crumple into as small a ball as possible” Will this make an airplane? In general, it can be difficult to figure out what our “goal” is We will be precise early this semester, but less so as the semester progresses.
Is this a set of “good” instructions? “Create the best paper airplane you know how to make” Yes: No:
Programming Language for making airplanes Nouns Crease Paper Corner = 2 edge meet Edge Left Side Wing Fold Hotdog Hamburger Verbs Fold Fly Throw Crease Cry Crumple Give up
Programming Language Tradeoff Usually there is a tradeoff between: The language being easy to learn Instructions being easy to write
Nate’s Language 1,1 Only 2 verbs: Fold Unfold 0,0