Objectives: to get the participants/kids acquainted with programming in a fun and engaging way. Most of the basics of programming (loops, branching, variables, functions, data structures) can readily be learned from on-line resources. However, some very important notions are hard to come by and are best learned through osmosis in a group. These include:
- proper variable naming and meaningful comments
- caching and other optimizations
- the art of maximizing the number of lines of code not written
- knowing when to ask for help
- issue tracking
When starting the session, ask everyone to introduce him/herself:
- say your name
- where you come from
- where you live
- how old you are
- what you are working on or would like to work on (ticket number) and will you present something today?
Be sure to have some project propositions available if someone doesn’t have an own idea, for instance
- code a drawing in Khan Academy. Bonus: make it move (that’s the Euler method!) .
- make a 3D model in OpenSCAD. Bonus: test out a spline library.
- using an Arduino, measure the value on an analog pin and print it to the console. Bonus: put in a small piece of conducting wire (=an antenna) and try and have the Arduino identify different configurations based on the readings (e.g. is someone touching the antenna, being close to a radio transmitter, etc.)
After a presentation:
- try and ask some relevant questions and/or give some feedback.
- encourage to register the project in a ticket on trac and share the code
- applause after a presentation (in sign language = vibrate hands, so everyone doesn’t have to turn on the mic)
At the end of the session, evaluate 5+5: On a scale of 0-5 how much did you learn? how fun was it?
What do we need to improve? Is there anything we in particular should keep doing?
When sending the invitation email for the session, remember:
- a link for signing up for the session
- a link to the conference call