Инженерный Подход К Подготовке Специалистов В Области Программной Инженерии

Статья посвящена использованию методологий и инструментов, используемых в программной инженерии, для организации процессов обучения и подготовки студентов по ИТ-специальностям.

Предлагается использовать модель зрелости процессов (СММ) для обучения, системы контроля версий, системы отслеживания ошибок, формальные онтологии, проектную методологию и коллективные формы изучения дисциплин.



Инженерный подход к подготовке специалистов в области программной инженерии



Введение

ИТ-индустрия является одной из самых быстрорастущих.

Высокими темпами обновляются не только программное и аппаратное обеспечение, но также технологии и методологии решения задач промышленной программной инженерии.

Соответственно, должны измениться подходы к подготовке кадров для отрасли.

Программы образования ИТ-специалистов должны учитывать динамику развития и обновляться пропорционально обновлению отрасли.

При этом они должны быть организованы таким образом, чтобы студент, получив необходимую базу, мог освоить все новые «направления» и приемы отрасли.

Совершенно очевидно, что необходимо динамично менять программу с привлечением работодателей из промышленности и научных учреждений.

Работодатели предоставляют технологии - то, что проверено и используется в данный момент, научные институты - будущее - то, что понадобится в будущем, то, на основе чего можно будет создать мозговое обеспечение (интеллектуальный продукт) [1] .

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

К сожалению, наш ИТ-образование само по себе не использует преимущества ИТ .

Сапожник без обуви! Чтобы выстроить процесс обновления программ, необходимо дать возможность компаниям напрямую общаться и иметь обратную связь с университетами.

В Новосибирском государственном университете (НГУ), как и в некоторых других вузах, сложилась хорошая практика для сотрудников ИТ-компаний работать преподавателями.

Фактически они напрямую влияют на процесс обучения и привносят в преподаемые курсы новейшие инновации.

Это так называемые практикующие учителя.

И, хотя студенты всегда слушают их с интересом, выявляется ряд связанных с ними педагогических и методических трудностей.

Во-первых, ИТ-специалист не всегда является хорошим методистом.

Он хорошо знает свою предметную область и может с энтузиазмом о ней говорить.

Студентам это нравится.

Однако это не означает, что студенты эффективно усваивают соответствующий материал.

Во-вторых, ИТ-специалист работает с технологиями, которые актуальны на данный момент, и хорошо знает их преимущества и недостатки.

В то же время способен ли он абстрагироваться и «подняться над» текущими обстоятельствами, чтобы дать ученикам возможность взглянуть на ситуацию со стороны? Наверное, не всегда, ведь для этого нужно знать не только проверенные технологии.

Необходимо быть в курсе научных идей и подходов, которые не всегда находили широкое применение.

Например, концепция семантического программирования [2] , активно развивавшаяся в 1980-е годы в Институте математики Сибирского отделения Академии наук, только сейчас находит свое практическое применение в виде технологии программирования Ontobox. [3] с языком запросов Либретто .

Еще одним преимуществом описанной формы сотрудничества вуза и ИТ-компаний является обратная связь: компании имеют возможность еще на этапе обучения определить, какого студента они возьмут на работу в будущем.

Учитывая вышеизложенные обстоятельства, хотелось бы вывести отношения университета и промышленности на новый уровень зрелости.

Методология зрелости процесса разработки (Модель зрелости возможностей, [4] ) уже давно используется в разработке программного обеспечения.

Он состоит из выделения уровней зрелости бизнес-процессов разработки программного обеспечения и описания некоторых ключевых практик, которые помогают переходить от уровня к уровню.

Современный уровень зрелости образовательных процессов правильнее назвать «повторяемым» (второй уровень в терминологии ШМ).

Следующий уровень – «определенный», когда четко определены бизнес-процессы, понятно, откуда исходит управляющее воздействие, где какой результат ожидается и кто отвечает за каждый подпроцесс.

Сейчас учебный процесс разделен по функциональному признаку: здесь обучают алгебре, здесь – объектно-ориентированному программированию, здесь – компьютерной графике.

К сожалению, интегрирующего механизма в этой последовательности нет. Если внутренняя организация достаточно хороша, выявляются зависимости между дисциплинами, что может дать студенту понимание связей между разными курсами.

