As I taught, and then wrote a manual on Python

As I taught, and then wrote a manual on Python
All last year I worked as a teacher in one of the provincial training centers (hereinafter - TC), specializing in teaching programming. I will not name this training center, and I will also try to do without the names of firms, names of authors, etc.

So, I worked as a teacher in Python and Java. This CA was buying methodological materials for Java, and they launched Python when I came and offered it to them.

I wrote a manual for students (essentially a textbook or tutorial) in Python, but the teaching of Java and the methodological materials that were used there had a significant impact.

To say they were terrible is an understatement. The mode of the Java textbook, which is supplied by a 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 that parents who came to open lessons could see how they a son or daughter wrote off a snake or chess from a textbook. Why do I say written off? It's very simple, the fact is that the textbook contained entire sheets (A4) of code, some points of which were not explained. As a result, the teacher either has to control at what point in the code each student is now, explaining each line, or everything rolls into cheating.

You will say: β€œWell, so what, let the teacher work better, and chess and the snake can finally be cool!”

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 keep track of everyone, explaining: β€œBut why are we writing this?”

In addition to the number of people in the group, there is another problem associated with this manual. The code is written ... how should you say, just awful. A set of anti-patterns, archaic, since the tutorial has not been updated for a long time, and our favorite, of course, is the style guide. Therefore, even if you control all your wards and can quickly and clearly explain to them what the code being written off means, the code itself is so terrible that it will teach you the wrong thing, to put it mildly.

Well, the final thing, literally destroying this tutorial - from the very beginning there is no at least somewhat adequate introduction explaining what data types are, what they are object and primitive, what criterion checks the property that generates this dichotomy, etc. In the very first chapter, you and your students are invited to make (write off) a program that makes a window and writes β€œHello!” There, however, it does not explain what this code sheet actually means, only links to further classes, for example, β€œmain ” is an entry point, but the very concept of β€œentry point” is not even mentioned.

To sum up, this waste paper was a meme even among teachers and management. She taught the children absolutely nothing, once I came across a group that had been studying for a year using these materials, as a result they could not even write a cycle, I note that they were all very smart and soon everything was not so bad. Most of the colleagues tried to deviate from methodological materials so that the material was assimilated, and not just flew into the air, although there were also less conscientious people who considered it normal that their student was copying without any explanation.

When it became clear that I would leave the UC, and the Python program had to be continued somehow next year, I began to write 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. Between topics, I did QnA so that the future teacher could understand how the student learned the topic. Well, at the end I made a small task-project. The first part thus explains the basics of the language and chews them, which is approximately 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 links 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 my current Python teacher, asking for feedback on the materials, and now I'm glad that everything is fine, that children really understand Python programming.

What conclusion I would like to draw from this story: my dear parents, if you decide to send your child to the UC, then carefully follow what they do, that your child is not wasting time in vain, so that in the future you do not discourage him from programming.

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

Only registered users can participate in the survey. Sign in, you are welcome.

Is your child learning to program at a learning center?

  • 4,6%Yes3

  • 95,4%No62

65 users voted. 27 users abstained.

Source: habr.com

Add a comment