Олимпиада по информатике. Муниципальный этап

Аватар пользователя prepod

Как обычно проходит олимпиада по информатике на нашем районе)

Заявляется допустим 50 участников. Приезжают 45. Через 15 минут после начала начинают выходить первые юные программисты с несколько озадаченным выражением на лице. Через полчаса уходит треть. Иногда уже половина. Через 2 часа остаются 5 монстров которые и остаются все допустимые по регламенту 4 часа. Кто-то из них получит какие-то баллы. Возможно. Может и нет.

Почувствуете мощь, с которой сейчас в наших школах растут кадры российской IT-элиты...

На прошлой неделе я и сам возил учеников на муниципальный этап олимпиады школьников по информатике. Есть повод рассказать интересующимся о процедуре ну и пару мыслей&наблюдений накидать.

За последние 15 лет олимпиада по информатике одновременно и сильно изменилась и осталась абсолютно прежней.

Что осталось неизменным, так это главная идея - олимпиада по информатике = олимпиада по программированию. Другого не дано. Неважно в каком ученик классе, в седьмом или одиннадцатом. Для получения баллов необходимо составить работающую программу на одном из языков программирования.  Так у нас было всегда. Сейчас стало совсем безвариантно.

Что изменилось очень сильно - сама процедура. Еще лет 5-6 назад участникам раздавались задания на листочках. Теперь участники перед началом олимпиады получают логин-пароль для доступа на сайт олимпиады. Логинятся и читают задания на сайте. На сайт же и загружают файлы с решениями. Решение - скомпилированный исполнимый файл текстовый файл с кодом.

Решением задачи является программа, написанная на одном из следующих
языков программирования:
• Pascal
• C
• C++
• Java
• Python.

Кому интересно, при компиляции текста программы, которую участник сдает на проверку, жюри
использует вполне определенные командные строки для компиляции решений:

Компилятор Командная строка
GNU С 4.9 (MinGW) gcc -O2 -х с –WI, --stack=67108864 <исходный файл>
GNU C++ 4.9
(MinGW)
g++ -O2 -х с++ –WI, --stack=67108864 <исходный
файл>
GNU C++11 4.9
(MinGW)
g++ -O2 -х с++ -D_ _USE_MINGW_ANSI _STDIO=0-
WI, --stack=67108864 --std=c++11
<исходный файл>
GNU C++11 5
(Linux)
g++ -O2 --std=c++11 -static <исходный файл>
Visual C++ 2015 cl /F67108864/O2 /EHs /TP <исходный файл>
Java javac <исходный файл>
Free Pascal fpc <исходный файл>
Pascal ABC.Net 2.1 pabcnetcc <исходный файл>
Python 3.5 python <исходный файл>

Когда-то (лет 5-6 назад), школьники после завершения олимпиады оставляли за собой файлы с кодом и листочки с кодом и блок-схемами. Ученики расходились, а толпа коллег-информатиков начинала коллегиально проверять решения и раздавать баллы. Бывали жаркие дискуссии)

Теперь ничего интересного. Никаких интриг и мордобоя. Решения участников проверяются в 2 этапа:

- сначала бездушная система берет загруженную учеником прогу и подсовывает ей файлы с исходными данными. Решения системе разумется известны так что если творение шкодера вдруг выдает именно верное решение, то участнику начисляется БАЛЛ. Совершенно автоматически.

- набравшие баллы программы проверяются живыми экспертами

Вот так.

Скучно теперь стало на олимпиадах. В нашем муниципальном образовании - всего 58 школ. Из них - 34 в самом городе. Остальные - в окрестных поселках. Было врем, городские и деревенские олимпиады проводились отдельно. Теперь - все вместе собираемся в городе. В этом году из 24 сельских школ заявились на муниципальный этап всего 4 школы. Приехали фактически - только из 3.

Собственно, школьники никогда массово не осваивали программирование. В былые времена, когда преподаватели информатики сами проверяли работы, то балл ученику могли начислить просто за правильную структуру программы или за корректное применение команд. Вобщем, какие-то баллы кидали даже за неработающие алгоритмы и программы. Работающие проги встречались очень редко. Прога с реально правильным алгоритмом решения - это было уже призовое место как минимум.

Вот тогда было на олимпиаде общение с коллегами. Информатики района знали друг друга. Были вечные соперники принципиальные) Пока дети решали, коллеги обменивались опытом и точили кинжалы. Живое душевное общение вобщем) Преподавателей, которые реально умели программировать, всегда было очень мало, единицы, и они всегда охотно делились опытом и старались мотивировать остальных.

Как автоматизировали это дело, так общение окончательно рухнуло. Быстро выяснилось, что проводить отдельную олимпиаду для сельских школ - нецелесообразно. Слишком мало решений проходило фильтр автоматизированной проверки. Со всей определенностью вылезло - программировать в школах дети не умеют.