Однако в конечном итоге неясно, кто ответственен за формирование таких характеристик специалиста, как математическая культура, привычка к размышлению, умение работать с источниками и умение принимать обоснованные инженерные решения.

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

[5] Они предлагают использовать понятие «компетентность» вместо традиционных «знаний, умений и навыков» и отслеживать развитие этих компетенций у студента посредством серии курсов.

Следуя методологии процессного подхода, необходимо сделать следующий шаг, а именно ввести лиц, ответственных за весь бизнес-процесс и за отдельные подпроцессы (для формирования каждой компетенции).

Теперь перейдем к применению ИТ-методологии в образовании.

Многие инструменты, используемые в программной инженерии, могут быть использованы в образовательном процессе — ведь это тоже коллективный процесс, только немного отличающийся.

В чем сходство? 1. Отслеживание ошибок лекций Тот, кто еще помнит, как, будучи студентом, он сидел на университетской скамье и переписывал лекции с доски в тетрадь, знает, насколько ненадежен этот метод передачи точных формулировок, текстов и другой формальной информации.

Лектор иногда допускает непреднамеренные ошибки, забывает что-то записать или не успевает остановиться на чем-то подробно.

Здесь мы видим знакомый процесс «отлова ошибок», но не в коде, хотя с некоторой натяжкой записи в блокноте можно считать кодом.

При этом хотелось бы отметить, что сам процесс изложения материала с опечатками очень педагогичен (не случайен, а при особом умении лектора) - заставляет студентов задуматься: «А что здесь не так, что нужно исправитьЭ» быть исправлены».

Студент попадает в естествознание (для себя) проблемная ситуация , выход из которого – найти правильное понимание.

К нужному понятию ученик приходит посредством ошибок и внутренней умственной работы.

На самом деле этот метод «проблемных ситуаций» (о нем позже) дает хорошие результаты не только в процессе понимания лекционного материала.

Так, предлагается использовать какую-то систему (JIRA, Trac, Bugzilla, Trello) для записи ошибок, опечаток, недопониманий (и далее по категориям сообщений, например «запрос функции») на лекциях.

Здесь тестировщиками являются студенты, желательно организованные в небольшие группы, а разработчик (программист) — лектор.

Система отслеживания ошибок решает важную коммуникационную проблему.

Такое общение должно быть между студентами и преподавателем на протяжении всего семестра.

Наряду с решением текущих задач усвоения материала студенты осваивают инструмент, который пригодится им в профессиональной деятельности.

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

методично верно.

Действительно, необходимость использования системы отслеживания проблем возникает естественным образом как удобный инструмент решения текущих проблем студентов.

Обеспечивается высокая мотивация к изучению и использованию систем отслеживания ошибок.

2. Работа в команде при анализе лекции.

Работа над всеми достаточно сложными ИТ-проектами организована в группах.

Поэтому важно давать студентам практику командной работы.

Хорошо, если на каком-то из преподаваемых курсов работа будет построена на принципах разделения ролей, ротации ролевых игроков и взаимной (горизонтальной) ответственности.

Однако, как правило, наша система образования выпускает индивидуалистов.

Ситуацию может усугубить введение индивидуальных образовательных траекторий.

Зачастую, приступая к работе, у новоиспеченного специалиста возникают проблемы с организацией своей работы внутри коллектива.

Важным фактором является уровень понимания.

разделение ролей команда.

Второй - достаточность и корректность коммуникаций выработать общее понимание поставленных задач.

Третье – умение и дисциплина.

обработка задач , планирование их реализации И составление отчетов .

В рамках образовательного процесса возможна организация коллективной работы по решению образовательных задач и возникающих вопросов.

Например, как отмечалось выше, при анализе лекций и поиске в них ошибок работа может проводиться в небольшой группе.

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

Кроме того, обнаруживаются пробелы и неточности в конспектах – одни пишут со слов лектора, другие – со своего понимания.

При организации работы в малых группах учащиеся сталкиваются с трудностями в организации работы этой малой группы.

Все то же, что и со старшими товарищами: (1) нужно договориться о времени и месте совместной работы; (2) подготовиться к этой работе; (3) устранить мешающие факторы во время работы (отвлекающие факторы, перерывы и т. д.).

Таким образом, учащимся, оказавшимся в проблемной ситуации, потребуются организаторские способности, которым можно научить только тогда, когда человек уже сталкивался с подобными проблемами.

