# Preparation for the exam in computer science in 1C: Club of Programmers

Almost all of our guys are going to connect their destiny with the IT industry. And of course, we are preparing them for the exam in computer science, with the expectation that they will go to a specialized university for an IT specialty.

There are a lot of ways to prepare for the exam. It is important that the guys solve the problem, which is called "first-hand".

For our course, we concluded an agreement on the development of KIMs (tasks) with Mikhail Abramovich Roitberg, 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 (absolute record in 1C: Club with Misha Vorontsov - 92 points). In Russia, the average exam score in computer science in 2014 fell to 57.2, against this background we consider our results to be quite worthy. The course materials have been disseminated to the regions and this fall the guys in our branches will be engaged in them (see www.club.1c.ru/#contacts ).

Course Objectives:

Our lesson takes place as a classic lesson: theoretical information, analysis of USE tasks, independent work.

Unlike other classes in 1C: Club of Programmers (where the main task is to captivate and interest), here the guys are older (11th grade) and are already motivated. Therefore, they receive homework with a mandatory subsequent analysis and analysis of the results.

Basic approach: task variability. We try to orient schoolchildren not so much on solving the tasks of the current year as on considering existing types of tasks.

The course consists of two modules. Module 1 is devoted to solving the problems of parts A and B, in module 2 the tasks of part C are considered.

There is a theoretical and practical part. Each topic begins with a repetition or consideration of the basic theoretical concepts, formulas, algorithms, then the implementation of typical tasks is examined in detail, after which tasks for independent work are offered.

The course is built on the continuity of classes. The knowledge gained in previous classes, students apply further.

We tried to solve the problem of the discrepancy between the levels of study of computer science at 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 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, and dynamic programming. Therefore, these topics are equipped 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 satisfying the condition, etc. Module 1 considers those that are most relevant for completing the tasks of Part A and B.

Module 2 deals with the tasks of Part C. The tasks were classified based on the analysis of the tasks offered during the diagnostic, training, trial exams and in various collections.

Often, tasks C1 present serious problems for students, as they are associated with finding errors in a written program, which is much more difficult than writing your own. We consider two types of tasks. Tasks using the selection operator, which are presented as an example for determining the belonging of a point to a certain region on the plane. And cyclic algorithms for processing numbers using 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.). In separate topics, solutions to problems of processing one-dimensional and two-dimensional arrays are highlighted.

Tasks related to writing programs are performed as follows: first writing the program on paper (as it will be in the exam), then debugging the written programs on the computer and analyzing the mistakes made. It is forbidden to immediately write the program on the computer - it is necessary to acquire writing skills manually in order to avoid additional errors in the exam (including syntax ones).

Consideration of task C3 begins with a review of the basic concepts of game theory, then we consider an example for constructing an incomplete game tree. And only after that an example is solved for the search for a strategy. As experience shows, assignments C3, offered in the last two years, are poorly perceived by students without prior preparation in the form of solving the problems of previous years.

The following topics are highlighted in tasks C4: processing strings and large arrays of numerical data, processing dates, processing records, and processing files. When considering these topics, the goal was not to give a general algorithm for solving C4 problems, but to show some processing methods using examples. Although tasks related to file processing are rarely found in diagnostic and training work, we consider them first of all, since debugging of C4 tasks begins to take much less time due to the preparation of test information in the file.

The main difference between employment in our club is the availability of training materials in which decisions 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 difficult task, a problem arises: the answer does not work out, but I don’t know how to solve it. Therefore, each task proposed in the course is equipped with a detailed solution.

During the classes, intermediate testing is carried out on one or several topics, which allows you to monitor the level of preparedness of students and, if necessary, return to the topics covered.

Teacher: Toshchenko Irina Zhanovna .

There are a lot of ways to prepare for the exam. It is important that the guys solve the problem, which is called "first-hand".

For our course, we concluded an agreement on the development of KIMs (tasks) with Mikhail Abramovich Roitberg, 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 (absolute record in 1C: Club with Misha Vorontsov - 92 points). In Russia, the average exam score in computer science in 2014 fell to 57.2, against this background we consider our results to be quite worthy. The course materials have been disseminated to the regions and this fall the guys in our branches will be engaged in them (see www.club.1c.ru/#contacts ).

Course Objectives:

- Studying topics that are not addressed (or poorly studied) in the school curriculum.
- To teach students to apply theoretical knowledge to solve practical problems.

Our lesson takes place as a classic lesson: theoretical information, analysis of USE tasks, independent work.

Unlike other classes in 1C: Club of Programmers (where the main task is to captivate and interest), here the guys are older (11th grade) and are already motivated. Therefore, they receive homework with a mandatory subsequent analysis and analysis of the results.

Basic approach: task variability. We try to orient schoolchildren not so much on solving the tasks of the current year as on considering existing types of tasks.

The course consists of two modules. Module 1 is devoted to solving the problems of parts A and B, in module 2 the tasks of part C are considered.

There is a theoretical and practical part. Each topic begins with a repetition or consideration of the basic theoretical concepts, formulas, algorithms, then the implementation of typical tasks is examined in detail, after which tasks for independent work are offered.

The course is built on the continuity of classes. The knowledge gained in previous classes, students apply further.

We tried to solve the problem of the discrepancy between the levels of study of computer science at 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 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, and dynamic programming. Therefore, these topics are equipped 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 satisfying the condition, etc. Module 1 considers those that are most relevant for completing the tasks of Part A and B.

Module 2 deals with the tasks of Part C. The tasks were classified based on the analysis of the tasks offered during the diagnostic, training, trial exams and in various collections.

Often, tasks C1 present serious problems for students, as they are associated with finding errors in a written program, which is much more difficult than writing your own. We consider two types of tasks. Tasks using the selection operator, which are presented as an example for determining the belonging of a point to a certain region on the plane. And cyclic algorithms for processing numbers using 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.). In separate topics, solutions to problems of processing one-dimensional and two-dimensional arrays are highlighted.

Tasks related to writing programs are performed as follows: first writing the program on paper (as it will be in the exam), then debugging the written programs on the computer and analyzing the mistakes made. It is forbidden to immediately write the program on the computer - it is necessary to acquire writing skills manually in order to avoid additional errors in the exam (including syntax ones).

Consideration of task C3 begins with a review of the basic concepts of game theory, then we consider an example for constructing an incomplete game tree. And only after that an example is solved for the search for a strategy. As experience shows, assignments C3, offered in the last two years, are poorly perceived by students without prior preparation in the form of solving the problems of previous years.

The following topics are highlighted in tasks C4: processing strings and large arrays of numerical data, processing dates, processing records, and processing files. When considering these topics, the goal was not to give a general algorithm for solving C4 problems, but to show some processing methods using examples. Although tasks related to file processing are rarely found in diagnostic and training work, we consider them first of all, since debugging of C4 tasks begins to take much less time due to the preparation of test information in the file.

The main difference between employment in our club is the availability of training materials in which decisions 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 difficult task, a problem arises: the answer does not work out, but I don’t know how to solve it. Therefore, each task proposed in the course is equipped with a detailed solution.

During the classes, intermediate testing is carried out on one or several topics, which allows you to monitor the level of preparedness of students and, if necessary, return to the topics covered.

Teacher: Toshchenko Irina Zhanovna .