📜 ⬆️ ⬇️

Preparing for the exam on computer science in 1C: Club programmers

Almost all of our guys are going to tie their fate with the IT industry. And of course, we are preparing them for the Unified State Exam in computer science, with the expectation that they will go to a specialized university for an IT specialty.
Ways to prepare for the exam - a great many. Here it is important that the guys solve problems, which is called “first-hand”.
For our course, we entered into an agreement for the development of CIMs (tasks) with Mikhail Abramovich Roitberg, the editor of the famous http://ege-go.ru/ .
The experimental group of the 2013-2014 school year consisted of 13 students. The average result of our graduates is 74.5 points (abs.rekord in 1C: Club at Misha Vorontsov - 92 points). In Russia, the average USE exam in computer science in 2014 fell to 57.2, against this background we consider our results quite worthy. The course materials are replicated in the regions and from this autumn on they will be dealt with by the guys in our branches (see www.club.1c.ru/#contacts ).

Course objectives:

Our lesson takes place as a classic lesson: theoretical information, analysis of the Unified State Exam assignments, independent work.
Unlike other classes in 1C: Club programmers (where the main task is to entice and interest), then the guys are older (11 cells) and are already motivated. Therefore, they get homework with a mandatory subsequent analysis and analysis of the results.
The main approach: the variability of tasks. We try to focus schoolchildren not so much on resolving the tasks of the current year as on considering the existing types of tasks.
The course consists of two modules. Module 1 is devoted to solving problems of parts A and B, in module 2 tasks of part C are considered.
There are theoretical and practical parts. Each topic begins with a repetition or review of the basic theoretical concepts, formulas, algorithms, then the implementation of typical tasks is considered in detail, after which tasks for independent work are offered.
The course is built on the succession of classes. The knowledge gained in previous classes, students apply further.
We tried to solve the problem of discrepancies between the levels of studying computer science in school and the requirements of the exam. For example, in the school curriculum, when studying number systems, translation algorithms and (not always) arithmetic operations are given. There is a lack of a common understanding, probably due to a lack of time allotted to study this topic.
A number of topics, as practice shows, are rarely considered in the school curriculum, in particular, Euler diagrams, IP addressing, recursion, auxiliary algorithms, dynamic programming. Therefore, these topics are provided with a more detailed presentation of the theory.
When considering topics related to algorithms and programming languages, in addition to repeating the theory, basic algorithms are given. For example, for programs with cycles, summation, finding the number of elements that satisfy the condition, etc. In module 1, we consider those that are most relevant for the tasks of parts A and B.
Module 2 is devoted to the tasks of part C. The tasks were classified on the basis of the analysis of tasks that were offered during diagnostic, training, test exams and in various collections.
Often, tasks C1 represent serious problems for students, as they are related to finding errors in a written program, which is much more difficult than writing your own. We consider two types of tasks. Jobs using the select operator, which are presented as an example for determining whether a point belongs to a certain area on a plane. And cyclic algorithms for processing numbers using the operations of integer division and finding the remainder.
In task C2, in the theoretical part, algorithms are added that are associated with processing arrays (finding maxima and minima, sorting, etc.). Separate topics highlighted problem solving for processing one-dimensional and two-dimensional arrays.
Tasks related to writing programs are performed as follows: first, writing the program on paper (as it will be on the exam), then debugging the written programs on the computer and analyzing the mistakes made. Immediately writing a program on a computer is prohibited - it is necessary to acquire manual writing skills in order to avoid additional mistakes on the exam (including syntax).
Consideration of task C3 begins with a review of the basic concepts of game theory, then an example is considered of building an incomplete game tree. And only after that the example of strategy search is solved. As experience shows, C3 tasks proposed in the last two years are poorly perceived by students without prior training in the form of solving problems from previous years.
Tasks C4 highlight the following topics: processing strings and large arrays of numeric data, processing dates, processing records and processing files. When reviewing these topics, the goal was not to give a general algorithm for solving C4 problems, but to show some processing methods with examples. Although tasks related to file processing are rarely seen in diagnostic and training work, we consider them first, since debugging C4 tasks takes much less time due to the preparation of test information in the file.
The main difference between lessons in our club is the availability of training materials, in which solutions are given to all tasks, and not just answers. In many collections for Parts A and B, only answers are offered. And in the case of a complex task, a problem arises: the answer does not work, but I don’t know how to solve it. Therefore, each task proposed in the course has a detailed solution.
In the course of classes, intermediate testing is conducted on one or several topics, which allows you to monitor the level of students' preparedness and, if necessary, return to the topics covered.
Lecturer: Toschenko Irina Zhanovna .

')

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


All Articles