Магистр программной инженерии Университета Карнеги-Меллона - Carnegie Mellon University Masters in Software Engineering

Магистр программной инженерии (MSE) в Университете Карнеги-Меллона - это профессиональная магистерская программа, основанная в 1989 году с целью развития технических лидеров в программная инженерия упражняться. Первоначально как совместная работа Carnegie Mellon's Школа компьютерных наук и Институт программной инженерии, MSE была на переднем крае образования в области программной инженерии в то время, когда не существовало академических программ.

В основе учебной программы MSE лежит Студия Проект, завершающий проект, охватывающий все 16 месяцев обучения. Элемент Studio отличается от большинства программ по разработке программного обеспечения в других университетах тем, что спонсоры проекта являются реальными, внешними отраслевыми клиентами, а сами проекты значительно больше по объему, чем типичные проекты Capstone.

Карнеги-Меллон сотрудничает с другими университетами и департаментами разработки программного обеспечения по всему миру, включая Португалию, Индию и Корею, в стремлении улучшить образование в области разработки программного обеспечения во всем мире. Благодаря этим партнерствам те же методы и практики, которые используются в кампусе Питтсбурга, передаются международным партнерам в области образования.

История

Основываясь на семинарах по разработке программного обеспечения, проводимых в Институте программной инженерии, были разработаны оригинальные основные концепции и учебный план программы. Первоначальный преподавательский состав включал многих преподавателей, которые остаются активными в настоящее время, в то время как другие вышли на пенсию или умерли. К последним известным людям относятся Норм Гиббс и Джим «Тренер» Томайко. Доктор Томайко отвечал за концепцию MSE Studio и оставался глубоко приверженным программе MSE на протяжении всей своей карьеры.

Отличительной чертой программы MSE является то, что она ориентирована на практиков программного обеспечения, тех, кто уже работает в этой области.[1]

С момента своего создания программа развивалась, чтобы удовлетворить потребность в более легких и быстрых процессах разработки программного обеспечения, что стало возможным благодаря быстрому и расширяющемуся распространению Интернета. Это включало экстремальное программирование, которое позже стало частью гибких методов, направленных на более быстрое реагирование на требования клиентов, в отличие от более продуманной разработки, основанной на планах. В начале двадцать первого века программная инженерия пережила буквально бурный рост сервисов и фреймворков для разработки программного обеспечения (например, GitLab, Jira и Confluence), что позволило инженерам продвинуть разработку за пределы «релиза», чтобы воплотить непрерывную разработку, что является современной практикой. называется DevOps. Хотя эта эволюция процесса, возможно, уникальна для определенного класса программного обеспечения, масштаб и влияние этих систем заставили программу MSE переосмыслить методы обучения программной инженерии.

Программные директора

  • 2019-настоящее время, Трэвис Бро, директор магистерских программ в области разработки программного обеспечения
  • 2016-2019, Энтони Латтанце, директор магистерских программ в области программной инженерии
  • 2002–2016 гг., Доктор Дэвид Гарлан, директор магистерских программ в области разработки программного обеспечения.
  • 1989-2004, доктор Джеймс Э. Томайко, директор, магистр программной инженерии.
  • 2001-2008, Мел Россо-Ллопарт, директор дистанционной программы по разработке программного обеспечения
  • 1996-2001, доктор Джеймс Э. Томайко, директор дистанционной программы программной инженерии.

Учебный план

Программа MSE началась как совместная работа Школы компьютерных наук и Института программной инженерии. Программа на получение степени - это интенсивная 16-месячная учебная программа, разработанная для профессиональных инженеров-программистов. Размер класса обычно составляет около 20 студентов. Кандидаты на программу должны иметь большой опыт в области компьютерных наук, не менее двух лет опыта работы в соответствующей отрасли и в среднем пять лет опыта.[2]

Учебная программа MSE состоит из трех основных компонентов:

  1. Основные курсы развивать базовые навыки в области разработки программного обеспечения с упором на проектирование, анализ и управление крупномасштабными программными системами.
  2. В Студия Проект, завершающий проект, охватывающий продолжительность программы, позволяет студентам спланировать и реализовать значительный программный проект для внешнего клиента. Вдохновленные проектными проектами в программах архитектуры, студенты работают как члены команды под руководством преподавателей (наставников), анализируя проблему, планируя усилия по разработке программного обеспечения, выполняя решение и оценивая свою работу.
  3. Факультативы позволяют студентам получить более глубокие знания в области специализации в области разработки программного обеспечения или продолжить обучение в областях, соответствующих их личным и профессиональным интересам.

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

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

Студия Проект

[3]

Студия на основе предложения [4]

Партнерская программа

Известный факультет

Рекомендации

  1. ^ Нэнси Р. Мид: Образование в области программной инженерии: как далеко мы продвинулись и как далеко нам еще предстоит пройти
  2. ^ Гарлан, Дэвид; Gluch, P. David; Томайко, Джеймс Э .: Агенты перемен: обучение лидеров программной инженерии будущего, стр. 59–65. IEEE Software, ноябрь 1997 г.
  3. ^ Джеймс Томайко. Обучение разработке программного обеспечения в студийной среде, Ассоциация вычислительной техники, ACM 0-89791-377-9 / 91 / 0002-03000, сентябрь 1991 г.
  4. ^ Корень, D .; Россо-Льопарт, М .; Таран Г., Студийные проекты на основе предложений: как избежать работы программистов-программистов-программистов, Образование и обучение программной инженерии, 2008. CSEET '08. IEEE 21-я конференция, том, №, стр. 145–151, 14–17 апреля 2008 г.

внешняя ссылка