Главная > Software architecture > Специальность 231000 Программная инженерия (Software engineering)

Специальность 231000 Программная инженерия (Software engineering)

Мой сын этим летом поступает в высшее учебное заведение.  И естественно программная инженерия у нас в списке приоритетов. Я тем временем сижу вычитываю учебные планы по данной специальности различных вузов, а их только в Москве 31 штука. Честно говоря, мне очень нравится, что такая дисциплина у нас вообще появилась. Однако присутствует у меня ощущение, что чего-то в большинстве учебных планах все же не хватает. Что-то уважаемые профессора своим студентам не договаривают. Попробовал сформулировать что именно:

  1. Прежде всего, не хватает java. Не java в смысле языка программирования или же виртуальной машины, а java в смысле JavaEE (она же J2EE). Как язык программирования Java, безусловно, полезна, но самое интересное начинается, когда речь заходит о серверах приложений (application server). Я не знаю, какое будущее ожидает Java Enterprise Edition, но не сомневаюсь в том, что это самое ощутимое настоящее современной нам программной инженерии.
  2. Интернет и сети передачи данных присутствуют практически во всех программах и это хорошо. Знание ADSL и PPP еще никого не испортило. Но что-то подсказывает мне, что учить будущих специалистов надо не семиуровневой модели и не протоколам ниже IP, а протоколам выше TCP. С проводами и радиоинженеры разберутся, а программный инженер должен представлять что такое ietf.org и чем stateless протокол отличается от stateful. В деле интеграции приложений пригодится. Туда же SOAP, WSDL и прочие творения OASIS и W3C. Даже как-то обидно, что ВУЗы забыли про интеграцию приложений. Вот CORBA-у уже, наверное, можно не читать, они бы еще COBOL вспомнили, а без протоколов взаимодействия приложений инженеру никак нельзя. Он же не какой-нибудь там программер :)
  3. Еще про старину. Что-то я lex-ов и yacc-ов ни у кого в учебных программах не обнаружил (почти ни у кого). Наверное, созданием компиляторов программные инженеры заниматься не будут, но интерпретатор хотя бы раз в жизни им наверняка разработать придется. Ну и как же это сделать без синтаксических и лексических анализаторов. А еще, не вижу Дональда Кнута, хотя бы третьего тома «сортировка и поиск». Но ведь должен же быть, наверняка я что-то невнимательно прочитал. Вот про юзабилити практически у всех что-то написано, а Кнута не видно.
  4. Про методологию разработки ПО – отдельный вопрос. Что-то мне подсказывает, что управления требованиями и навыки аттестации ПО не заменят будущему специалисту опыта работы в опенсорсном проекте в стиле agile.
  5. И в завершении, конечно архитектура информационных систем.  Причем архитектура не в смысле красивых картинок, а архитектура в смысле проектирования ИС: API для plugin-ов и extension-ов, конфигурации и т.п. На работе такому не научат по экономическим соображениям, т.к. чем больше хардкода, тем больше новых требований по доработке.  Потому строка Макаревича: “Нас всех обучили секрету созданья гармонии в мире…» как раз и обращена к ВУЗу

Ну а вообще, это здорово, что в ВУЗах появилась такая специальность

 

Рубрики:Software architecture
  1. Сергей Кузин
    27.06.2011 в 17:01 | #1

    Думаю, что для этой специальности крайне полезно было бы изучать Personal Software Process как инструмент собственной эффективности…

  2. slookin
    29.06.2011 в 11:21 | #2

    Маским, здорово что вы проверяете программу специальности перед тем как сына направить туда.
    Но немного не согласен с вашим анализом:
    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б.

  3. Алексей С.
    29.06.2011 в 15:48 | #3

    Максим, случайно забрел на твой сайт.

    А почему такой большой список? Исходя из моего опыта преподавания я бы его сократил до трех: МГУ, МИФИ, ФИЗТЕХ…

    Из личного опыта: студенты факультета бизнес информатики ВШЭ существенно “проще”, чем студенты МГУ. А в МАИ вообще бардак…

    Алексей С.

  4. Kate
    29.06.2011 в 22:36 | #5

    http://www.cs.msu.ru/studies/study_plans/uplan_08_13_asvk_sp_al.pdf – неужели не нравится?:) Это правда только с 3 по 5 курс.
    А Кнут у нас был в 1 семестре.

  5. 03.07.2011 в 00:08 | #6

    Спасибо за комментарии. Обязательно вернусь к этой теме

  6. 19.07.2011 в 10:23 | #7

    Думаю, лучше ВМК МГУ, который я когда-то закончил, нет – несмотря на явную деградацию и вуза и факультета за последние годы – студенческий театр, где все поют и танцуют, развился на ВМК не в пример больше, чем ИТ-проекты. Конкретные предметы не важны, важен фундаментальный подход к ИТ, который там все еще преподается. А любых конкретных предметов, о диалектов JAVA до реализаций фракталов, можно набрать на спец. и доп.курсах.

  7. 06.08.2011 в 09:11 | #9

    Мы поступили в ГУ-ВШЭ на отделение программной инженерии факультета бизнес-информатики

  1. Нет обратных ссылок.

Добавить комментарий

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 158 other followers