At the beginning of this year, I wrote a post about how I opened a free programming circle for children at a Moscow school. The school year has passed (the summer has already passed, but I still will not write an article) and I want to share my experience and impressions. In the comments to the last post there were a lot of useful tips. Many thanks to all for the interesting thoughts. Something I managed to put into practice. Then I will tell you about the moments that I noticed during the training.
Problem with time
Lack of adequate time and my inability to competently dispose of them is the main problem in organizing a circle. Corollary number one: no time - no quality material. There were more ideas, but did not have time all the time. Corollary number two: few lessons - few had time. Before the start of classes, most of the guys did not know how to program. During the academic year I managed to spend only 19 lessons of 1 hour. During this time, learned the basics of Python, plus some trivia outside the specific programming language. Since as I wanted to have time to go through the entire program, the theory was more than practice. As a result, the information is poorly taken root. ')
Games and Awards
In the comments of the past of my post, mmvds said that his teacher gave sneakers and dollars for certain progress of the children. I liked the idea with dollars. I bought 5x1 bucks, prepared interesting puzzles, and ran to class. There I announced the conditions, but I had to stop at this. The computer science teacher, who should sit with me in class, was against the distribution of money. She said that it is better to consult with the director. There were no prizes on this day. The director then also gave a negative answer. As a result, had to go to the edible. Nevertheless, the distribution of prizes for good answers spurred the guys and brought their own benefits.
Raspberry pi
In order to somehow diversify the classes, I bought a Raspberry Pi, a breadboard and LEDs and began to think of how the guys could control these LEDs. In the process of inventing, I came across an article about an LED RGB tape. Then I threw out the mockup and the LEDs, ordered everything I needed from the Chinese and made such a wonderful box on my knee:
It was the most interesting part of the class. The children were especially active and obviously liked them. Learned how to connect via ssh / write to files / met with the RGB color model. It was interesting. Managing real stuff through your programs is awesome.
Turtle
When I showed them a bug , they had lights in their eyes, because they went through it in the school curriculum and the bug control algorithms remained in memory. All at once began to show who in that much.
Keeping records
The children must keep records, but everyone is too lazy to write, and I allowed myself the weakness to refuse to keep notes in class, for which I paid - they forgot some things and there was no source for memory recovery.
Individual approach
It is very important to follow everyone. There is a category of guys who, when they do not understand something, believe that it is better not to stick out. I had to spend a lot of time in class on coming up personally and explaining everything.
Preparation material
Collected bit by bit from different sources. Sometimes he resorted to the book Mark Lutz - Learning Python . The Python for Kids book turned out to be quite useful. If anyone is interested, here are my presentations from classes.
I did not know Python before the discovery of the circle and the lack of knowledge of the language sometimes made itself felt. Children ask questions and if not experience with other languages, it would have been difficult.
Attendance
Almost all the guys had absenteeism. Someone was sick, someone with their parents on holidays, someone else somehow. Especially felt gaps on the adjacent days with the holidays. There were fewer students, and the material should know everything, otherwise it is difficult to move on. It was necessary to somehow take this into account. Gave more practice on such days.
Logical tasks
At the end of each class, I gave logical riddles to the children at home. They were always perceived with interest, sometimes we decided and discussed them together.
Plans
From the very beginning, there were 15 people, of which 11 remained to the end. I think that is not all that bad. I want to continue. Inspired by the book “ Programming Games and Puzzles ” by J. Arsak, I decided this year to make a circle on the subject of the same name. Hopefully, the guys who worked with me last year will remain, plus I want to get new guys who already know how to program a little.
This time I decided that I would not open the set until I had prepared the main part of the training material so that it would no longer happen that in the last hours before class I try to gather the material for a lecture. The material must be of high quality and developed.
A progress control will be introduced, because it definitely motivates. I will also try to invent homework - not laborious, but accommodating the studied material. And yet at least some notes should be kept.
As a programming language, I decided to leave Python. Everything suits me.
PS If you, dear readers, have information about interesting material on the subject of programming games and puzzles, I would be very grateful.