Skip to content. | Skip to navigation

Personal tools
You are here: Home Computer Programming for Kids DVC College for Kids Plans and Reflections from 2005 Session II Plans and Reflections for Mutiplayer Game Programming, Python and Squeak

Plans and Reflections for Mutiplayer Game Programming, Python and Squeak

Tuesday, July 12


Welcome!
Review of procedures and rules

Dave shows a small disc-shaped robot
Is it a computer?
Discussion of programming
What decisions? State? Loops?

Kids introduce selves, talk about programming experience

PYTHON
Class objective: to be able to create simple Python programs
Introduction to Python
Sample Pygame programs
Variables
Using the shell and editor
input, raw_input
if
ranges
random.randrange

Reflection
We got as far as the input statement. I'm not sure everybody gets the concept of variables. We explored some of the Pygame samples and Pygame.org. Then we played around in the shell until the very end when I created a simple program that asks "What is your age" and then displays a special message if your age is 5 (like if your five year old sister is playing it).

SQUEAK
Class objective: to be able to create simple Squeak projects
Introduction to Squeak
Painting
Driving car
"Color sees"

Reflection
This went as planned. Lots of enthusiasm.

MULTIPLAYER NETWORK GAME PROGRAMMING
Class objective: to understand networking and multiplayer game concepts, and to create a simple multiplayer game
Introduction to TCP/IP client/server concepts
Review of/Introduction to Squeak
Squeak's Collaborative features
Croquet demo

Reflection
Everybody is up to speed on Squeak now. TA Ian gave a brief Croquet demo at the end of the period, which everybody enjoyed.

Wednesday, July 13


Speaker Tomorrow
Kids introduce selves, talk about programming experience

PYTHON
Continue:
Using the shell and editor
input, raw_input
if
ranges
random.randrange

Reflection
We got as far as input and raw_input.

SQUEAK
Continue:
"Color sees"

Reflection
I think this class is enjoying themselves. I showed a "cat" that encounters a "dog" and then makes a turn. I showed how to draw and follow a path. Since several of these students are also in the 3rd period class, which is doing mostly squeak, I must find a way to not bore them with lecture about things they already know.


MULTIPLAYER NETWORK GAME PROGRAMMING
Class objective: to understand networking and multiplayer game concepts, and to create a simple multiplayer game
Introduction to TCP/IP client/server concepts
Continued work on Squeak--new lessons
Squeak's Collaborative features
Croquet demo, continued

Reflection
One of the TAs tried Croquet on the school computers and they are just too slow. We need to try some other ideas.
 

Thursday, July 14


PYTHON

Continue:
input, raw_input
if
ranges
random.randrange

Reflection
It's going a little slowly, but kids seem happy. We got as far as the if statement.

SQUEAK
Animation

Reflection
This went well, with most of the kids finishing their own animation project by the end of the period. There are quite a few steps to this, and it would have helped if more kids took notes during my demonstration.

MULTIPLAYER NETWORK GAME PROGRAMMING
Jenna Chalmers talk

Reflection
This was an outstanding talk! Jenna is a friendly and lively woman who knows a great deal about making computer games. She shared a lot of information about game design, and ended with screen shots and an engaging description of the game play in the game Spore, which she said is about a year and a half away.

Tuesday, July 19

 
Photos from Maxis talk

PYTHON

Review

Continue:
if
ranges
random.randrange

Reflection
We now know this material pretty well. We used QuickQuiz to test knowledge of variables and input. I created a single 6-sided die throw simulator, and then a coin toss simulator.

SQUEAK
Animation

Reflection
We had a QuickQuiz quiz, which the kids enjoyed. Ethan gave a review of animation. I made a guy stretch (like the Fantastic Four guy).

MULTIPLAYER NETWORK GAME PROGRAMMING
TCP client/server fundamentals
How to find your IP address
How to find what port Squeak (or anything) is listening on
Ping
traceroute

