Совершенствование IT-подготовки студентов специальности 010503 Математическое обеспечение и администрирование информационных систем
Т.П. Петухова, М.Ю. Нестеренко
Оренбургский государственный университет
Интенсивное развитие и ближайшая перспектива широкого распространения многоядерных архитектур и многопроцессорных систем с общей памятью обусловили на рынке труда потребность в специалистах, владеющих технологиями параллельного и архитектурно-зависимого программирования. Однако, проведенный анализ стандартов специальности 010503 Математическое обеспечение и администрирование информационных систем (квалификация: математик-программист) и сопряженных с нею специальностей показал, что содержанию обучения студентов параллельному программированию не уделяется достаточного внимания. Следует также отметить, что преподавание параллельного и архитектурно-зависимого программирования на сегодняшний день в малой степени ориентировано на решение задач в системах с общей памятью и недостаточно осваиваются инструменты разработки, оптимизации и отладки параллельных программ.
В связи с этим в ОГУ предпринята попытка обновления содержания IT-образования студентов специальности 010503 Математическое обеспечение и администрирование информационных систем математического факультета за счет организации непрерывной подготовки в области параллельного программирования и его приложений в рамках существующего стандарта специальности. Данный процесс совершенствования IT-подготовки студентов разбит на два этапа:
- пропедевтический этап - приобретение студентами базовых знаний, умений и навыков в области параллельного программирования за счет обновления содержания дисциплин, читаемых на младших курсах (1 – 5 семестры);
- профессионально-ориентированный этап - использование обучающимися технологий параллельного программирования в прикладных задачах, т.е. обновление содержания дисциплин, изучаемых на старших курсах (6 – 8 семестры), и введение новых курсов по выбору студента (9 семестр).
Список дисциплин, содержание которых подлежит обновлению, приведен в следующей таблице:
№ |
Дисциплина |
Семестр |
Вид обновления |
Самостоятельная работа студентов |
1 |
Программирование |
1,2 |
Реализация тем “Введение в распределенные вычисления”, “Программирование параллельных алгоритмов” с использованием средств автоматизированного распараллеливания |
Курсовая работа, связанная с параллельным программированием (по выбору студента) |
2 |
Операционные системы и оболочки |
2,3 |
Добавление темы “Параллелизм в операционных системах, понятия потоков и нитей”, расширение раздела “Операционная система Unix” |
Индивидуальные задания, связанные с операционной системой UNIX (по выбору студента) |
3 |
Структуры и алгоритмы компьютерной обработки данных |
3 |
Введение тем “Параллельная реализация алгоритмов”; “Выявление и исключение зависимостей в алгоритме”; “Параллельные алгоритмы сортировки” |
Курсовая работа, связанная с созданием параллельных алгоритмов (по выбору студента) |
4 |
Архитектура вычислительных систем и компьютерных сетей |
3,4 |
Включение тем: “Архитектура многоядерных процессоров”, “Проблемы масштабируемости”, “Основы архитектурно-зависимого программирования”, “Архитектура протоколов Grid” |
Введение тем индивидуальных заданий, связанных с параллельными архитектурами |
5 |
Параллельное программирование |
5 |
Изменение содержания тем: “Основные принципы и парадигмы параллельного программирования”; “Параллельное программирование в системах с общей памятью”, “Классические задачи и алгоритмы параллельного программирования”, “Языки и библиотеки параллельного и высокопроизводительного программирования” в соответствии с современным состоянием IT-области |
|
6 |
Численные методы |
6 |
Использование параллельного программирования при реализации алгоритмов вычислительной математики |
Индивидуальные задания, связанные с созданием параллельных алгоритмов реализации численных методов |
7 |
NP-полные задачи |
6 |
Введение темы “Методы организации параллельного перебора” |
Расширение тем домашних заданий студентов |
8 |
Системы искусственного интеллекта |
7 |
Добавление раздела “Параллелизм в задачах искусственного интеллекта” |
Добавление тем индивидуальных проектов, связанных с разработкой программ, оптимизированных под используемую архитектуру |
9 |
Системы реального времени |
8 |
Введение раздела “Параллелизм при разработке систем реального времени” |
10 |
Компьютерное моделирование |
8 |
Включение темы “Высокопроизводительные вычисления и библиотеки в компьютерном моделировании” |
Курсовая работа, связанная с параллельным программированием (по выбору студента) |
11 |
Параллельное программирование и криптография |
9 |
Курс по выбору студента |
Курсовая работа по дисциплине |
Целью вводимого специального курса “Параллельное программирование и криптография” является углубление знаний о методах параллельного программирования и получение навыков параллельного программирования в системах с общей памятью при решении сложных прикладных задач на примере криптографических алгоритмов.
Опорной точкой методического обеспечения процесса совершенствования IT-подготовки математиков-программистов явился образовательный комплекс “Технологии параллельного программирования в системах с общей памятью”, разработанный Нестеренко М.Ю. (математический факультет ОГУ), Калининой А.П. (механико-математический факультет НГУ), Владовой А.Ю. (факультет информационных технологий ОГУ) в основном в рамках проекта “Виртуоз-2005”. Данный комплекс состоит из трех разделов:
- Инструменты для разработки параллельных программ в системах с общей памятью
- Методика разработки многопоточных программ в системах с общей памятью с применением инструментов в примерах и задачах
- Оценка масштабируемости многопоточных программ в системах с общей памятью
и включает в себя учебное пособие, презентации к семинарским занятиям, задания для самостоятельной работы, описания лабораторных работ и совокупность исходных текстов программ, необходимых для выполнения лабораторных работ.
Образовательный комплекс “Технологии параллельного программирования в системах с общей памятью” частично был опробован на ВМК ННГУ (ноябрь-декабрь 2005г.) и на Зимней школе молодых ученых и специалистов по параллельному программированию – 2006, в которой авторы участвовали в качестве преподавателей.
Процесс совершенствования IT-образования будет сопровождаться переработкой рабочих программ дисциплин, приведенных в таблице, подготовкой избранных лекций и их мультимедийного сопровождения, разработкой тематики курсовых работ и индивидуальных проектов, изданием методических указаний к введенным лабораторным работам, а также обновлением методики преподавания отдельных дисциплин в связи с их ориентацией на параллельное программирование.
|