Магистерская программа Университета Иннополис совместно с Университетом Карнеги — Меллон

innopolisНе так давно начался новый набор на магистерскую программу в области Software Engineering в университет Иннополис. Студенты Иннополиса в течение года обучаются в США в университете Карнеги-Меллон, признанном мировом лидере среди вузов по подготовке выскоквалифицированных специалистов в области информационных технологий. Среди студентов прошлогоднего набора присутствуют и физтехи. Денис Анисимов любезно согласился рассказать Потоку о том что же такое Master of Science in Information Technology – Software Engineering, чему учат в рамках этой магистерской программы и почему стоит попробовать в ней поучаствовать.

Введение

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

Уголок спонсора

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

Конечно, построенного с нуля города по всем современным зарубежным стандартам недостаточно, нужно ещё привлечь в этот город бизнес. Первый способ – особая экономическая зона. Второй – более изощрённый – создать конвейер для поставки нового персонала. Для этой цели градообразующим предприятием Иннополиса должен стать одноименный университет.

В данный момент университет привлекает зарубежных (и не только) профессоров, уже запланирован набор в бакалавриат. А вот пробел между этими двумя категориями и призвана заполнить данная программа. Планируется, что по возвращении назад студенты будут занимать позиции преподавателей и/или исследователей. Университет тоже будет создаваться по всем канонам зарубежного образования. Для этого партнёром в создании университета выбран лидер в мировом ИТ-образовании — университет Карнеги-Меллон. В Иннополисе будут стандартные бакалавриат, магистратура и аспирантура (скорее всего, европейского типа). Образование будет платным, но предполагается, что многие студенты будут получать его за счёт государственных и частных грантов. Сам университет коммерческий и не финансируется из бюджета, государство только предоставит инфраструктуру. Кроме образования университет будет заниматься исследованиями. Тематика этих исследований ещё находится в разработке.

Master of Science in Information Technology – Software Engineering

Важно понимать, что SE — это не Computer Science. SE — это инженерная дисциплина  про разработку любого софта, не важно насколько он сейчас является science (но в то же время, я лично считаю, что хорошего софтвер инженера без глубокого знания CS быть не может).

Итак, о чём же эта программа. Обратимся к Википедии:

<p “>Software engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.

Фактически эта программа покрывает все перечисленные в этом определении прилагательные. Все элементы обучения можно разделить на три группы.

Основные курсы

Описание их всех займёт слишком много времени, поэтому для каждого из них я написал в одном предложении, что я полезного почерпнул из данного курса.

  • Models of Software Systems
    Как применить дискретную математику к разработке софта.
  • Methods: Deciding What to Design
    Как превратить первоначальную идею в самодостаточную концепцию продукта.
  • Managing Software Development
    Менеджмент: люди, процессы, планирование, риски и прочие важные вещи.
  • Communication for Software Engineers
    Как писать технические тексты и давать презентации, чтобы вас поняли.

Следующие два курса будут в следующем семестре, поэтому ничего не могу про них сказать.

  • Analysis of Software Artifacts
  • Architectures for Software Systems

Курсы по выбору

Кроме основных курсов каждый студент за всё обучение должен пройти ещё 4 курса на свой выбор. Главное, чтобы их тематика укладывалась в его программу обучения. Выбор курсов очень большой – от computer science и electrical engineering до технического предпринимательства.

Альтернатива курсам по выбору — independent study. Студент может договориться с преподавателем и спланировать индивидуальное исследование интересующей его темы в течение семестра. Для independent study необходимо определиться с направлением,  ожидаемым результатом и составить план работы на семестр. Данный вид обучения хорошо подойдёт тем, кто истосковался по нормальному обучению с thesis’ами и статьями –  если выбрать хорошую тему и преподавателя, то вполне может получиться мини научная работа.

Практикум

Половину обучения на данной программе составляет практикум. Для MSIT-SE студентов это более-менее реальный проект с реальным заказчиком, выполняемый командой из 3-5 человек в течение 8 месяцев. Тематика проектов разная: от миграции сети баз данных до разработки модулей для робота телеприсутствия. Основной смысл этих проектов не в технической составляющей, а в применении на практике всего того, что было изучено ранее. Большую долю в проекте занимает общение с заказчиком и представление результатов своей работы.

Процесс

Лекции по предметам 1-2 раза в неделю. Каждую неделю – 1-2 индивидуальных задания, каждые 2-3 недели — групповое задание. По некоторым предметам в течение семестра надо написать реферат или сделать проект.

Учебная нагрузка

Обычный курс рассчитан на 12 часов учебной нагрузки в неделю. Это время включает в себя лекции, домашние индивидуальные и групповые задания. Общая нагрузка на студента с учётом курсов по выбору не должна превышать 50 часов в неделю (небольшой перебор иногда допустим). В среднем, если не обладать выдающимися способностями или изначальным знанием предметов, то чтобы нормально освоить все предлагаемые курсы на данной программе ровно столько времени и необходимо работать. Конечно возможны отклонения, но в целом оценка весьма близка к реальности.

Почему стоит поступать

Для начала, если вы связываете свой жизненный путь с чистым computer science, то эта программа не для вас. В том же Carnegie Mellon есть ряд программ которые будут намного полезнее в данном случае.

Очень часто говорят, что software engineering изучать не надо и всё это само собой усваивается по мере работы. Но как правило, изучение этого на опыте займёт очень много времени, за которое соберётся большое количество граблей и выработается весьма узкое понимание проблемы. Данная же программа даёт намного более широкий взгляд на software engineering и позволяет применять именно тот systematic, disciplined, quantifiable подход к разработке софта. На мой взгляд, хороший инженер должен владеть всем этим.

Ссылки

Денис Анисимов

Поделиться