Если принципы, о которых я сказал выше, будут применяться на каждой лекции, на каждом семинаре, то, может быть, даже и неважно, чему конкретно учить. Все равно большинство ИТ-технологий устаревает к началу курса лекций о них. (Это, конечно, не надо понимать слишком буквально, но в пределе – именно так.)
Что же делать неравнодушному человеку, попавшему в такой равнодушный переплет, как автор писем из Сибири? Прежде всего, не теряться. Не отчаиваться. Вы же IT-man!
Надо искать себе нишу профессиональной деятельности. Кафедру, лабораторию, научного руководителя. Зачастую там дела идут лучше, чем в общем учебном процессе. При этом не забывать соблюдать важный закон: выбирать не столько интересную тему, сколько руководителя, который будет тобой реально заниматься. Стремиться, чтобы твоя работа была реально востребована. И в рамках этого (и за их пределами) самому интенсивно заниматься своим профессиональным образованием. По крайней мере, не терять времени. В ИТ-индустрии надо быть энтузиастом, не ждать, когда научат, – а копать самому.
Еще один совет – не ставить слишком близких целей. Не стоит ориентироваться на «горячие» технологии и специальности; пока на них серьезно выучишься, они неизбежно сменятся. Надо уважать классику и смотреть вперед, для этого и нужно хорошее научное руководство. Если же вы будущий разработчик, рекомендую прочитать книжку «Программист-прагматик» Э. Ханта и Д. Томаса. Там много советов, более мудрых и выверенных, чем мои.
Может быть, занявшись всем этим, вы неожиданно для себя откорректируете и свое отношение к вашему вузу. Ведь вы меняетесь, это видно по письмам.
Конечно, хотелось бы, чтобы и образование, и самообразование работали вместе, умножая результаты. Только тогда главным ощущением выпускника вуза станет не равнодушие, а крепкое желание работать и уверенность в своих силах.
Вот примерный перечень того, что необходимо, на мой взгляд, изучать в курсах информатики для студентов технического вуза без ИТ-специализации.
Пользовательская часть
Пользовательский курс на минимум двух OC (Windows, Linux) с акцентом на конфигурирование программных сред «под себя», увеличение КПД работы и поддержку общих и корпоративных стандартов. Это включает офисные технологии, Photoshop, Illustator/Corel, 3DS Max, Premiere и т. д.
– Архитектура компьютера, его сборка и апгрейд.
– Хороший курс сетевого администрирования изученных ОС. (Желательно, чтобы каждый студент-второкурсник мог бы подобрать подходящее железо и настроить офисную сетку из десятка компьютеров с набором программ по своей работе, не обращаясь к дорогим, в прямом смысле слова, специалистам.)
– Курс специализированного ПО, являющегося отраслевым стандартом в какой-либо области.
Программирование
– Программирование на широко распространенных языках, включая C/C++, под Windows и Linux на уровне, достаточном для решения будущих профессиональных задач.
– Элементы компьютерной графики (OpenGL).
– Программирование с использованием ЛВС на уровне, достаточном для решения своих профессиональных задач.
– Элементы численных методов и математическое моделирование (в том числе с использованием популярных сред наподобие MathCAD).
– Программирование и разработка ПО в системах, являющихся отраслевыми стандартами предметной области. Поддержка и сопровождение существующих систем и модулей.
Если студент специализируется именно на разработке ПО, то к перечисленному можно добавить как минимум: расширение количества платформ – ассемблеры (не менее двух), работу с однокристалльными ЭВМ, разработку и поддержку гетерогенных систем; контроль качества процессов (тестирование, эффективность, защита данных) и прочие разделы. А при ориентации на исследовательскую работу нужны еще дискретная математика, формальная теория языков и многое другое. Причем речь, конечно, идет только об общих для всех курсах, до разделения по кафедрам.
ТЕМА НОМЕРА: Лишь один из ресурсов
Автор: Леонид Левкович-Маслюк
– литератор, в недавнем прошлом создатель и редактор раздела «Компьюномика» в нашем журнале, живет в Твери. Я попросил Максима ответить на несколько вопросов о ситуации с ИТ-образованием в провинциальных вузах (впрочем, за последние десять лет от былого понятия провинциальности мало что осталось). – Л.Л.-М.Можно ли сегодня в «провинциальном» (то есть не находящемся в Москве, Питере, Новосибирске, Нижнем Новгороде… не знаю, где оборвать список!) вузе освоить на хорошем уровне ИТ-специальность?
– Безусловно, да. Как, в принципе, и без вуза. Сегодня студент (в Москве, в Туле, в Беркли, где угодно) не должен рассматривать университет как место, куда он придет и где его всему научат. На вуз следует смотреть просто как на один из ресурсов для профессиональной и карьерной подготовки. Наряду с другими, как традиционными (библиотеки, музеи, профессиональные сообщества и пр.), так и новыми (прежде всего, цифровыми коммуникациями и ресурсами, доступными с их помощью).
В Москве и крупных региональных центрах этот ресурс более доступен, в не столь богатых городах – менее. Однако это отчасти компенсируется наличием или дешевизной других ресурсов – как образовательных, так и жизненно-инфраструктурных.
Поставим вопрос несколько иначе. Существуют ли в провинции вузы с достаточно высоким уровнем подготовки по ИТ и за счет чего они поддерживают такой уровень?
– Я не знаю ни одного сильного вуза, включая столичные, который хотя бы сохранил уровень преподавания, достигнутый в советские годы. Преподавательский состав стареет, многие покинули страну (и этот процесс продолжается).
Но я опять хочу обратить внимание на то, что вуз – лишь один из ресурсов, от него нужно брать то, что он может дать, и не требовать невозможного. Например, если говорить о программировании, то базовую математику в среднем техническом вузе России сегодня преподают хуже, чем двадцать лет назад, но все еще лучше, чем в подавляющем большинстве стран мира, даже более развитых экономически и более культурных. Пользуйтесь.
По моим впечатлениям, «уровень» (базовые знания, отношение к занятиям) студентов-естественников, математиков, инженеров в серьезных технических вузах за последние 15–20 лет не изменился, хотя понятно, что по другим параметрам это совсем другое поколение. Мне с ними так же интересно, как было интересно в их возрасте со своими сверстниками.
Уровень преподавателей базовых для ИТ дисциплин (математических) снизился, но не катастрофически. Уровень преподавания совсем уж прикладных вещей сегодня упал «ниже пола». Коррупционное давление с целью подмены знаний и опыта прямой рекламой «отраслевых партнеров» очень сильно, и российские вузы продемонстрировали полную неспособность ему сопротивляться, причем именно ИТ-специальности оказались, в силу ряда причин, одной из наиболее уязвимых точек. Все-таки, насколько я знаю, инженерам-химикам не читают лекции про то, что «Проктер и Гэмбл» делает лучшие в мире стиральные порошки, а вот для «прикладных» курсов в сегодняшних российских вузах совершенно типично сведение к такому примерно содержанию.
Можно ли говорить о цифровом барьере (digital divide) между столицами и провинцией, имея в виду возможность получить образование?
– Реальные проблемы – разрыв в уровне жизни и культурный разрыв. «Цифрового разрыва» как отдельной проблемы не существует.
Сегодня студенту очень важны возможность пользоваться компьютером, доступ к Интернету и базовая компьютерная грамотность. (Вспомним идею из книги «Earthweb» Стиглера [Mark Stiegler], где демократические силы пытаются развивать человеческий ресурс в отсталых авторитарных странах, разбрасывая с самолета портативные детские компьютеры с сетевыми радиоадаптерами.) Это справедливо отнюдь не только для студентов ИТ-специальностей, и, возвращаясь к предыдущему вопросу, я бы сказал, что это более важно, чем уровень преподавательского состава в вузе, который студент посещает, даже важнее того, посещает ли он вуз вообще.