Вступление
Всем привет - я недавно закончил гуманитарную школу и поступил на ФИТ НГУ (для меня такое среднее образование стало плюсом, так как у меня было 5-6 часов хорошего английского в неделю). На первой паре по императивному программированию (в целом - это алгоритмы и структуры данных на си) был опрос от лектора - какой ЯП вы изучали в школе? - оценочные результаты ответов меня удивили (точных цифр нет, так как считать количество людей в поточке не самое быстрое занятие). В этой статье я постараюсь рассказать то, как было бы лучше изменить Информатику в школе (естественно по моему мнению) - если вы будете с чем-то не согласны или думаете, что я что-то упустил - давайте встретимся в комментариях.
Про информатику вообще
Мне нравится информатика, особенно ее красота и элегантность - только подумайте, вы можете объяснить куску переплавленного песка (тут чисто из таблицы Менделеева сравнения - его точность +- 0) кремния то, как обрабатывать данные. Просто остановитесь и подумайте, что в данный момент вы своего рода бог, который придает "жизнь" чему-то неживому. И я считаю, что школа не показывает эту красоту - она лишь дает какие-то обрывки знаний и не помогает собрать из этого "Мона Лизу".
С чем это связано? - я думаю с тем, что к информатике отношение как к устоявшейся точной науке, в которой развитие остановилось (на школьном уровне). Но мне кажется, что это не так - на данный момент популяризаторы науки и программисты осмыслили многие "сложные" понятия и их можно (пусть и поверхностно) рассказать - лишними они, я надеюсь, не будут.
Про ЯП в школьном курсе
В результате опроса выяснилось, что большая часть студентов учила в школе Pascal. Я не противник этого языка, но считаю что пора бы уже что-то менять. Зачем учить школьников языку, который им не пригодится. Давайте просто сменим ЯП на современные, например Python (для любителей выражать свои мысли без заморочек) и Си/С++ (для любителей строгости и лаконичности). В целом тут может быть почти любой ЯП. В целом тут можно долго обсуждать про то, что важнее навыки, а не реализация, но я считаю что если мы не учим гуманитариев счету только на римских цифрах, то почему мы не делаем так же с информатикой.
Тут конечно можно возразить, что учителя не готовы к такому, но и тут я имею предложение - давайте сделаем хорошие и бесплатные курсы для учителей для переподготовки и объявим что на ЕГЭ с N года не будут приводиться примеры на Basic/Pascal. Это создаст желание детей проходить на уроках тоже, что будет в ЕГЭ/ВПР и при этом даст возможность учителям сделать это.
Про "современность" знаний
Мне в 10-11 классе выдавали учебник в котором рассказывалось про поисковые системы для интернета. Я считаю что этого вообще не должно существовать - давайте лучше больше расскажем про спам/важность доверия к ресурсу, где ты соглашаешься с лицензией/да просто примерные алгоритмы работы этих самых поисковиков. Да, мы не сможем рассказать детям все эти темы очень глубоко, но общее представление, на уровне базы точно лишними не будут.
Про Word/Excel/PP
Тут я смысл вообще понять не могу. Может вы знаете? Зачем детям несколько четвертей (а то и лет) рассказывают про возможности этих инструментов? Здесь можно сильно сократить программу до базового уровня и просто попросить детей воспользоваться этими инструментами для подготовки выступления/чего-то еще дав какие-то критерии. Они сами разберутся с тем, что им нужно и просто воспользуются инструментами - я считаю что тут важнее база, которая позволит в будущем быстро разобраться, а не то, как поставить "красную" букву.
Про железо
Да, тут определенно очень спорно, но я считаю что мы должны давать детям более "низкоуровневые" знания - давайте расскажем им про ассемблер и регистры. Возможно даже покажем на каком-то "детском языке ассемблера" и попросим их просто сложить два числа. Это покажет, что процессор это не магия для избранных, хоть низкоуровневое программирование это и сложно. Но про практику я не уверен, тут только "эээкперименты" (Из Галилео, если кто-то еще помнит те времена) покажут, как говорится.
А вот такие схемы ровным счетом ничего не показывают и должны использоваться только как самая первая "высокоуровневая" схема
Про правила пользования компьютером и уход за ним
Для меня это стало удивлением, но есть люди, которые не знают, что можно заразиться вирусом из вложенных материалов почты и так далее. Я считаю что помимо правил работы за компьютером, хорошо было бы рассказать про вирусы и как с ними борются, почему операционная система вообще существует и почему для нее программы и вирусы в целом одно и тоже.
Так же стоит рассказать про то, что в целом за компьютерами нужен уход - хотя бы пылесосить время от времени, про то, что их части могу изнашиваться.
Про практику программирования
Многие люди вообще не понимают чем занимаются программисты (глубже "пишут программы") и почему они так нужны всем.
Только практика может показать, что они должны знать многие вещи и в целом, что небольшую программку для "сложить 2 и 2" можно написать самостоятельно за вечер. Определенно здесь не стоит перегибать палку, так как наша задача дать базу, а не выпустить дипломированных специалистов. Этот подход облегчит задачу вузам - им не нужно будет держать для людей не учащихся на программистов преподавателей на Pascal (да я слышал и про такое), чтобы не тратить и без того небольшой объем времени на переучивание.
Про ЕГЭ/ОГЭ и в целом школьные экзамены
Поскольку я сдавал ЕГЭ, и ОГЭ по информатике, могу с уверенностью сказать - там проверяют все что угодно, кроме информатики, которая потом пригодится в ВУЗе. Забавная корреляция (которая строится скорее на особенностях моего курса, чем на практике) - чем выше у вас баллы по экзамену, тем скорее у вас 3 по алгоритмам и структурам данных.
Я думаю, что мы должны выбросить из егэ очень много заданий. Даже те задания по программированию, которые там есть проверяют только то, готовились ли вы или нет.
Как это сделать? - все просто - выбрасываем задания в которых нужно делать большие вычисления в голове - Смысл данного экзамена проверить знания по информатике, а не проверить умеет ли ребенок считать (что в целом странно проверять у человека в 11 классе, не находите). Если составители не знают как выбросить эти задания просто возьми и выбрось - можно просто разрешить калькулятор, он сэкономит время на абсолютно бесполезных заданиях.
В идеале нужно полностью поменять ЕГЭ - в моем мире в нем все еще есть первая часть, где все еще нужно посчитать размер файла или то, чему будет равно какое-то число при неравномерном двоичном коде. Но там так же есть вторая часть, которая почти полностью касается алгоритмов, которые проходят в школе, и программирования. Пусть дети обработают какие-то заранее подготовленные данные, возможно что-то отфильтруют (максимально простыми способами), напишут какую-то несложную олимпиадную задачку.
В мой год я программировал на современном компьютере листочке. Что для меня в целом вообще не понятно - если мы просим детей программировать, давайте дадим им и отладчик. Не стоит придумывать велосипед, на ОГЭ же как-то программируют на компьютере.
Таким образом я бы поставил ЕГЭ по информатике 15 баллов из 100, так как оно проверяет все что угодно, кроме вещей которые понадобятся в ВУЗе.
Про неприятное чувство после
Вы когда-нибудь задумывались насколько неприятно осознавать, что все, к чему тебя готовили в последний год - тебе не пригодитcя.
А тут тебя еще и оценили еще по бесполезным знаниям (возможно испортив тебе поступление), а в конце сказали - теперь просто забудьте. Если честно было бы интересно услышать мнение авторов ЕГЭ по информатике о том, что по их мнению так с экзаменом. Но я если честно не очень хочу отправлять обращения куда-то, чтобы получить (скорее всего) отписку.
Итоговая картина
В результате я думаю, что в школу могут придти и программисты (да не на полную ставку, но как дополнительная занятость, интересная для них - почему бы и нет). Возможно что-то из перечисленного выше избыточно, да возможно это так, но я думаю только так можно показать красоту Информатики/программирования/Computer science для всех - ведь этот предмет точно не про сухие данные и умения.
Тут конечно стоит еще сказать про устаревание компьютеров, которыми располагает школа, но это тема других сайтов.
UPD: в общем я понял, что споры о Паскаль того не стоят. Возможно (в будущем) выпущу статью со сравнение кода на трех каких-нибудь языках на уровне школьных задач, ну а может и не напишу). Так что я отписался от уведомлений о новых комментариях.
UPD2: уважаемое сообщество программистов на Pascal - я не хотел на вас наезжать, так как в целом смысла в этом нет (так как на людей наезжать не хорошо). Я человек простой и часто говорю вещи, которые думаю я (и люди вокруг меня). Если мое высказывание о том, что я "как-то неправильно" высказался о Паскаль - я не хотел, вам и без меня тяжело, ведь, как говориться, в скольких статьях говориться о том, что "пора бы уже что-то поменять)". Пожалуйста будьте терпимее к идеям, что Паскаль "всё" и я (надеюсь кто-то еще), постарается быть терпимее к комментариям/статьям о том, что он живет и в целом крутой.