-
Introduction to Computation
last modified February 5 by mchua
Subtopics
- Constants
- Variables
- Functions
- Objects as Variable+Function Bundles
- Objects as Customizable Utilities (ie, Polymorphism + Inheritance)
- Interfaces
Approach
I think it would make sense to do this as a slideshow alternating code snippets and text notes. We should probably pick a (simple) problem and expand on it through the course of the snippets so they kind of tie together. I don't really have a problem with appropriate scope in mind at the moment; typically I think something nice and graphical is good for this sort of thing. Maybe we could implement a SIM-office where Bryan's lunch function actually compiles.
Suggestions
The "you are a robot" approach has worked pretty well for me for explaining programming to people who haven't heard of "coding" before. Have a set of instructions like toppbot.turnleft() and toppbot.take(lunchbag) and work your way up to functions like toppbot.turnaround() (which is two left turns) and control statements (if toppbott.hunger > 5: toppbott.order(lunch)) . Bonus: objects are automagically explained, inheritance isn't too hard (melbot is a toppbot with some additional "intern" features that make her continuously output questions), and interfaces and stacks can be discussed by relaying commands through a couple of people). Whiteboards work well for pseudocode, and we could mirror on a computer by using Guido Van Robot or similar. -Mel