Прежде всего сразу же стоит отметить проблему с русским названием. В русском есть понятие "комьютерщик" (абстрактный носитель свитера), "программирование", "информатика". Кто такой программист? Даже тут куча тонкостей, на что можно убить десятки килобайт.
Что такое программирование? В английском есть две крайности: CS и ЕЕ. Программирование - это посередине. Одно - теория, другое - практика (здесь я использую слово "разработка"). Хотя в штатах есть среднее понятие CE (computer engineer), но как я понял, оно ближе к EE. В общем, где-то между CS и CE - это и есть программирование.
Кто у нас в России учит программированию? Мой рейтинг таков:
1-2) ИТМО (КТ)
1-2) МГУ мехмат (некоторые кафедры мехмата)
3) СПбГУ матмех (некоторые кафедры матмеха)
3*) АФТУ
Детализация по кафедрам нужна, ибо на том же мехмате МГУ есть какая-нибудь кафедра гидромеханики, что к программированию имеет o(1). МГУ-шники - это все дискретные - логики и теории алгоритмов, алгебры, дискретной математики. СПбГУ - тереховская, у ИТМО - я знаю только про КТ.
АФТУ идет со звездочкой, потому что они только по магистрам, и там только 1-2 группы. Даже в Питере о них знают немногие (человек с АФТУ сильно удивился, что я знаю что это такое). Направление CS там довольно hardcore-ное, ибо люди с ПОМИ.
Это не значит, что если вы не с перечисленных организаций - то ничего не знаете. Да будь у вас даже красный диплом с ММ МГУ, то это ничего не значит. Если вы не с крутого вуза, то вы можете всего добиться сами, если с крутого - то есть шанс, что кто-то на парах рассказывал что-то путное. Другой вопрос, ходили ли вы туда, и был ли эффект. А то словосочетание "прослушал курс" можно понять двояко.
Есть большие вопросы: "Чему же обучать?"
Есть какие-то фразы второго порядка, типа "не надо учить, надо учить учиться". Это в корне не верно, это значит и так ни хрена сами ничего не знают и ничему обучить в принципе не могут. Вторая производная не возможна без первой, чтобы научить учиться, необходимо сначала просто обучить. Дальше оно само сможет, если не мешать.
Так повелось во всем мире, что на младших курсах дают общие предметы, а затем идет специализация по областям. Тут претензия, что необходимо делать упор на дискретных областях, а не на непрерывных.
Я не против матана и тервера, оно надо, но надо в другом качестве и количестве. Вот вам рассказали про диффуры в частных производных, ТФКП/функан, хардкорный тервер... Теперь вы можете одной левой брать диффуры и жать штангу. Причем одновременно и одной рукой. Круто. Но применительно к компьютерам это абсолютно бесполезно.
У большинства в курсе даже нет предмета "мат. логика", нет нормальной алгебры, есть какая-то запись в дипломе о "дискретной математике". По мне так понятия о вычислимости и перечислимости гораздо важнее всех Рунге-Куттов вместе взятых.
Я не пишу учебные планы, хотя симметрично знаком с человеком, который пишет (внезапно, это даже 19-ая специальности в моем вузе, и весь поток МГУ ВМК). Наши местные все ругали составителей планов. Как оказалось, составитель плана тоже кого-то ругает (дальше по цепочке идет минОбр), и в самом деле он ни в чем не виноват, его тоже сильно ограничивают сверху.
Когда бываю на всяких мероприятиях по стране для поддержания разговора я узнаю об обучении в городе собеседника. У меня сложилось устойчивое мнение, что в большинстве мест вот эта проблема: дискретной математики за исключением меры 0 нигде нет, зато везде есть непрерывная. Видимо стране больше нужны люди, которые знают вычислительную математику и способны запустить спутник в космос. Только что-то спутники назад возвращаются.
Не призываю сжечь
Хочется чтобы у нас образование помогало, а не фильтровало и не мешало. Но для этого нужны цели, и понимание что такое программирование и зачем оно надо. А тут даже у меня глухо.
Комментариев нет:
Отправить комментарий