Такой подход также создает мотивацию к эффективной работе, в отличие от работы в одиночку, которая при отсутствии должной самодисциплины дает очень низкий эффект. Студент уже не может сказать себе: «Ой, мне не хочется сегодня разбирать лекции, я разберусь завтра», потому что он договорился с товарищами на определенное время, что они будут работать вместе.

Взаимные обязательства и контроль «со стороны» делают процесс внеклассной работы студента более устойчивым к факторам студенческой среды.

Одновременно студенты проходят практику работы в команде.

Для тренировки распределения задач и ролей можно попросить студентов определить, кто в малой группе отвечает за формулирование вопросов преподавателю по результатам анализа лекции, а кто — за получение ответов.

При этом каждый член малой группы несет ответственность не только перед самой группой, но и перед всеми остальными учащимися.

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

Он нуждается установить время и место встречи группы, обеспечить работу с ресурсами , отслеживать за выполнение взятых обязательства .

Для будущих менеджеров это хороший способ тренировать необходимые качества: требовательность к участникам, умение планировать время, задачи, умение фиксировать текущее положение дел, принимать и реализовывать решения.

3. Единое хранилище всех студенческих работ. В учебном процессе целесообразно использовать единое хранилище всех студенческих работ. Обязать студентов первого курса размещать всю свою работу в какой-либо системе контроля версий (например, SVN) — значит поставить их в ситуацию, когда просто необходимо понимать работу таких систем.

Заметим, что это не требует от ученика особых умственных усилий.

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

относится к обучению косвенно.

Например, студент может загрузить в систему эссе по истории и по мере его написания добавлять новые варианты.

Еще одним преимуществом такого подхода является то, что преподаватель всегда может увидеть, выполнил ли ученик работу или нет. Вы можете отслеживать ход работы, отмечать, сколько было версий документа, сколько правок.

Кроме того, нерадивые ученики не смогут прибегнуть к аргументам типа: «Я забыл флешку», «вирус все съел» и т.п.

Таким образом, обеспечивается защита от вирусов, хранение разных версий документов и доступ преподавателей.

к работе реализованы.

Организация коллективной работы с исходными текстами – отдельная задача.

Ее следует решать в рамках любого курса в форме проектной работы над одной задачей.

4. Проблемный подход Методологические основы проблемно-задачного подхода обсуждались в [6] .

Здесь мы коснемся вопросов ее применения в образовательном процессе.

Нельзя рассматривать процесс образования сам по себе, как производство каких-то единиц продукции (специалистов).

В этом процессе мы всегда имеем дело с профессиональным и личностным самоопределением студентов.

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

В советское время были распространены учебно-производственные предприятия, решавшие проблему профессиональной ориентации абитуриентов.

Отметим, что в настоящее время эта традиция постепенно возрождается.

Одним из проблемных вопросов образовательного процесса является то, что многие учебные задачи для учащихся выглядят совершенно неестественными и непонятными.

В этом случае студенты плохо понимают, что им понадобится завтра, а что нет. Если при этом студент поверит преподавателю на слово, то шансы на то, что мы воспитаем специалиста с критическим мышлением, существенно уменьшаются.

Гарантию подготовки кадров, принимающих самостоятельные решения, и специалистов с критическим мышлением может дать подход к решению проблем к обучению.

Он заключается в постановке обучающихся в проблемные ситуации, в которых возникает необходимость осознанного выбора, поиска и принятия решений.

Это дает студентам высокую мотивацию к изучению предмета и ставит их в положение активного ученика.

При таком подходе требования к преподавателям возрастают: учащиеся становятся по-настоящему заинтересованы в том, чтобы материал объяснялся им доступно и «по существу», не углубляясь в длительные рассуждения, например, об общей пользе математика в ИТ.

В настоящее время студенты, как правило, рассматривают учебный процесс как некую проблему внутри себя: им необходимо сдать определенные задания, зачеты, экзамены.

По этой причине они плохо мотивированы; обучение становится просто серией экзаменов и тестов.

По нашему мнению, образовательная проблема должна быть подчинена некоторой мотивирующей постановке проблемы из профессиональной сферы.

.

Источником правильных формулировок профессиональных задач может быть наука и техника.

Как ставить такие задачи – это отдельный вопрос, достаточно сложный и выходящий за рамки данной статьи.

