Пост из Блога
Ad_Astra на Хабре под названием "IT-образование моей мечты":
"Нет, этот топик - не провокация и не попытка срубить комментов, "плюсадинов", кармы или ещё чего-нибудь в том же духе. Это, что называется, наболело.
Нет, у меня нет высшего IT-образования. Что мне нисколечко не мешает работать в данной отрасли и получать столько же, если не больше, сколько получают мои ровесники, протиравшие штаны в универах. А всё почему? А потому что в столь стремительно меняющейся отрасли чего-то можно достичь только при постоянном САМОобразовании, изучении технологий, и, что немаловажно, систематизации знаний. Чего люди с "корками" зачастую понять не могут, и в результате, работая в команде, можно насмотреться на такой "быдлокод", что просто диву даёшься.
Сейчас в куче вузов, начиная от профильных технических и заканчивая экономическими и естественнонаучными, есть специальности типа "прикладной информатики в области ...". На одной из таких я даже честно полтора года пыталась учиться - после чего вследствие проблем со здоровьем и тяжести сочетания учёбы и работы забила. О чём нисколько не жалею. Ибо как у нас сейчас учат таких, с позволения сказать, "специалистов"?
Сначала пару лет зверски грузят всей возможной математикой (при этом, даже если трогают вещи вроде аппроксимации функций, в жизни не скажут, как это используется в реальном программировании той же графики). Параллельно с этим сперва кодят наипростейшие алгоритмы на бейсиках-паскалях, потом учатся накидывать кнопочки на форму в Дельфях (что интересно - довелось год пожить по обмену в Штатах и походить на тамошнюю информатику, так вот НИКТО там на подобном не пишет и не собирается). Ещё годик помурыжат теорию баз данных, научатся на тех же Дельфях выписывать простенькие программки для управления, например, складом, а ещё - о, какой эксклюзив! - выучат пару-тройку тэгов HTML в качестве бонуса. А дальше уже пойдёт всякая хрень из той самой области, по отношению к которой информатика является прикладной. Вот и всё. Где систематизация и чёткие знания в голове? А нигде.
Да, я знаю пару вузов-контрпримеров, когда реально разбирается и то же веб-программирование со всеми полагающимися спецификациями, и новейшие разработки, и ещё много чего. Но это всё скорее исключение, чем правило. Большинство из образовательных программ, которые мне доводилось видеть, построены примерно так, как я описала выше.
И я вот, честно говоря, не понимаю - какой кретин вообще решил, что в качестве теоретической базы для программистов должна выступать именно математика в самых сложных для понимания своих областях? Дискретная математика и базовая логика - да, ИМХО нужны однозначно. Линейная алгебра, операции над матрицами - аналогично. А вот всё остальное ИМХО - уже только после более узкой специализации, когда 3dшники отделяются от программистов баз данных, и так далее. Тем же 3d-шникам просто НУЖНО будет понять аппроксимацию функций и всяческие стереометрические приблуды, и никуда они от этого не денутся, да. Но это уже явно не на начальном этапе, чтобы не было забивания головы в ущерб реально базовым вещам вроде той же дискретной математики.
Что бы я ещё зачислила в обязательный теоретический базис? Теорию языков, алгоритмов и парадигм программирования. А то стыд-позор, выпускники вузов не знают, чем функциональный подход отличается от объектно-ориентированного, а также чем префиксная форма записи функции и аргументов в каком-нибудь Лиспе отличается от инфиксной, принятой в большинстве императивных языков. Про то, что языки могут отличаться не только синтаксисом, но и семантикой, большинство тоже не в курсе (а посему крайне плохо приспособлены к выбору технологии под конкретную задачу). Ну и формализация синтаксиса при помощи формул Бэкуса-Наура - полезная штука. Как студенты, для которых это пустой звук, потом смогут написать хотя бы банальный парсер чего-нибудь - я не представляю.
Ещё я не понимаю желания преподавателей так или иначе заставить студентов писать тексты программ и (о, ужас!) рисовать блок-схемы непременно на бумаге. Я помню, как одна мадам, которую и в детский сад-то пускать нельзя было, устроила студентам истерику по поводу того, что те просто распечатали накоденную на Паскале стопку задач. "Нет, всё в тетради, и чтоб к каждой задаче была блок-схема!" Блин. Если это такая защита от списывания - то тот, кому надо, преспокойно спишет и от руки. Так усложняется жизнь как раз наиболее продвинутым ученикам, которые уже научились МЫСЛИТЬ логическими категориями, сразу преобразовывать свои мысли в код, и которым уже не нужны костыли в виде примитивных блок-схем.
Вообще, касаемо этих самых схем - я считаю, что совсем уж примитивные вещи надо давать в школе. Вместе с Бейсиками-Паскалями на начальном уровне, кстати. А всякие Ворды-Эксели и прочую офисную муть при наличии компьютеров
Читать далее...