Guy, I've read the first lesson slides, and I must say this is very good :-) The best of all is the "human computing" demos.
As I explained in the wiki, I've been worried that it might become a long, boring, slideshowing session (due to lack of practical exercises). The two little demos fully answer that, and are much better than my ideas for solving this problem. I take off my hat (no - I didn't promise to eat it or anything, just appreciating a good idea), and will update the wiki sometime soon. To make myself useful, I'll add some comments. * The slides cover material from point 3 and on in the plan (python-for-school.html). Point 1 seems straightforward, but point 2 (about free software) seems to contain issues that trigger long essays and discussions on the net. I'm sure the subject is important, and that you'll make it short, informative and representative. However,it would be nice if you put a few words about it in first slide (some people will be curious about what you said, and some extra propaganda for the cause can't hurt). * Do you have some ideas for self reading/self exercising for the week between the first and second lesson? Maybe some pen & paper experiments, extending the "robot" demo? For example, you can describe a small size labyrinth as a grid where each cell is either "wall" or "path", with an single "entry" and "exit" points on the otherwise closed border. The robot can see the cell in front, can turn left, right or move forwards. You write a "program" describing the decision to make for each step. One possibility is having them write the "wall follower" algorithm (lookup "Mazes" in wikipedia), maybe in a guided way (this might be too hard). Another is: (1) supplying the algorithm (2) asking them to "run" it on a simple maze to see it solves it (3) asking them to find a labyrinth that the program can't solve (or just supplying one with a loop, and asking them to run it there) (4) now, you say the robot also knows for each cell whether it was visited before or not (e.g. - each cell is either wall, visited passage, or unvisited passage). You can now ask to use this extra input to write a program that can solve the maze from (3) - Tremaux's algorithm (see Mazes in wikipedia), probably supplying hints. If your'e interested, I think I can make a self guided exercise in hebrew out of this. * nodes 7-13 describe elements of computer language. The problem is that some of them describe complex concepts (at least they seam complex to me), which are not demonstrated in this lesson, and will only be encountered (if at all) far later in this course's plan. These will be probably forgotten by the time they get to them, so I'm not sure about the effectiveness of these nodes (also, as you might guess, I'm uncomfortable about node8 - variables). I guess I'll have to come up with more detailed explanation of this point and/or alternative suggestion... * node5 (how programmers think), first point: programmers, despite what many of them think, *are* regular human beings. I'm sure that was a joke, but I suggest to avoid it and use "other" people instead of "regular" people - some people who did not attend the lecture might read your slide and interpret it some other way (people can misinterpret anything). * typos: () node 4, first point: "milot mafteah" () node 10, second point: the closing parenthesis appears reverse (at least on my firefox). () node 15, fifth point: "shelet" instead of "kelet"
