Почему я решил написать на эту тему
Изначально эту статью я не планировал писать, т.к. думал что вряд ли подобная информация может быть кому-нибудь интересна. И как же я удивился, когда узнал, что многим любопытно вникнуть в эту сферу. Например, как сейчас проходит обучение программированию. Или может ли преподаватель помочь ученику выучить другой язык, помимо стандартного для школьной программы Pascal ABC, при условии, что это не специализированный лицей, где ЯП обучают с начальной школы (а ведь такие учебные заведения присутствуют практически в каждом городе, но не у каждого учащегося существует возможность туда попасть).
Итог начала
Я вижу эту статью примерным отражением уроков информатики в обычной общеобразовательной школе, и того, с чем сталкивается обычный школьник, если он сдаёт единый гос.экзамен по этому предмету. И недавно появилась ещё одна причина. Все мои экзамены перенесли на месяц, так что нарастающие напряжение я предпочёл снять при помощи … аммм творчества, наверное, если можно так назвать эту мазню из букв, что я сейчас вижу. И заранее прошу прощения за косноязычие и прочую хрень, которая может затруднить чтение (уверен, найдутся пунктуационные, орфографические или фактические ошибки) и очень надеюсь, что вам понравится.
Введение
Наверное, стоит начать с того, кем я являюсь, чтобы писать что-то на эту тему. Я учащийся средней образовательной школы 11-го класса, в которой работают два учителя информатики, как ожидаемо, с абсолютно разным подходом. Так вот, именно из-за таких двух разных методов, которые я испытал на себе за всё время обучения, у меня и сложилось определённое мнение, которым хочется поделиться.
Моё мнение об уроках информатики в МБОУ СОШ
Прежде всего: большинство учителей заинтересованы в преподавании строго в рамках школьной программы. Оно и понятно, им за это платят. Так что если у ученика возникает желание узнать что-то новое, то ему всегда стоит сказать об этом. Но не факт, что преподаватель поддержит подобного рода стремления, или даже даст совет. Но иногда бывает и такое, что педагог сам изъявляет желание научить учеников чему-то выходящему за рамки учебного процесса, но, к сожалению, такое происходит нечасто. Такая практика не проводится и в моей школе.
Что представляет собой ЕГЭ по информатике
Сейчас этот экзамен представляет собой смесь из математики, алгебры, логики и программирования. Разумеется, в школе дают базу для сдачи этого экзамена. Но только первой части, которая составляет 72 балла, что катастрофически мало, и не хватает для поступления в хороший вуз, особенно если ты не набираешь желанные 100 баллов по другим предметам (и это если в вузе нет определённой планки по количеству баллов по каждому предмету, что зачастую присутствует). И то, для получения этих же 72-х баллов необходимо обладать пониманием рекурсивных алгоритмов, одномерных массивов и ещё других умных вещей, которые могут быть пройдены вскользь на уроке, или не пройдены вовсе. Конечно это не все 72 балла, но как минимум половину из них именно так сдающие и получают.
Вторая же часть составляет собой 3 задания по программированию и одно по теории чисел. И в итоге получается, что для решения больше половины заданий просто необходимо знать программирование. Но и знания по остальным темам тоже необходимы.
Образец заданий
Ну и вот примеры номеров, которые аналогичны с теми, что включены в варианты:
№ 1)
№ 2)
№ 3)
№ 4)
В конце статьи будут ответы, можете проверить себя и написать сколько и какие из номеров вы решили правильно
Программирование на уроках, или история о том, как вместо информатиков гуманитарии Пентагон взламывали
9й класс или день сурка
Для начала, надо описать уроки до 9-го класса, а только затем написать про основное действо. Я не помню, чтобы нам в подробностях рассказывали что такое массивы, как с ними работать, или как программа в принципе выполняет итерации. Вместо этого мы решали много примеров по переводу чисел из одной системы счисления в другую или задач по передаче информации по каналу связи разными методами. В общем, иногда было интересно, иногда это были очередные уроки информатики, которые мы высиживали. Безусловно, любой урок полезен, но явно не несколько лет подряд переливание воды «ни о чем».
Но в итоге наступает 9й класс, и согласно программе обучения нас стали «натаскивать» на решение тестов. Это значит, что на обычных уроках, которые проходили раз в неделю, изменился формат занятия только для сдающих. Теперь это было однообразное прорешивание тех же номеров, с которых мы начинали ещё пару лет назад, без возможности хоть как-то вырваться из этой круговой поруки, в то время как остальные ученики учились работать с компьютерами, так как только с 9го класса их нам доверили.
Но учебный год всё шёл и шёл, а мы, сдающие, решали всё те же задания из первой части, даже не притрагиваясь ко второй, где таились столь желанные номера с программированием или командами для робота. В итоге, за неделю до экзамена я самостоятельно узнал, как решать один номер из второй части. И это было не программирование, хотя каждый из выпускников читал как минимум на одном ЯП. Но должен сказать, что кто-то всё-таки знакомился со столь недоступной дисциплиной. Это были ученики, которые даже близко не думали об информатике, как и об экзамене. В то время как сдающие усердно высчитывали, сколько мегабайт в секунду в канале связи, и за сколько времени передастся файл с таким-то весом, наши одноклассники писали простенькие программки с формулами, или же переписывали в компиляторы «трояны» из Интернета. Но всё же это было программирование, хоть и не ахти какое. То есть можно сказать, что Pascal нами, как классом, был изучен. Но каждый сдающий ОГЭ в 9 классе не мог и строчки написать без ошибки, над чем многие шутили.
Время шло, и экзамены были сданы. Кто-то поступил в другие учебные заведения, но часть всё же осталось и дальше грызть школьный гранит науки. И вот тут стоит указать, что в некоторых школах моего города, после 9-го класса, нет даже такого предмета как информатика. Таким образом, чтобы что-то узнать о простом строение программы, или о том, как лучше объявлять переменные, или о том, где и какие условные операторы могут пригодиться, необходимо было выцеплять учителей из школьной рутины (или попросту бегать за ними с вопросами) и практически допрашивать, но есть большая вероятность, что сам учитель может ничего не знать на тему вопросов, что ему были заданы.
Ну здравствуй, старшая школа
Так или иначе, для меня наступил десятый класс, в течение которого нами были изучены задачи о звуке, картинке и тексте. Можно сказать, что на плюс-минус достойном уровне программирование каждый из сдающих ЕГЭ изучил только в 11-м. И то, с репетиторами или самостоятельно. Но даже обладая элементарными знаниями, мы не приступали ко второй части. В последний раз, когда я был на уроке (это было как раз за день до объявления карантина) мы решали простые задачки на логику и разбирали не столь простые рекурсивные алгоритмы. Но всё же, эти номера находятся в первой части, в то время как во второй я иногда разбирался и с 2х мерными массивами (например, во второй части 2 номера отведены на решение задач при помощи кода, один номер с ошибками в коде, где их и надо исправить).
Итого
Наверное, если бы не случилось пандемии так «вовремя», наш педагог однажды бы сказал: «Хэй, ребят, а может сегодня разберём задание №24. Не знаете, что это? Это тот самый номер с ошибками, о котором вы так много слышали». Но, имеем что имеем, тут уж ничего не поделаешь. Удалёнка также никак не способствовала продвижению в изучении материала, скорее наоборот. Теперь вместо еженедельных занятий у нас только обещания, что скоро начнём заниматься. Как-то так всё и обстоит сейчас с обучением программированию в обычной школе. Если ты не проявляешь инициативы, постоянно не спрашиваешь тебе непонятные вещи, и не изучаешь мануалы сам или с репетитором (или любым человеком, который хочет и может тебе помочь), то скорее всего писать программы ты начнёшь в универе. Если, конечно, туда попадешь!
Благодарности
Большое спасибо за ознакомление с данной статьёй и за терпение к моему стилю изложения. Надеюсь, я немного удовлетворил ваш интерес по отношению к этой теме. Если нет, то можете написать мне в комментариях любые вопросы, буду рад ответить. А также можете поделиться своим опытом изучения основ программирования или советами для начинающих. Ещё я хочу поблагодарить за помощь и поддержку: Таифа Алимова, Анну Кангур, Эльзу Степаненко, Татьяну Никифорову, Эллину Кастуеву, Александру Мызину и Юлию Хольнову.
KivApple
Меня много лет назад возмущал запрет на использование калькуляторов на данном экзамене. Да и писать код на листочке не очень вдохновляло. И это при том, что специфика профессии такова, что без компьютера ты точно ей заниматься не будешь. Я не спорю, что уметь считать в столбик полезно, но эти навыки уже проверяются на ЕГЭ по математике, зачем дублировать сущности. Как итог набрал больше 90 баллов я по физике, где калькулятор был (причём там тоже не всё было гладко и у проверяющих были претензии, хотя моя модель входила в официальные списки, но это был четвертый экзамен и мои нервы уже были изрядно потрепаны, поэтому я просто заявил, что калькулятор убирать не буду, а все претензии будем решать в официальном порядке и от меня отстали пробурчав что-то вроде "но знайте, мы идём вам на встречу"), а на информатике что-то около 80. Хотя программированием занимался с начальной школы, а вузе наша команда на acm icpc дважды доходила до полуфинала. К счастью, ничто не помешало мне ни поступить куда я подал документы, ни потом устроится на хорошую высокооплачиваемую работу (впрочем, есть основания полагать, что я бы хорошо устроился и если бы вообще не сдал ЕГЭ и высшее образование не получил, но это уже специфика индустрии).
KivApple
Кстати, на апелляции по информатике столкнулся с тем, что я знал turbo pascal лучше проверяющих, но поскольку никто не проверяет часть C путем попытки исполнить на компьютере, а полагаются лишь на мысленную интерпретацию проверяющим, а я был не очень уверенным в себе школьником, никаких баллов мне не добавили.
NickMalder073 Автор
Печально, что такое встречается(
KivApple
Это можно было бы легко решить, проверяя решения на компьютере. Если работает и алгоритм имеет нужную сложность O, то максимум баллов. Если не компилируется или сложность выше нужной, то уже резать баллы и привлекать экспертов с их субъективными оценками.
Причём в случае ввода данных из вне сложность тоже можно проверить автоматизировано просто вводя большие тесты и замеряя зависимость от времени. По факту эксперты нужны только, чтобы подставить пропущенную точку с запятой (и снять за это чуть-чуть баллов) или попытаться дать хоть какие-то баллы, если программа не работает, но рациональное зерно в ней есть.
Айтишные задачи должны проверяться айтишными же методами, иначе получается маразм.
NickMalder073 Автор
Полностью согласен с вами!
alexdesyatnik
За синтаксические ошибки в этом задании баллы не снимают (до трёх ошибок включительно, причём однотипные ошибки считаются за одну).
neugomonnik
О, Алексей Андрееевич, привет! :)
alexdesyatnik
Привет :)
MKMatriX
Есть тонкость, что сложность О — далеко не единственный показатель. Ровно как и формальная правильность выполнения. Например заполнение экрана красным из классического дума, не было рандомным, и имело сложность О не от числа пикселей на экране, а от числа несколько больше, однако решение не тратило оперативку, что было критично для того времени.
Хотим мы это или нет, но решить школьную задачку с нужным (возможным) О и правильным выполнением можно даже полу-рандомно генерируя команды. Область к сожалению субъективная.
А вообще игра shenzhen I/O показывает что оптимизация одного параметра после некоторой планки приводит к деградации другого (там это количество строк, цена элементов, количество потраченных тактов)
KivApple
Вы серьезно считаете, что на ЕГЭ требуют и проверяют у школьников способности низкоуровневой оптимизации количества тактов и т. д.? Таким даже на acm icpc не дрючат (абсолютно все задачи оттуда можно решить только подобрав алгоритм с нужным O и используя язык с производительностью не ниже c++ или Java). Область очень специфическая, которая в школе вообще принципиально не может быть затронута, да и в вузе максимум обзорно уровня "так бывает, знайте это" скорее всего, хотя тут могу ошибаться. Я в своих замечаниях исхожу из того, что сейчас реально требуют и спрашивают на ЕГЭ.
a1ex322
Ну знаете вы Паскаль, какое это имеет значение? Написать код это любой сможет, а экзамен проверяет как раз случаи, когда перед тем как написать, нужно сесть и хорошенько подумать.
KivApple
Очевидно, результаты нашей команды на acm icpc намекают, что думать я умею достаточно (кстати, в локальных индивидуальных соревнованиях я тоже пару раз места занимал, причём из-за ценных призов туда приходили и профессиональные программисты, поэтому конкуренции хватало). Пусть не для выхода в финал, но явно выше необходимого для ЕГЭ. И претензия была не к алгоритму (сложность у меня была на уровне эталонного решения и проверяющий это не отрицал), а к "эта функция стандартной библиотеки не так работает", хотя она работает именно так и элементарная экспериментальная проверка доказывала мою правоту.
a1ex322
Вам знакомо понятие "псевдокод"? Какое значение имеет конкретный язык при проверке ваших знаний на ЕГЭ? Это к вопросу, зачем вам компилятор на экзамене. И также не ясно, почему вам требуется калькулятор, чтобы посчитать результат при специально подогнанных входных данных.
KivApple
Псевдокод или нет, но в любом случае потом на проверке могут быть придирки к конкретным вещам. От забытой точки с запятой (не мой случай) до разногласий с экспертами о поведении стандартных функций (мой случай). Мало написать алгоритм с нужной сложностью...
А зачем калькулятор. Да хотя бы системы счисления переводить. Я про самый обычный калькулятор, без автоматического перевода. Это ведь так глупо потерять баллы из-за вычислительной ошибки, хотя в реальной жизни у программиста доступ к калькулятору на работе всегда будет (а наиболее популярные действия сами отложатся в подкорке по ходу получения опыта работы). Ещё раз повторю, что навыки счёта проверяет ЕГЭ по математике, а ЕГЭ по информатике их проверять не должен. На нём же не снимают баллы за орфографические ошибки.
vsergoog
У меня специфика работы такова, что порой приходится работать с двоичными данными. Так вот, когда приходится, я могу спокойно конвертировать в голове bin-hex-dec. А уже через пол года, даже простую цифру вроде Е не смогу в двоичный код без раздумий записать. Нафига лишать программиста калькулятора — мне не очень понятно.
KivApple
Что примечательно, после ЕГЭ я ни разу в жизни не встречался с ситуацией, когда калькуляторы были бы под запретом. Ни на экзаменах у самых строгих преподавателей в вузе (максимум был запрет на калькулятор на смартфоне, но тут причина понятна), ни на собеседованиях, ни на олимпиадах (опять же смартфоны нельзя). Ну и, разумеется, принцип "победителя не судят" — если программа работает на компьютере, то никаких претензий к её работоспособности уже быть не может, только к читаемости (но на ЕГЭ на читаемость всем плевать и кому-то вообще может наоборот прилететь за читаемые имена переменных от экспертов, уверенных, что имя переменной это обязательно 1 символ, так что это ни разу не аргумент) или алгоритмической сложности
NickMalder073 Автор
.
Gengenid
А как сейчас калькуляторы проверяют перед ЕГЭ?
Я список разрешенных моделей глянул, там в корпусы вполне можно уместить достаточно производительный компьютер с как минимум всей теорией по предмету
Gengenid
А, это уже было на хабре :)
https://m.habr.com/ru/post/95776/
NickMalder073 Автор
Прежде всего ставится пломба. Если не ошибаюсь, сразу после покупки (которую осуществляет школа). И перед началом экзамена, в аудитории и выдаются калькуляторы, уже проверенные на наличие той самой пломбы и т.д.
vladkorotnev
Охренеть не встать. Это давно такие нормы ввели?
Помню на своём ЕГЭ по физике просто принёс свой старый калькулятор и им пользовался. Посохранял ещё все ответы в регистры, чем в итоге нашёл ошибку распознавания в одной из задач.
NickMalder073 Автор
Ну пару лет назад уже было такое
KivApple
Предполагаю, очень сложно скрыть все следы модификации. Плюс преподаватели могут ходить между рядами. Плюс единицы справятся сами (и им будет проще самим всё выучить), а при массовом производстве модель просто забанят. Плюс калькуляторы разрешены на очень ограниченном числе экзаменов.
Идея с поляризационными очками и невидимым чернилами выглядит жизнеспособнее, но лично я ничего не списывал в своё время.
KivApple
Да и вообще ЕГЭ не так сложен как его малюют. Я к той же физике вообще почти не готовился и получил максимальный балл из класса. На уроках занимался чем угодно, кроме решения тестов — обсуждал с другом изготовление Гаусс Пушки, а из столовой мог опоздать на урок. То есть просто факт интереса к предмету достаточен, чтобы получить хороший балл. При наличии калькулятора лол.
Не особо вижу смысла на бакалавриат идти в топ вуз. Пойти туда на магистратуру ГОРАЗДО проще, ибо конкурс портфолио и никакого ЕГЭ. А в вузе попроще это портфолио очень легко фармится, потому что на тебя молятся и суют на абсолютно все олимпиады. Я так полстраны объездил и даже за границей побывал исключительно на бюджетные средства (и надо отметить, весьма результативно, большинство грамот не просто "за участие"). Так ещё и повышенными стипендиями имел под 20к, при этом живя с родителями и не тратя их на жильё и еду. В итоге на выходе получил красный диплом и портфолио страниц на 100 (причём много международного и всероссийского уровня), с которым меня даже за границей кое-где видеть рады на продолжение обучения, что уж говорить про Россию. А многие одноклассники, кто сразу уехал в Москву вообще не окончили или окончили на одни тройки и пустым портфолио (потому что сложно учиться, олимпиадникам меньше поблажек, а ещё надо где-то работать, потому что повышенную стипендию фиг получишь). Плюс у них не было столько времени заниматься пет-проджектами, которые имхо дали мне гораздо больше преимуществ на собеседовании, чем любой диплом.
chersanya
Так и предметов в магистратуре во много раз меньше и они более специализированные — фундаментальное образование получается на первых курсах. Заводить контакты среди однокурсников и других студентов тоже значительно эффективнее в бакалавриате.
По крайней мере, у нас (МФТИ) так было — в магистратуре уже мало пар, с однокурсниками почти не видишься, с некоторыми одногруппниками чуть почаще но тоже несравнимо меньше, чем в бакалавриате.
Я скорее наоборот не особо вижу смысл идти в топ вуз только на магистратуру. И проблемы с трудоустройством у адекватного выпускника бакалавриата тоже сложно представить.
Вот попытаться перевестись после первого семестра/курса из другого вуза, если не получилось сразу поступить куда хотелось — это более логично звучитю
0xd34df00d
Скорее наоборот, не вижу смысла идти не в топ вуз. Если вы хотите учиться, то смысл идти на бакалавриат вполне очевиден (chersanya рядом правильно пишет, да и я тоже выпускник МФТИ и с ним согласен, вся эта фундаментальщина была очень полезна для развития мышления). Если вы не хотите учиться и вам нужна корочка, то она на самом деле не нужна: на работу берут и так, для эмиграции в ряд стран она тоже вполне себе опытом работы заменяется.
И да, учёба в Физтехе не помешала мне иметь всякие пет-проекты, докачать плюсы и начать прокачивать тот же хаскель, работать почти фуллтайм этак с середины четвёртого курса и переехать сразу по выпуску заграницу с оффером на должность синиор девелопера/ресёрчера.
Впрочем, диплом у меня с тройками, да. Самая смешная из них — по многопроцессным системам или что-то такое, учитывая, что я с ними уже имел непосредственный опыт от MPI и STM до параллелизуемых расчётов всяких сеточек, у препода, который ставит пятерки вообще всем, кто ходил на лекции (потому что я не ходил на лекции и начал выпендриваться на экзамене). Но, опять же, так как на диплом всем плевать, то это и неважно.
И, впрочем, поступал я в 2008-м и по олимпиадам (так что ещё в марте я знал, что поступил, так как у меня будет 26 баллов из 24) и вообще не думал о ЕГЭ (главное — сдать не на два, и задачу по геометрии в C-части математики я тупо даже не смотрел и ушёл на час раньше с экзамена прогуляться прекрасным, кажется, июньским днём). Не знаю, как там сейчас с поступлением по олимпиадам.
mvv-rus
Это IMHO зависит от выбора решения другого вопроса — «в чем смысл жизни?».
И если стать «программистом на плюсах» не является целью всей жизни, а нужно просто получить специальность, которая будет кормить, то совсем не обязательно (и, наверное, просто не стоит) пытаться прыгать выше головы и пробиваться в топовый ВУЗ. Потому как тяжела и неказиста жизнь такого вот пахаря, учащегося дни и ночи напролет (а иначе с его способностями не получается), который «променял девичий смех на голос лектора занудный», т.е. отказался от утех молодости чисто ради того, чтобы получить это самое очень фундаментальное образование.
А вообще тут каждый выбирает для себя, и правильного выбора нет — как нет и правильного ответа на вопрос «в чем смысл жизни». Главное — постараться не ошибиться с выбором.
0xd34df00d
Для того, чтобы стать программистом на плюсах, в вуз идти, кстати, совершенно не обязательно. Мне вообще думается, что для того, чтобы зарабатывать деньги программированием, высшее образование не нужно (от армии отмазаться, разве что, но на это можно и так денег заработать, если их начать зарабатывать примерно в конце школы, что с программированием не то чтобы нереально).
Лойс за знакомство с культурой.