Как вариант можно предложить работу над образовательной проблемой как профессиональную, в форме проектной деятельности (подробнее об этом позже).

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

Модель проблемных ситуаций строится на исследовательском интересе учащихся и развивает его.

Когда студент сталкивается с такой ситуацией, он задает себе вопрос: «Что я лично могу сделать для решения этой проблемы, что мне нужно, какие знания, навыки и уменияЭ» Только при таком подходе можно сказать, что человек научился, буквально «научился сам».

Такой подход потребует от студентов исследовательских способностей.

Столкнувшись с проблемной ситуацией, студент воспринимает ее как свою личную проблему.

Проявляя исследовательские способности, он вынужден учиться формулировать проблему из проблемы.

Постановка задач является ориентиром в организации самостоятельной работы учащихся, которому так много места уделяется в образовательных стандартах нового поколения.

Наряду с самостоятельной работой студенты должны иметь возможность задавать актуальные вопросы и получать на них ответы.

Если методические комплексы хорошо организованы с использованием, например, технологий Semantic Web, студент может формулировать вопросы на языке СОВ/ДЛ , что позволяет машинную обработку.

5. Онтологическая инженерия – интеграция знаний учащихся в единую систему.

Для стимулирования процессов интеграции знаний изучаемых дисциплин в единую систему студентам можно предложить построить схему связей между изучаемыми понятиями.

Диаграмма может отражать отношение порядка изложения, отношение определимости понятий одно через другое.

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

Оно заставляет привести в порядок свои представления о предмете и вовремя их корректировать, предъявляя учителю результаты своих построений.

Такие диаграммы можно составить сразу в формате СОВА , что дает не только навык написания онтологий, но и возможность преподавателю использовать работу студентов для формирования формальной онтологии своей дисциплины.

Последнее позволит в будущем согласовывать программы смежных дисциплин (на основе используемых в них концепций).

Следует отметить, что, как правило, онтология изучаемой дисциплины очень хорошо поддается формализации.

Наряду с иерархией понятий преподавателю рекомендуется использовать онтологии верхнего уровня, такие как «познание», «учебная дисциплина», «исследование».

Такой подход был предложен автором в секционном докладе на конференции.

«Мальцевские чтения-2010» и представлена в тезисах конференции «Преподавание ИТ в России 2010».

[7] .

6. Уважение означает требование Еще одним важным моментом применения подхода проблемных ситуаций является необходимость обеспечения высокой степени доверия обучающимся.

Студенты должны иметь возможность серьезно решать профессиональные задачи.

В то же время вам нужно серьезно попросить их о решении.

Основа уважения, как мы знаем, – уступчивость.

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

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

Эта особенность традиционного образования существенно сдерживает развитие IT-индустрии.

Теперь логично перейти к обсуждению другого инструмента профессиональной деятельности применительно к проблемно-задачному подходу.

7. Использование проектной методологии для решения проблемы/задачи.

В рамках учебной деятельности студентам предлагается каждую значимую учебную задачу сформулировать в виде проекта.

Ключевыми характеристиками проекта являются бюджет, сроки и объем (качество) работ. Бюджет для студентов – это их учебное время.

При таком подходе у студентов возникнет реальная потребность в знаниях в области управления проектами.

Реальные проекты могут включать в себя: изучение конкретной дисциплины; выполнение заданий по курсу; изучаю отдельный модуль.

Необходимо оценить время, потраченное на изучение предмета; определить требования заказчика (преподавателя); согласовать сроки реализации проекта; спланировать работу над проектом.

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

Для старшеклассников можно дать основы управления рисками.

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

Каждое новое знание должно быть обусловлено для обучающегося каким-то внутренним запросом и готовностью.

Все вышеперечисленные идеи и подходы основаны на следующем принципе: новые знания должны ответить данный вопросы .

Между тем, традиционная система образования отвечает на незаданные вопросы, что не только демотивирует учащихся, но и порождает в голове массу бесполезной разрозненной информации.

8. Система обратной связи, контроля и управления образовательным процессом.

Для реализации описанных выше подходов Новосибирский государственный университет запустил инициативный проект по созданию «Системы обратной связи, контроля и управления образовательным процессом» .

Система состоит из организационных форм, методологий и подходов, где в качестве инфраструктуры используется соответствующая информационная система.

