Мой сын этим летом поступает в высшее учебное заведение. И естественно программная инженерия у нас в списке приоритетов. Я тем временем сижу вычитываю учебные планы по данной специальности различных вузов, а их только в Москве 31 штука. Честно говоря, мне очень нравится, что такая дисциплина у нас вообще появилась. Однако присутствует у меня ощущение, что чего-то в большинстве учебных планах все же не хватает. Что-то уважаемые профессора своим студентам не договаривают. Попробовал сформулировать что именно:
- Прежде всего, не хватает java. Не java в смысле языка программирования или же виртуальной машины, а java в смысле JavaEE (она же J2EE). Как язык программирования Java, безусловно, полезна, но самое интересное начинается, когда речь заходит о серверах приложений (application server). Я не знаю, какое будущее ожидает Java Enterprise Edition, но не сомневаюсь в том, что это самое ощутимое настоящее современной нам программной инженерии.
- Интернет и сети передачи данных присутствуют практически во всех программах и это хорошо. Знание ADSL и PPP еще никого не испортило. Но что-то подсказывает мне, что учить будущих специалистов надо не семиуровневой модели и не протоколам ниже IP, а протоколам выше TCP. С проводами и радиоинженеры разберутся, а программный инженер должен представлять что такое ietf.org и чем stateless протокол отличается от stateful. В деле интеграции приложений пригодится. Туда же SOAP, WSDL и прочие творения OASIS и W3C. Даже как-то обидно, что ВУЗы забыли про интеграцию приложений. Вот CORBA-у уже, наверное, можно не читать, они бы еще COBOL вспомнили, а без протоколов взаимодействия приложений инженеру никак нельзя. Он же не какой-нибудь там программер 🙂
- Еще про старину. Что-то я lex-ов и yacc-ов ни у кого в учебных программах не обнаружил (почти ни у кого). Наверное, созданием компиляторов программные инженеры заниматься не будут, но интерпретатор хотя бы раз в жизни им наверняка разработать придется. Ну и как же это сделать без синтаксических и лексических анализаторов. А еще, не вижу Дональда Кнута, хотя бы третьего тома «сортировка и поиск». Но ведь должен же быть, наверняка я что-то невнимательно прочитал. Вот про юзабилити практически у всех что-то написано, а Кнута не видно.
- Про методологию разработки ПО – отдельный вопрос. Что-то мне подсказывает, что управления требованиями и навыки аттестации ПО не заменят будущему специалисту опыта работы в опенсорсном проекте в стиле agile.
- И в завершении, конечно архитектура информационных систем. Причем архитектура не в смысле красивых картинок, а архитектура в смысле проектирования ИС: API для plugin-ов и extension-ов, конфигурации и т.п. На работе такому не научат по экономическим соображениям, т.к. чем больше хардкода, тем больше новых требований по доработке. Потому строка Макаревича: “Нас всех обучили секрету созданья гармонии в мире…» как раз и обращена к ВУЗу
Ну а вообще, это здорово, что в ВУЗах появилась такая специальность
Похожие записи:
Думаю, что для этой специальности крайне полезно было бы изучать Personal Software Process как инструмент собственной эффективности…
Маским, здорово что вы проверяете программу специальности перед тем как сына направить туда.
Но немного не согласен с вашим анализом:
1) Java
1a) нужен язык для оттачивания алгоритмов и структур данных, раньше был бейсик, потом паскаль, местами перешли потом на C, местами на java — это нормально и удобно. Альтернативные языки (Phyton, Lisp) факультативны, как доп нагрузку можно давать.
1б) J2EE — сервера приложений ничто, важна концепция построения решений в которых происходит разделение задач между клиентами/серверам/процессами/событиями и т.п. Я бы сказал, из j2ee интересны только шаблоны проектирования, и то только в сравнении с другими архитектурами.
2) семиуровневый OSI знать нужно. не ожидал, но в свое время потребовалось знание и UDP и TCP, как минимум как основу построения своих протоколов. Интеграция приложения это скорее не к протоколам, а к идеи и концепции построения продуктов. Не важно, что последние 5-10 лет SOAP и WSDL удобен для интеграции, через 5 лет все может измениться. А вот идея сервисной модели, разделения функций и интеграция компонентов для достижений бизнес целей — еще долго будет актуальной.
3) согласен полностью.
4) методологию надо преподавать причем не только Agile, а скорее RUP, а уже после показать чем (для чего) Agile удобнее/хуже.
5) согласен, частично пересекается с моим текстом в 1б.
Максим, случайно забрел на твой сайт.
А почему такой большой список? Исходя из моего опыта преподавания я бы его сократил до трех: МГУ, МИФИ, ФИЗТЕХ…
Из личного опыта: студенты факультета бизнес информатики ВШЭ существенно «проще», чем студенты МГУ. А в МАИ вообще бардак…
Алексей С.
Список ВУЗов с специальностью программная инженерия я смотрел здесь http://vuz.edunetwork.ru/
http://www.cs.msu.ru/studies/study_plans/uplan_08_13_asvk_sp_al.pdf — неужели не нравится?:) Это правда только с 3 по 5 курс.
А Кнут у нас был в 1 семестре.
Спасибо за комментарии. Обязательно вернусь к этой теме
Думаю, лучше ВМК МГУ, который я когда-то закончил, нет — несмотря на явную деградацию и вуза и факультета за последние годы — студенческий театр, где все поют и танцуют, развился на ВМК не в пример больше, чем ИТ-проекты. Конкретные предметы не важны, важен фундаментальный подход к ИТ, который там все еще преподается. А любых конкретных предметов, о диалектов JAVA до реализаций фракталов, можно набрать на спец. и доп.курсах.
+1
Мы поступили в ГУ-ВШЭ на отделение программной инженерии факультета бизнес-информатики
оо, проконсультируйте, пожалуйста. не пожалели, что именно туда? что хорошого\плохого? метаюсь между программной инженерией Вшэ и СМ5(Бауманка)
Здравствуйте!
А чем отличается специальность Программная и инженерия от специальности Информатика и вычислительная техника с профилем подготовки «Программное обеспечение средств вычислительной техники и автоматизированных систем».
И какая из специальностей более перспективна и более универсальна?
Здравствуйте! Не возьмусь ответить на этот вопрос. Его надо обсуждать с преподавателями выпускающих кафедр конкретных ВУЗ-ов.
Максим ,пожалуйста, прокомментируйте Программную Инженерию Вышки.
Да, рекомендую. Это если говорить в двух словах. Есть, конечно, нюансы, но в целом — рекомендую
а если рассматривать МФТИ И Вышку (можем поступить и туда итуда) ,есть ли у Вышки какие либо преимущества
Максим,ваше мнение о програмной инженерии в Вышке не изменилось?
Ребенок 1 курс недоволен преподаванием и системой оценок (хотя с учебой все нормально)собирается после года пробовать перейти в ИТМО.
Марина, добрый день! Отправил письмо, но, вероятно, оно не дошло. В Вышке есть свои сильные и слабые стороны. Переходить из неё не собираемся
Максим, здравствуйте. Сын поступает в этом году, хочет быть программистом в области разработки искусственного интеллекта. У нас сложность с выбором факультета. Вы профессионал как я вижу в программировании, может порекомендуете, где этому учат? Выбираем между Физтехом, ВШЭ, МГУ. Хотя бы навскидку…
Елена, добрый день! Не думаю, что я достаточно хорошо разбираюсь в теме искусственного интеллекта. Насколько мне известно этим занимаются во всех трех ВУЗах. Может быть на ВМК чуть более глубоко. Раньше там был отдельный курс на кафедре алгоритмических языков
Спасибо 🙂 попробуем танцевать от этой печки. Мы- родители вообще далеки от этой сферы, сами химики, вот, как можем собираем информацию. Ещё раз спасибо.
Максим, добрый день! Сын поступает в этом году, выбирает между Пи вышки и ВМК. в СУНЦ, где он учился 2 года, их ориентируют, естественно, за ВМК. Сын хочет заниматься компьютерной безопасностью. Как вы считаете, уровень преподавания на ПИ ВШЭ не снизился после слияния с МИЭМ? И, если возможно — что вы сейчас думаете о ПИ вышки? вашему сыну нравится?
Екатерина, здравствуйте! Я несколько предвзято отношусь к высшему образованию в целом, потому хвалить ПИ ВЭШ или ВМК не стану. На мой взгляд, очень многое определяется конкретной кафедрой и научным руководителем. Я делаю собственный курс по архитектуре информационных систем именно потому, что в ВУЗах учат немного не тому, что нужно на практике.
Большинство моих знакомых, занимающихся информационной безопасностью, заканчивали ИКСИ ФСБ РФ. Впрочем, я сам не занимаюсь ИБ с 2000 года. Может там что-то и изменилось
А безотносительно компьютерной безопасности? большинство преподавателей теперь из МИЭМа и МГУПИ.
Некоторые преподаватели и раньше работали в нескольких ВУЗах. Они так и продолжают работать. После присоединения других институтов с ПИ ВШЭ, вроде бы, никто не ушел, т.е. те преподаватели, которые работали раньше так и остались. Возможно, со временем что-то и изменится, но пока ситуация такая. Программную инженерию эта трансформация мало задела.
Я тоже поступаю и выбрал программную инженерию. Хотел спросить важно ли знание физики и математики и чем именно?
Про физику не скажу, но математика точно лишней не будет