View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Book Coverage and Ideas

Things to learn/check.

1. login
2. save backup image
3. never "save" squeak. instead publish. in worst case, restore backup image.
4. getting comfy with different behaviors
- halo operations.
- simple scripting motion by dragging
- challenges??
5. connecting to servers, where to publish.
6. pllugin vs standalone.

General Advice

There are lots of places to look.
Some you should avoid (for now).
Squeak built on top of smalltalk.....
You don't need to know about all this.

Halos: ignore debug tool.
useful - getting tile, and moving object around, rotating it, etc. BY HAND.
menu on halo:

etoy friendly preference disables "movetowards dot" command. ugh. (this may be old version) BUT, you don't get stuck with popup World menu.
But World menu is useful... allows wrapping/or not. gridding.... playfield options, etc.

Demos Wanted

- one object chasing another
- creating objects
- destroying objects
- general design of prototype
- pen trails
- painting to edge
- control of object
- starting/stopping stuff
- points
- show/hide and utility
- bouncing off objects


Possible first Challenge ? Pong game against computer.

General - what are objects?

do you need dynamically created/destroyed objects?
what are scripts associated with objects? what do they do "by default".
what events trigger what events?

Topical Coverage Ideas


CS topics
Interpreter vs compiler
Different types of langugages... declarative/imperative/oo/functional
(at general level)
All languages come with
primitive commands:

I/O [files, input from user, screen output, data transformation,.. sound
production....]

Operations on data
Kinds of data
Variables, assignments, functions specific to type of data
(number: arithmetic, string: concatenation, substr color: ??)
Collections

Program control
straight code
conditionals
iteration
recursion
concurrency

Program design

structured pgming for imperative languages
generality
Objects & prototyping... siblings... classes... .inheritance
encapsulation/public-private vbles
event-driven programming
modularity

Squeak.
explain all of above in context of Etoys
create fun projects that demonstrate each of the above things in
isolation, or in a slowly building way.
create specific how-to's for using various features and effects
familiarity with squeak value-added plug-ins (multimedia, sharing)
different types of projects you can do in squeak
(vid game, simulation, presentation, "computation", art)


Places to Go


  1. Supplies
    1. Object Catalog
    2. nextpage and prev page buttons
    3. allscripts
    4. trash
    5. grab patch
    6. lasso
    7. sticky pad
    8. text
    9. sound
    10. rectangle
    11. roundrect
    12. ellipse
    13. star
    14. curve
    15. polygon
    16. button
    17. slider
    18. joystick
    19. book
    20. clock
    21. random
    22. holder
    23. playfield
  2. Navigator
  3. Object's Viewer (panes)
    1. basic
    2. scripts
    3. color and border
    4. geometry
    5. motion
    6. pen use
    7. tests
    8. drag and drop
    9. scripting
    10. observation
    11. miscellaneous
  4. Object's Viewer (menu icon at top)
    1. add a new script
    2. grab me
    3. reveal me
    4. tile representing me
    5. more... (don't go there)
  5. Object's Viewer (v) button at top adds a new variable
  6. Script Viewer
    1. tear-off tests
    2. menu obtained by clicking on name
      1. random tile
      2. tile for self
      3. button to fire script
      4. fires per tick
      5. stuff you shouldn't use
    3. show code textually (don't go there)
  7. Assignment Statements
    1. arrow and not arrow
    2. mathematics, expanding triangle, and functions
  8. Halo
    1. Red Menu Icon
      1. send to back
      2. bring to front
      3. embed into
      4. fill style
      5. border style
      6. drop shadow
      7. layout
      8. halo actions
      9. checkboxes
        1. resist being delted
        2. be locked
        3. provide clipping
        4. direction handles
        5. accept drops
      10. copy & print...
      11. siblings....
      12. export...
      13. stacks and cards...
      14. extras...
      15. debug...(ignore)
  9. World Menu (red menu icon for world)
    1. many same as for any object, such as
      1. save (don't do this - will save image file)
      2. save project
      3. jump to project
      4. quit
      5. etc.
    2. desktop menu
      1. appearance
      2. authoring tools
      3. playfield options
      4. flaps
      5. projects
      6. open (don't go there)




Links to this Page