Система включает в себя следующий функционал.

  1. Управление задачами: возможность ставить перед собой задачи и отслеживать их выполнение; формы отчетности (для отчетов, в первую очередь самому себе), система напоминаний.

  2. Коммуникации: система отслеживания ошибок в лекциях; Форум.

  3. Инструменты для совместной работы студентов (система контроля версий, гипертекстовая база знаний, пополняемая студентами и модерируемая преподавателями, полуформализованная с помощью OWL).

  4. Аналитика: сбор статистических данных о выполнении задач; проекты; прогнозирование проблемных ситуаций.

  5. Социальная сеть: игровая форма студенческого рейтинга; рейтинг преподавателей (на основе количества и качества ответов на вопросы студентов).

  6. Доступ к программам обучения для студентов и работодателей.

  7. Инструменты для планирования учебной программы с течением времени (диаграммы Ганта).

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

способом, при котором «таргетинг» осуществляется с использованием системных данных.

Рейтинг же будет стимулировать студентов к проявлению наиболее достойных качеств и привнесет дух здоровой конкуренции при правильной объективизации основных показателей.



Заключение

В статье рассматриваются подходы к организации процессов обучения ИТ-специалистов с использованием известных, проверенных технологий программной инженерии.

Предложенный:

  • использовать системы отслеживания ошибок на лекциях, что способствует освоению одного из важнейших инструментов разработчика программного обеспечения, более глубокому пониманию лекций и осуществлению коммуникаций между преподавателем и студентом;
  • использовать системы контроля версий для хранения всех работ студентов во время учебы, одновременно отрабатывая навыки контроля версий;
  • организовать изучение дисциплин в малых группах, давая студентам практику работы в команде с разделением ролей;
  • применять методы постановки проблемных ситуаций для более эффективного вовлечения студентов в профессиональную деятельность и решения вопросов повышения их мотивации к учебной деятельности;
  • использовать проектную методологию при организации изучения дисциплин, давая студентам практику работы над реальным проектом, имеющим свой бюджет, сроки и объем работы.

Мы верим, что эти идеи и подходы найдут понимание как среди специалистов в области программной инженерии, так и среди преподавателей, организаторов курсов, заведующих кафедрами и кураторов специализаций.

Автор выражает благодарность Д.

Е.

Пальчунов, В.

В.

Мухортов, В.

А.

Васенин, О.

Е.

Грачеву за полезные обсуждения, способствовавшие формулированию описанных подходов.

Фотография до взлома здесь .



Литература

[1] Магистральный интерфейс – сближение началось (разговор с академиком Ю.

Л.

Ершовым) // Наука в Сибири.

- 2002. - № 42-43 от 01.11.2002. - URL:.

[2] Гончаров С.

С.

, Свириденко Д.

И.

∑-программирование // Логико-математические основы задачи Минздрава.

- Новосибирск, 1985. - Выпуск 107: Компьютерные системы.

— С.

3–29. [3] Малых А.

А.

, Манцивода А.

В.

Ontobox: онтологии для объектов // Известия ИГУ.

– Иркутск, 2009. – № 2. С.

94–104. 4. Паук М.

, Куртис Б.

, Криссис М.

Б.

Модель зрелости процессов разработки программного обеспечения / Пер.

под редакцией В.

Рябикиной.

– М.

: Интерфейс-Пресс, 2002. – URL: ryabikin.narod.ru/sw-cmm/index.htm .

[5] Федеральные государственные образовательные стандарты // Министерство образования и науки Российской Федерации.

— URL-адрес: mon.gov.ru/pro/fgos .

6. Проблемно-ориентированный подход к науке: Философия математики как концептуальный прагматизм / Под. ред. В.

В.

Целищева, Ю.

Л.

Ершова и др.

– Новосибирск: Наука, 2001. – 154 с.

[7] Павловский Е.

Н.

Онтологический инжиниринг в процессе согласования программ учебных дисциплин // Тезисы доклада на Восьмой открытой всероссийской конференции под эгидой АП КИТ «Преподавание информационных технологий в Российской Федерации»-2010. — URL-адрес: it-education.ru/2010/persons/conferee.php (дата обращения: 24.05.2010).

Теги: #Системы контроля версий #отслеживание ошибок #cmm #формальные онтологии #онтологическое моделирование #Управление проектами #мотивация к обучению #Образовательный процесс в ИТ

Вместе с данным постом часто просматривают: