|
Прежде всего о том объективен ли мой взгляд на проблему. Я преподавал в ВУЗе (достаточно крупный и известный университет, хотя и не в столице) в России в течении 16 лет, от ассистента до доцента, затем готовил программистов в Нью-Йоркской бизнес-школе (частное учебное заведение) в течение 6 лет и теперь продолжаю делать то же самое в Нью-Йоркском университете.
Это письмо – отклик нашего читателя на личный опыт "Как меня пытались выучить на программиста" – ред.
Во всех трех случаях методы преподавания существенно разнились. Да и цели, надо сказать, были тоже разные. Но сначала о письме и откликах. Собственно автор письма, может неосознанно, говорит вовсе не о проблеме подготовки программиста, а о проблеме того чему учат в Российских ВУЗах вообще. Даже не чему, а как.
Поверьте мне, доценту или профессору, сидящему на не самой большой зарплате, сильно подуставшему от однообразия повторяющегося год от года процесса нет никакого резона ежегодно готовить полностью новый курс в соответствии с современным взглядом на его предмет.
Курс подготовленный может еще в ассистентские времена подвергается легким косметическим воздействиям, типа добавления спертого с интернета или научного журнала какого-нибудь общего обзора. Так и получаются дикие конгломераты из DOS'a и линукса, фортраны после СИ и прочие явные несответствия базовым методическим принципам. (А интересно, много ли наших преподавателей ВУЗов смогут назвать хоть один из принципов методики? Они сильно удивлялись в мое время, услышав, что принцип "от простого к сложному" имеет к этой самой методике прямое отношение).
Но это общая проблема. А если говорить о частной, то вопрос можно поставить совсем в иной плоскости - а надо ли вообще готовить программиста (в стандартном понимании) в ВУЗе?
Моя практика работы в бизнес-школе показала, что вполне возможно за 6-9 месяцев обучить человека имеющего хоть какое-то образование и не окончательного идиота программированию (профессиональному) на ОДНОМ каком-либо языке. Я подготовил сотни успешно работающих программистов и для многих из них сменить язык программирования самостоятельно не стало проблемой. Однако при этом надо четко различать программиста-аналитика (простите за вольный перевод с английского) и программиста-кодировщика.
Именно так их делят в Америке по выполняемым функциям (и, впрочем, зарплате тоже). Аналитик ставит задачу, готовит при необходимости документацию и способен самостоятельно эту задачу решить.
Для такой работы надо или действительно высшее образование, или реальный опыт, и немаленький. Если человек этому не обученый, да еще без опыта берется за такую работу, Вы получите в результате совершенно школярское, неэффективное и никому не нужное решение. Кодировщик получает задачу в виде функциональных требований и эскиза интерфейса (если в группе работает дизайнер - то и готовый интерфейс со всеми необходимыми элементами его создания). Конечно хороший кодировщик должен свободно владеть своим языком программирования (а эффективные программы создавались на любых языках, в конце-концов заказчику чаще всего совешенно все равно на чем Вы там программируете), но кодировщику не нужна ни глубокая математическая подготовка, ни, тем более, знание философии или "основ современного естествознания". Ему, проще говоря, ВУЗ не нужен. Техучилище соответствующего профиля было бы вполне достаточно. В США при приеме на работу программиста обратят внимание на его образование, но оценивать его будут только по опыту работы.
А спорить о том какой учебник использовать или какой язык круче совершенно бесмысленно. Итак еще раз мой основной тезис: в ВУЗе готовить надо не программиста, а специалиста в области вычислительной техники (по английски звучит короче - computer science).
Программист обучается своему ремеслу или в школе, типа техучилища - один-два языка, много практических заданий, от простейших до реального проекта, или приобретая опыт работая в группе, начиная естественно с самостоятельного изучения основ какого нибудь алгоритмического языка. Это может быть и Бейсик, и Фортран, и Паскаль - что угодно, лишь бы понял основы алгоритмизации. А синтаксис дело наживное.
Ну и к сведению скептиков - свое нынешнее состояние я заработал вовсе не преподаванием, хотя практически и не прекращал этот процесс, а самым что ни на есть живым программированием, включая проекты для министерств, крупных предприятий, банков и т.п.
14 СЕНТЯБРЯ 2005 18:53
|