As I taught, and then wrote a training manual in Python

image

All last year I worked as a teacher in one of the provincial training centers (hereinafter - the UC), specializing in teaching programming. I will not name this training center, just try to do without the names of companies, names of authors, etc.

So, I worked as a teacher in Python and in Java. This UT purchased methodological materials for Java, and they started Python when I came and offered them this.

I wrote a training manual for students (essentially a textbook or a self-instruction manual) in Python, but Java teaching and the teaching materials that were used there had a small impact.

To say that they were terrible is to say nothing. The modus of the Java textbook, which is supplied by one very well-known company in Russia, was not to teach a person the basics of this language in general and the OOP paradigm in particular, but to let parents who came to open lessons see how son or daughter wrote off a snake or chess from a textbook. Why am I saying decommissioned? Very simple, the fact is that the textbook contained whole sheets (A4) of code, some points of which were not explained. As a result, the teacher must either control at what point in the code each student is now, explaining each line, or everything slides into cheating.

You will say: “Well, what’s the matter, let the teacher work better, but chess and the snake are really good!”

Well, everything would be cool if the number of people in the group was not under 15, and this is already significant, if you are going to follow everyone, explaining: “But still, what are we writing?”

In addition to the number of people in the group, there is another problem associated with this manual. The code is written ... how to tell you, just awful. A set of antipatterns, archaics, since the textbook has not been updated for a long time, and our favorite, of course, is the style of the guide. Therefore, even if you control all your charges and can quickly and intelligibly explain to them what the code is written off, the code itself is so terrible that it will teach to put it mildly not that.

Well, and the ending, literally destroying this textbook - from the very beginning there is no at least some adequate introduction explaining what data types are, that they are object and primitive, what criterion checks the property that generates this dichotomy, etc. In the first chapter, you and your students are invited to create (write off) a program that makes a window and writes “Hello!”, But it does not explain what this sheet of code actually means, only links to further classes, for example, “main "Is an entry point, but the very concept of an entry point is not even pronounced.

To summarize, this waste paper was a meme even among educators and management. She did not teach children anything at all, once I came across a group studying for a year on these materials, in the end they could not even write a cycle, I note that they were all very smart and soon everything was not so bad. Most colleagues tried to deviate from the teaching materials so that the material was assimilated, and not just fly into the air, although there were less conscientious people who considered it normal that their student wrote off without any explanation.

When it became clear that I would leave the CA, and the Python program had to be continued somehow next year, I started writing my textbook. In short, I divided it into two parts, in the first I explained everything about data types, their essence, operations with them and language instructions. Meanwhile, he did QnA so that the future teacher could understand how the student learned the topic. Well, in the end I did a small project task. The first part thus explains the basics of the language and chews them, which is about 12-13 lessons of 30-40 minutes. In the second part, I already wrote about OOP, described how the implementation of this paradigm in Python differs from most others, made many references to the style guide, etc. To summarize - I tried to be as different as possible from what was in the Java tutorial. I recently wrote to a current Python teacher,asked a feedback on materials and now I'm glad that everything is fine, that the children really understand Python programming.

What conclusion would I like to draw from this story: my dear parents, if you decide to send your child to a teaching center, then carefully monitor what they are doing so that your child is not wasting time in vain in order not to discourage him from programming in the future.

UPD: As correctly noted in the comment, I said almost nothing about the presentation of the material. I will say right away that I believe that there should be more practice, as much as possible. At the end of each lesson in the first part, I did 4-5 small practical tasks on the topic of the chapter. Between the chapters were QnA (lessons of control), where there were also practical, but already assessed tasks, also at the end of the first part there was a project with a theme to choose from proposed. In the second part, I made an introduction to OOP through the creation of a console mini-game, the development of which was the entire second part and the entire introduction to the paradigm.

Source: https://habr.com/ru/post/undefined/


All Articles