I want to tell you about how I organized a free programming circle for children in a Moscow school. Perhaps my experience will be useful for those who wish to do something similar, and your comments will be useful for me to make the circle better.
Somewhere half a year ago, I had a burning desire to open my own programming circle for children. I decided that it would be great to recruit a group of children and teach them useful programming language and introduce the basic technologies that are used in conjunction with programming and can be useful in real life, for example, working with HTTP and databases.
Selection of programming language
The first step is to choose a programming language. The first thing that came to mind was Java. In this language I have been writing for the last two and a half years. Simple and easy to learn language, plus, I like it. But I do not want to put JVM, confused by the need for compilation and the feeling that this language is not suitable for students in grades 5-8.
')
Then I remembered PHP. I wrote on it for about two years. It is also quite simple to learn, programs run quickly and easily. But confusing focus on the web.
I had a little obty with javascript. You do not need to install anything. Managing items in the browser is quite interesting. But I was strained to work with him. I did not obey at all, the errors were hard to find. I probably don't know how to cook it.
I use PL / SQL in my work - but this is not at all like that. Nothing suits me from what I am familiar with. We must look at ready-made solutions. Found a
circle in Yandex - Python. Then he found another
man - again Python. I looked through Wikipedia, I looked through Habr and Python interested me. Sorry, I do not know the language. But I think this is not a big problem, the main thing is to be 1-2 steps ahead of the students. As a plus - a new useful language in the piggy bank of their knowledge. Resolved - using Python3.
School search
It's time to find a school where there are 15 people who want to learn to program. To begin with, I decided to create a site for a circle, so that there was something to show the directors. I got a subdomain for a mug on my site. Put there Wordpress. I wrote a sample lesson plan and some information about myself. All about everything - a couple of hours. I decided to look for a school near the house. I immediately decided that classes would be held once a week on Thursdays. It would be convenient immediately after work on the way to go to class. I called the most convenient school for me near the house, made an appointment with the director.
The meeting took place in a few days. Mrs. Director did not show much interest and reacted with distrust to the free circle. The main problem was the allocation of school computers for classes. He says that children spoil everything. She promised to talk with her teachers of informatics and call back. I am waiting for a call.
A week has passed. Tired of waiting. Called himself. The school responded that they have not yet decided with the teachers. They promised to call back later. Another week has passed. Nobody calls. I called the director to another school. There the director gave an immediate refusal, arguing as follows:
1. Children's health is already undermined by computers.
2. In computer science and so strong
3. Any problems with the design of personnel
I chose a few more schools near the house for dialing. I called first to the school with a mathematical bias. The director there is a mathematician. I have high hopes for her. The director told me to email her a suggestion to her, which I did immediately.
Training
Hooray! I received a positive response! I was told that they would have to formalize, and for this you would need to make a medical book and get certificates from psychiatric and narcological dispensaries. Arranged a meeting so that you can discuss everything in detail.
The meeting was a success. You will need to create and provide an education program with a calendar plan. I was also told that an informatics teacher would sit with me, since he is financially responsible. Provided new school laptops and a projector without any problems.
Circle allowed to do only for students of the school. They said that for children of other schools they would have to make a paid circle, but this possibility was not excluded.
Further we write the announcement, we draw propaganda leaflets and we begin to scatter them from airships. In two weeks, the first lesson is planned.
Announcements hung up at school in 3 places and in an electronic diary. Recorded 20 people. A day later, the first lesson. Worried. We must prepare.
First classes
Of the 20 signatories, 15 people came. The bulk - 6-7 class. One person from the 5th and two from the 8th. One girl I wrote that you can come with your laptops, but for some reason nobody did this.
It turned out that programming in their school is taught from grade 8. Those. the bulk of programming is not familiar. One of the guys is learning Delphi, the other is C ++.
It has been 5 lessons. An average of 15 people walk.
The problems that had to face
- Not all children go to every class. Therefore, the supply of new material has to be divided into 2 classes. This, of course, does not help those who miss more than two lessons, but there are already less of them and they can be helped individually.
- Different rate of assimilation of the material. Many have to personally approach and explain. At this time, those who are more start to get bored. In the next lesson, I want to try to teach shusters to help those who are lagging. In general, it is strange that some guys, if they do not understand something, just sit silently, do nothing and do not ask for clarification. There must be time to notice and help them.
- The time it takes to prepare need more than planned. To prepare one lesson it takes me about 3-4 hours. I can not spend more physically, and sometimes I want, because to come up with something interesting, sometimes it takes more time
- It is necessary to maintain personal contact with the guys during classes, to conduct a dialogue. Otherwise, if you talk a lot yourself, they start to get bored.
If someone has ideas on how to entertain young programmers in class and make them more interesting, share in the comments. I, for example, after each lesson I give the children home puzzles of the type that they make at interviews, and before each lesson the previous one is discussed. All examples of programs I try to make connected with real life and meaningful.
Summing up, I want to say that I am very pleased that everything worked out for me. It's great and interesting - to come up with various tasks, think about how to make your business better and more interesting, and watch how it turns out. Thanks to all.