Как обычно проходит олимпиада по информатике на нашем районе)
Заявляется допустим 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 года назад. В моей группе заочников из будущих преподавателей информатики умел программировать только один человек. Можно наверно порадоваться, что в школу работать все равно никто не отправился.
Хорошо, что в наше время талантливым деткам есть возможность раскрыться и реализоваться даже без толкового преподавателя. Самый лучший в программировании школьник который мне встречался, сам освоил Си. Без какой-либо помощи со стороны преподавателя.
Я сам толпу кружкистов своих первым делом отправляю на сайт Информатикс - сайт дистанционной подготовки к олимпиадам по информатике. Кто сможет разобраться и начать продвигаться там, тот реально чего-то стоит и с таким кадром надо работать точно.
Президент наш в последнее время неоднократно и определенно провозглашал курс на развитие информационного общества. Заявлял, что нам нужны хорошие программисты в товарных количествах.
Задача Президентом сформулирована, но вот решение наталкивается на проблемы еще на школьном этапе.
Комментарии
Зачем вам html? Это не язык программирования. На нём не пишут ручками с распада СССР примерно (чуть позже).
что бы заинтересовать и не убить циклами и массивами интерес в первые же недели. а хтмл спецы пишут ручками и только ручками
Да нет никаких html спецов))). Пффф... увольте. Хорош заливать!)
Есть такой сайт: https://www.freecodecamp.org/
Задания проверяются автоматически.
да, видел. но там английский, который сильно все усложнит.
Так сами сделайте по вкусу для себя)
Вот тут посмотрите Как создать простой сайт. Основы HTML
Задания в шапке группы. Можно выполнять по порядку. Есть ссылки на учебники.
Только здесь сделано для класса который работает на Ubuntu. Но можно переделать по аналогии для своих условий и сделать еще лучше.
сделать можно но думал может кто знает что-то готовое, а то я специально поискал и нашел, вот прям совсем то что хотел. но там и язык не торт и задачек мало.
Былинный срач! Распечатки обсуждения разосланы по Госдепу США и внимательно изучаются. Сим повелеваю - внести запись в реестр самых обсуждаемых за неделю.
Страницы