How to become the good programmer?
At the moment, I train already seven years children in programming in system of additional education. It is essential that not at comprehensive school. So children come to me, generally at own will and study, generally voluntarily.
It is good to program to me it is possible to teach about one child from ten. In this article I am not going to show off to someone (for this purpose official bodies are available), and I will try to share the supervision.
If to look by any curricula, then programming at us was studied and had in this subject of knowledge, well it is not less in any way, than the half-countries. In reality of it it is not observed. So in what business? And matter in our traditional facade. One business - to write off couple of examples and to hand over them to the teacher, and quite another matter - it is real, but not on paper, to be able to make programs.
For a start we will carry out some division: there is the user level of use of already ready programs - computer literacy and actually programming - creation of new programs.
Computer literacy, at present prevalence of computer facilities, is necessary practically for all normal people. It is necessary to train in it all school students. By the way, when training computer literacy I managed to train practically all. This subject is called informatics and at schools is normally taught by the principle: “ And it, children, an underlined font, and that to receive it, it is necessary to press here this button “. For studying of informatics it is enough to have average intelligence and average memory.
With programming not everything is so simple. At the beginning of my teaching activity I was surprised by sharp division of school students into those who grab programming at once, and that who have it “ did not go “ and, finally, “ did not go “. First of all, it was unclear why this division was very sharp. Or - or.
Further it became clear, grabbed “ to a raid “ those who within several years were engaged in a mathematical circle before. And the longer I worked, the more was convinced of correctness of the fact that:
Later when I communicated with teachers of university, it turned out center that I did not peddle old stuff. They knew it long ago. But here in the parental environment of it, seemingly, do not know.
• In order that the child in the senior classes had progress in programming studying, it is necessary to stimulate its interest in mathematics in elementary grades. Usual occupations at school it is not counted, it is necessary that he gained profound knowledge in a mathematical circle or in other type of additional education. I Consider
that would be fair in the accounting of Olympiad achievements on programming to write not only a surname of the teacher of programming, but also a surname of the teacher of mathematics.
From what class it is necessary to learn to program?
Generally from the 8th class. Attempts to teach seventh-graders in my case were not crowned with noticeable success. However, at once I will make a reservation, the certain school students who were going in for mathematics or having a great interest to programming were engaged at me from the 7th class and made great progress (are prize-winners of level of the Russian Olympic Games).
And the majority it is necessary to learn when they are already familiar with algebra. The program is a text, and ability to operate with symbols develops when studying algebra. Wrote with 8 - go, and then thought that it in case to set a task to participate in the Olympic Games and if not to participate, then and with 9 - go is quite possible.
General comments : programming languages differ with syntax, that is way of expression of thought of the programmer. Main thing not syntax, but algorithmic thinking. If it is absent, then there is no skill of programming also. If the algorithmic thinking, then transition from one programming language to another not so is developed and it is problematic. At many schools teaching is conducted on BASIC - e just because teachers do not know other languages, and those who know work as programmers and (like teaching activity) do not fool about.
What is the time it is required on programming studying?
Depending on that purpose which we to ourselves set. Elementary skills are comprehended in a year. The increased level - in two years then it is necessary to continue training in SCS (Summer Computer School). Personally I consider as the task to prepare school students for training in LKSh. With those who were disaccustomed there in group C I do not study programming any more, and I give them elements of discrete mathematics then they already study up in the LKSh senior groups.
Those terms which I specify belong to training in small groups. If to take usual classes (even mathematical), then these terms should be increased approximately by two. From here it turns out: if to begin studying of programming in the 9th class, then in two years it is possible to study initial level, and we throw out the 11th class on USE, not before programming here.
“ To Torment with programming “ everyone there is no special need. That is I categorically against a general asunization (took root into Soviet period ACS - Automated control systems - to shout and there is a lot of slogans, and I pound a little). So, it is necessary to teach programming those who really want it. It is necessary to learn in small groups. Professionals have to learn. That`s when there will be a result, and differently - on - Chernomyrdin as now.