Reflection
It's challenging to present this in a way that's not terribly dull, but I think we understand the general idea of a client and a server, and that a client needs to know the server's IP address. We experimented with ping and tracert, try places near and far. We found it's about 12 hops from DVC to spore.ea.com. We had time for 7 1/2 minutes of Squeak at the end.
 

Wednesday, July 20


PYTHON

Review
Random number programs, simulations

Reflection
We made a coin toss simulation, and ended with making a random choice from a list. Chris Gibson showed the graphical library LWJGL and showed the kids how he made models and textures for an example game.

SQUEAK
Animation

Reflection
I showed a teleporter example, using random tiles.

MULTIPLAYER NETWORK GAME PROGRAMMING
TCP

Reflection
Chris show his project (see above).
Great QuickQuiz on TCP topics: ping, tracert and such.
 

Thursday, July 21


PYTHON

Review
"Madlibs"-type program. (See description from first session)

Reflection
There were several interesting and amusing variations on the theme I presented.

SQUEAK
Learn about Alan Kay
"Turn towards"

MULTIPLAYER NETWORK GAME PROGRAMMING
Learn about Alan Kay
netstat command
QuickQuiz
Low level TCP packet monitoring (Ethereal)
 

Tuesday, July 26


Python

Introduction to graphics programming with graphics.py

We learned to make a graphics window and put circles and lines in it.

Squeak

A drop of water falls and waters a seed, which then grows

Multiplayer Network Game Programming

TCP/IP server programming in Python

We played with a Python program that accepts one connection at a time, and displays whatever the person (or program) at the other end sends to it.

Wednesday, July 27


Tomorrow is last day--parents are invited.

Python

Combining graphics with loops

I showed how rather than typing multiple statements to create lines that were identical in all but one x coordinate, we can use a for loop.

Squeak

Collaborative features

Wow, this was a big hit, as it was last session.

Multiplayer Network Game Programming

TCP/IP server programming in Python

We played with the MathQuizGame, and TA Chris created a bot that answered the questions at "light speed."
 

Thursday, July 28


Pens
Photos
Thanks to the TAs
Thanks to you
Other classes
Where to download the free software we've been using
QuickQuiz:
research and report briefly on something you find interesting from http://computerhistory.org/
items in test below
Class feedback PMI

PYTHON

Plan

Finish lesson with loops and graphics
Test: Write one or more programs that use as many of the following language features as you can, and show them to Dave or a TA. You may use your notes, python.org, the help in Idle, and dbschools.com as resources. You must work alone. If your parents are with you, you may quietly describe what you're doing (don't give anything away to the people sitting next to you), but they may not help you.

print
if
variables
input, raw_input
lists
random.choice, random.randrange
GraphWin, Circle

Math quiz game lesson, continued

Reflection
This went well. The computer history museum research project was especially interesting. We didn't have time to do the test, but I did quiz on most everything. I think this course was successful as an introduction to programming for kids.

SQUEAK

Plan

Test: Write one or more programs that use as many of the following language features as you can, and show them to Dave or a TA. You may use your notes, squeakland.org, and dbschools.com as resources. You must work alone. If your parents are with you, you may describe what you're doing (don't give anything away to the people sitting next to you), but they may not help you.

A morph that uses "color sees"
Animation
Joystick
Random numbers

Reflection
I had the kids self-report on the number of items they completed, and I added that to their QuickQuiz score. Most kids did pretty well.

MULTIPLAYER

Plan

QuickQuiz:
telnet
ping
traceroute (tracerte)
netstat
ipconfig
what info to connect to a server
Sourceforge

Lesson: Walkthrough of the math quiz game
Lesson: Writing a math quiz game "bot" client

Reflection
We didn't follow the plan too well. Half the class submitted nothing to the computer history musuem assignment quiz question, so I made those kids research and deliver oral reports. Chris Gibson showed some new features in his 3D demo of a ship out among asteroids, not far from earth.