        |
notes-4-27
Extending old projects, new projects with multiple objects, and integration of it all.
Difficulty about adjusting from Squeak to an object-oriented programming. Going from tiles to code is hard.
- Large step from drag and drop to coding; need knowledge on more abstract ideas
- Doing the same action without tiles. Watch and write code, learn syntax.
- Squeak not first choice in platform. Suggestions: Logos, Scheme, Visual Basic.
- Complexity of coding and understanding
- Limitations of Squeak, little iteration, funtion passing, etc.
- Loops in Smalltalk using at index.
- Wait until Scratch perhaps
Project: push button programming
Show and Tell
- Breakout: Easier to read with multiple scripts perhaps instead of one? Paddle acting curved. Needs work on collision of blocks, and levels. Tell blocks to hide when done, reset to reveal. Use of bounce. Less details, more concepts.
- Circuit Building: Building circuits, starting, timing with ticks. Provide a few simple example circuits. Ands, ors, nands, nors, latches, etc.
- Smilie Concepts: Filled in gaps, have most concepts. Siblings interaction.
- Pacman/Mouse Maze: Storing of old moves or starting position. Examples of scripts that are being built in the right side. Perhaps this is the best way to show instructions/help is this manner with the book.
- Big O notations: Suggestion to graph it.
Note: Look at different techniques, and add to the Squeak How To's. ie. how to back up, etc. Have this in a library.
Already have projects on basic skills and more complex problems
Mandate one more project on simulation. Choose anything you are interested in simulating. Create a tutorial on how to setup the simulation itself.
Examples
1. Neighborhood segregation, how does it work? Alien planet, different races, etc. Decide to stay if you have more than 3 neighbors that are your kin, otherwise move. How likely are you of uprooting? Do you end up with small pockets of segregation?
2. Traffic Jams. Natural tendency for cars to bunch up. Why do cars aggregate? Model of where a car is infront of you for some distance, then you slow down; if no car, then speed up. Cars being released at a certain rate.
3. Ant simulation. Ants finding food, dropping trails, etc.
4. Fish tank simulation...natural ecosystem.
5. Disease spread. Shaking hands party games, then you catch something, or are the murderer, etc. Cooties. Doesn't have to be disease, can be goodness, glowing colors, water cycle, plant growth, social stuff from the prisoner's dilemma.
Prisoner's dilemma is two prisoners, X and Y, really can't prove that either of them did it. Want each of them to turn the other in. Circumstantial evidence that will get you in prison for a year. If you rat your buddy out, you go free and the other prisoner goes to jail for 5 yrs. If both rat each other out, then each goes to prison for 3 yrs.
Both cooperate: both go for 1 yr
You rat, he doesn't: no time for you, buddy gets 5 yrs
He rats, you don't: no time for buddy, you go for 5 yrs
Both rat: each goes for 3 yrs
It's to the advantage of both prisoners to be rats. Globally want to cooperate with one another, and do the year, but natural tendency to be rats.
Long term: trust one another
Set up an environment where the strategy is specified by you.
Skills to build up
1. randomization: motion, behavior, waiting/arrival times
2. multi-object sibling: prototypes
3. discrete/continuous world: time/space
4. internal state, variables to modify behavior ie. fish tank
Fish example is near the limit of the complexity of hs students.
- objects wander, costumes, mutations, alleles: recessive/dominant, genetics
Genetic programming project shown.
|