При работе с автоматизированной системой есть объективная сложность - участнику совершенно недостаточно найти правильный алгоритм решения задачи. Для того, чтоб система приняла решение, необходимо в программе ПРАВИЛЬНО реализовать ввод-вывод информации через текстовые файлы. Это - сама по себе отдельная задача с неочевидными решениями. Вот и получилось, если ранее ученики могли хотя бы алгоритм реализовать внятно и это решение могло быть оценено комиссией живых проверяющих преподавателей, то теперь ученику просто реализовать алгоритм - уже недостаточно. Вот и пошел дополнительный отсев деток без устойчивых навыков практического программирования.

Сам курс алгоритмизации и программирования в базовом курсе основного общего образования - одна четверть во втором полугодии 9го класса. Подготовить олимпиадника просто на уроках в школе - нереально от слова совсем. Потенциального олимпиадника по информатике надо выявлять как можно ранее, затаскивать на кружок и держать под контролем круглый год. И тогда успех не гарантирован.

Есть еще проблема. В школах преподаватели информатики просто сами не умеют программировать. Даже на простейшем уровне. И решения этой проблемы - не особенно видно. Я получил диплом педагога всего 3 года назад. В моей группе заочников из будущих преподавателей информатики умел программировать только один человек. Можно наверно порадоваться, что в школу работать все равно никто не отправился.

Хорошо, что в наше время талантливым деткам есть возможность раскрыться и реализоваться даже без толкового преподавателя. Самый лучший в программировании школьник который мне встречался, сам освоил Си. Без какой-либо помощи со стороны преподавателя.

Я сам толпу кружкистов своих первым делом отправляю на сайт Информатикс - сайт дистанционной подготовки к олимпиадам по информатике. Кто сможет разобраться и начать продвигаться там, тот реально чего-то стоит и с таким кадром надо работать точно.

Президент наш в последнее время неоднократно и определенно провозглашал курс на развитие информационного общества. Заявлял, что нам нужны хорошие программисты в товарных количествах.

Задача Президентом сформулирована, но вот решение наталкивается на проблемы еще на школьном этапе.

Авторство: 
Авторская работа / переводика
Комментарий автора: 

Вобщем, умных талантливых деток в школах наших много. Те, у которых есть талант именно в программировании - такие тоже не редкость. Вот только есть пара проблем, которые мешают талантливым детям раскрыться.

Первое и главное - у детей просто нет мотивации трудиться и осваивать сложные концепции вне школьной программы.

Второе - фактически полное отсутствие в школах компетентных хотя бы в основах программирования преподавателей информатики.

Для организации дискуссии предлагаю добавлять в список значимые проблемы и предлагать способы их решения.

Комментарии

Аватар пользователя hardknap
hardknap(11 лет 7 месяцев)

Зачем вам html? Это не язык программирования. На нём не пишут ручками с распада СССР примерно (чуть позже).

Аватар пользователя iDesperado
iDesperado(7 лет 9 месяцев)

что бы заинтересовать и не убить циклами и массивами интерес в первые же недели. а хтмл спецы пишут ручками и только ручками

Комментарий администрации:  
*** ОТКЛЮЧЕН (розжиг, набросы) ***
Аватар пользователя hardknap
hardknap(11 лет 7 месяцев)

Да нет никаких html спецов))). Пффф... увольте. Хорош заливать!)

Аватар пользователя blkpntr
blkpntr(8 лет 5 месяцев)

Есть такой сайт: https://www.freecodecamp.org/

Задания проверяются автоматически.

Аватар пользователя iDesperado
iDesperado(7 лет 9 месяцев)

да, видел. но там английский, который сильно все усложнит.

Комментарий администрации:  
*** ОТКЛЮЧЕН (розжиг, набросы) ***
Аватар пользователя prepod
prepod(8 лет 10 месяцев)

Так сами сделайте по вкусу для себя)

Вот тут посмотрите  Как создать простой сайт. Основы HTML

Задания в шапке группы. Можно выполнять по порядку. Есть ссылки на учебники.

Только здесь сделано для класса который работает на Ubuntu. Но можно переделать по аналогии для своих условий и сделать еще лучше.

Аватар пользователя iDesperado
iDesperado(7 лет 9 месяцев)

сделать можно но думал может кто знает что-то готовое, а то я специально поискал и нашел, вот прям совсем то что хотел. но там и язык не торт и задачек мало.

Комментарий администрации:  
*** ОТКЛЮЧЕН (розжиг, набросы) ***
Скрытый комментарий Повелитель Ботов (без обсуждения)
Аватар пользователя Повелитель Ботов

Былинный срач! Распечатки обсуждения разосланы по Госдепу США и внимательно изучаются. Сим повелеваю - внести запись в реестр самых обсуждаемых за неделю.

Комментарий администрации:  
*** Это легальный, годный бот ***

Страницы