Programming Circle. First year results

    At the beginning of this year, I wrote a post about how I opened a free programming group for children at a Moscow school. The school year has passed (summer has already passed, but I still won’t write an article) and I want to share my experience and impressions.

    There were a lot of good advice in the comments on the last post. Many thanks to all for interesting thoughts. I managed to put something into practice. Next, I will talk about the points that I noticed during the classes.

    Problem with time

    The lack of the proper amount of time and my inability to properly manage it is the main problem in organizing a circle.
    Corollary number of times: no time - no quality material. There were still ideas, but I didn’t keep up.
    Corollary number two: few lessons - few in time. Before the start of classes, most of the children did not know how to program. During the academic year, I was able to conduct only 19 lessons of 1 hour. During this time, we learned the basics of Python, plus some little things outside of a particular programming language. Because As I wanted to have time to go through the entire program, there were more theory than practice. As a result, the information did not take root well.

    Games and rewards

    In the comments of my last post, mmvds said that his teacher gave sneakers and dollars for certain successes of the guys. 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 there. The computer science teacher, who is supposed to sit with me in class, was against giving out 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, I had to switch to edible. Nevertheless, the distribution of prizes for good answers spurred the guys and brought their own benefit.

    Raspberry pi

    In order to somehow diversify the activities, I bought a Raspberry Pi, a breadboard and LEDs and began to figure out how the guys can control these LEDs. In the process of inventing, I came across an article about LED RGB tape. Then I threw out the breadboard and LEDs, ordered everything that the Chinese needed and made such a wonderful box on my knee:

    This was the most interesting part of the classes. Children were especially active and clearly liked them. We learned how to connect via ssh / write to files / got acquainted with the RGB color model. It was interesting. Managing real things through your programs is cool.

    The turtle

    When I showed them the turtle , their eyes lit up, because they went through this in the school curriculum and turtle control algorithms remained in memory. Everyone immediately began to show who was what.

    Record keeping

    Children must keep notes, but everyone is too lazy to write and I allowed myself the weakness to refuse to keep notes in the classroom, for which I paid - they forgot some things and there was no source for restoring memory.

    Individual approach

    It is very important to keep an eye on everyone. There is a category of guys who, when they don’t understand something, think that it’s better not to stick out. I had to spend a lot of time in the classroom to come up personally and explain everything.

    Preparation material

    Collected bit by bit from various sources. Sometimes resorted to the book Mark Lutz - Learning Python . The Python for Kids book turned out to be quite useful. If anyone will be interested, here are my presentations from classes.

    I did not know Python before the opening of the circle and the lack of knowledge of the language sometimes made itself felt. Children ask questions and if it were not for experience with other languages, then it would be difficult.


    Almost all the guys had absenteeism. Someone was sick, someone with their parents on vacation, someone else somehow. Especially felt were the gaps on days adjacent to the holidays. There were fewer students, and everyone should know the material, otherwise it’s difficult to move on. It was necessary to take this into account somehow. Gave more practice on such days.

    Logic tasks

    At the end of each lesson, I gave the guys home logical riddles. They were always perceived with interest, sometimes we solved and discussed them together.


    From the very beginning 15 people walked, of which 11 remained to the end. I think that not everything is so bad. I want to continue. Inspired by the book by J. Arsac “ Programming games and puzzles ”, I decided this year to make a circle on the same topic. I hope that the guys who worked with me last year will stay, 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 kit until I prepared the main part of the training material, so that it would no longer happen that in the last hours before classes I was trying to collect the material for the lecture. The material must be of high quality and sophisticated.

    Performance monitoring will be introduced, as it clearly motivates. I will also try to come up with homework - not time-consuming, but containing the material studied. And 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 will be very grateful.

    Also popular now: