You are on page 1of 11

Міністерство освіти і науки України

Харківський національний університет радіоелектроніки

Факультет ____________ Комп’ютерних наук____________________________


(повна назва)
Кафедра ______________ Програмної інженерії____________________________
(повна назва)

ЗАТВЕРДЖУЮ
Декан факультету КН
____________ А. Л. Єрохін__
(підпис, ініціали, прізвище)
"____" ____________2021 р.

РОБОЧА ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

__________________ ПАРАЛЕЛЬНЕ ПРОГРАМУВАННЯ___________________


(назва навчальної дисципліни)
рівень вищої освіти __________ бакалаврський__________________________
(бакалаврський, магістерський, освітньо-науковий)

спеціальність __________121– «Інженерія програмного забезпечення»_______


(код і повна назва спеціальності)
______________________________________________________________________________

освітньо-__ професійна____ програма ___ Програмна інженерія_____________


(професійна або наукова)
_______________________________________________________________________________
(повна назва програми)

Харків – 2021 р.
Розробник(и):
О.Г. Качко професор кафедри програмної інженерії, кандидат
технічних наук, професор, _____________________________
Н.С. Кравець, доцент кафедри програмної інженерії, кандидат
технічних наук, доцент_______________________________
__________________________________________________
(ініціали, прізвище, посада, науковий ступінь, вчене звання)

Робочу програму схвалено на засіданні кафедри __ Програмної інженерії _


____________________________________________________________________

Протокол від “____”________________2021 р. № ___

Завідувач кафедри ____________ _ З. В. Дудар__


(підпис) (ініціали, прізвище)

Керівник проектної групи /


гарант освітньої програми ___________ __ З. В. Дудар___
(підпис) (ініціали, прізвище)

Схвалено методичною комісією факультету ______________________________

Протокол від “____”______________ 2021 р. № ___

Голова методичної комісії _______________ ______________


(підпис) (ініціали, прізвище)
1 ОПИС НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

Характеристика навчальної
дисципліни*
Найменування показників
денна форма заочна форма
навчання навчання
Кількість кредитів ЄКТС*
Обов’язкова
________5_________
Рік підготовки:
Змістових модулів _2__
3-й __-й

Індивідуальних завдань*:
РГЗ та КР _____________ Семестр
курс. робота (проєкт)_________

5-й ___-й
Кількість годин
Загальна кількість годин*
______150_________ 62
Навчальні заняття:
1) лекції, год
26
2) практичні, год
6
3) лабораторні, год
20
4) консультації, год
Мова навчання 10
українська Самостійна робота, год
88
в тому числі: 1) РГЗ та КР., год.

2) курсова робота(проект), год

Вид контролю: комб. іспит

Примітка.
* Відомості з навчального плану.
2 МЕТА ДИСЦИПЛІНИ ТА ОЧІКУВАНІ РЕЗУЛЬТАТИ З ЇЇ ВИВЧЕННЯ

2.1 Мета вивчення дисципліни:


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

2.2 Результати навчання:


за результатом вивчення дисципліни студенти повинні:
знати:
 рівні паралелізації обчислень для сучасних обчислювальних систем;
 критерії та показники програм в залежності від їх паралелізації;
 типи SIMD команд;
 специфіку розробки паралельних алгоритмів і програм
 сучасні технології розробки паралельних програм;
вміти:
виконувати обчислення показників програм та виконувати їх порівняння;
прозоро визначати тип та характеристики наявного обладнання та обирати
найбільш ефективну реалізацію в залежності від визначених характеристик;
використовувати SIMD команди при програмуванні мовами високого рівня;
розробляти паралельні алгоритми;
розробляти паралельні програми за допомогою засобів операційних систем та
сучасних технологій;
виконувати аналіз програм за допомогою сучасних засобів профілювання.
володіти (перелік сформованих компетентностей): ________________________
ФК3, ПР1, ПР3, ПР5, ПР12, ПР13 (это компетенции из нашей ОПП 2021 года
https://software.nure.ua/wp-content/uploads/2021/03/121_ipz_bachelor_2021_OPP.pdf, ваш
вариант конечно лучше, но они, по-моему, хотят соответствия ОПП )
Я бы список компетенций изменила
ОК, оставили как у Вас

(Формулювання результатів навчання для обов’язкових дисциплін має базуватися на результатах


навчання, визначених відповідною освітньою програмою (програмних результатах навчання) та деталізувати їх.
Формулювання результатів навчання мають зазначати рівень їх сформованості, наприклад, через його
достатність для вирішення певного класу завдань професійної діяльності та/або подальшого навчання за
освітньою програмою).
Використовувати позначення з матриць відповідностей програмних
компетентностей та результатів навчання компонентам освітньої програми , а
також структурно-логічну схему освітньої програми

2.3 Передумови для вивчення дисципліни:


дисципліна «Паралельне програмування» базується на вивченні таких
дисциплін: комп'ютерна дискретна математика, основи програмування,
об’єктно-орієнтоване програмування, архітектура комп’ютера та комп’ютерних
мереж, операційні системи, теорія ймовірностей та математична статистика ____
_____________________________________________________________________
(перелік дисциплін, які мають бути вивчені раніше, перелік раніше здобутих результатів навчання
тощо).

3 ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ


Змістовий модуль 1. СУЧАСНІ ПРОЦЕСОРИ ТА ПАРАЛЕЛІЗАЦІЯ ОБЧИСЛЕНЬ
Тема 1. Архітектура сучасних процесорів
Тема 2. Критерії та показники для оцінки паралельних програм
Тема 3. Використання SIMD команд для паралельних обчислень
Тема 4. Помилки паралельного програмування
Тема 5. Транзакційна пам’ять
Змістовий модуль 2. РОЗРОБКА ПАРАЛЕЛЬНИХ АЛГОРИТМІВ І ПРОГРАМ
Тема 6. Етапи розробки паралельних алгоритмів та програм
Тема 7. Розробка та аналіз паралельних алгоритмів
Тема 8. Технології розробки паралельних програм: Open MP
Тема 9. Шаблони паралельного програмування
Тема 10 Підтримка паралельного програмування сучасними мовами програмування:
бібліотеки
Так подойдет? Таблицу ниже я тоже подправила. Когда в каждом модуле по 5 тем
считать удобнее
Да, все ОК
4 СТРУКТУРА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

Кількість годин
денна форма Заочна форма
Назви змістових Усь у тому числі Усь у тому числі
модулів і тем -ого -ого
л п л конс л кон с.р
с.р л п
б б .с .
1 2 3 4 6 85 7
9 1 1 12 13
0 1
Змістовий модуль 1. СУЧАСНІ ПРОЦЕСОРИ ТА ПАРАЛЕЛІЗАЦІЯ ОБЧИСЛЕНЬ
Тема 1. Архітектура сучасних
процесорів 9 2 7
Тема 2. Критерії та показники
для оцінки паралельних 20 4 2 4 1 9
програм
Тема 3. Використання SIMD
команд для паралельних 20 4 2 4 1 9
обчислень
Тема 4. Помилки паралельного
програмування
11 2 1 8
Тема 5. Транзакційна пам’ять 2 10 1 7
Разом за зміст. мод. 1 1
70 4 8 4 40
4
Змістовий модуль 2. РОЗРОБКА ПАРАЛЕЛЬНИХ АЛГОРИТМІВ І ПРОГРАМ
Тема 6. Етапи розробки
паралельних алгоритмів та 13 2 1 10
програм
Тема 7. Розробка та аналіз
паралельних алгоритмів
17 2 4 1 10
Тема 8. Технології розробки
паралельних програм: Open 20 4 2 4 1 9
MP
Тема 9. Шаблони
паралельного програмування 13 2 1 10
Тема 10. Підтримка
паралельного програмування
сучасними мовами
17 2 4 2 9
програмування: бібліотеки
Разом за зміст. мод. 2 1 1
80 2 6 48
2 2
Усього годин за 2 2
150 6 10 88
семестр 6 0

5 ТЕМИ ПРАКТИЧНИХ (СЕМІНАРСЬКИХ) ЗАНЯТЬ

Кількість годин
№ Назва теми
денна заочна
1 Технології виміру часу та їх практичне використання 2
2 Використання SIMD команд при розробці програм 2
3 Розробка паралельних програм 2
Загальна кількість, год. 6

6 ТЕМИ ЛАБОРАТОРНИХ ЗАНЯТЬ


Кількість годин
№ Назва теми
денна заочна
1 Методи визначення обчислювальної складності програм 4
2 Використання властивостей сучасних процесорів при 4
створенні програм. Конвейєр
3 Використання SIMD команд при розробці програм 4
4 Порівняння методів створення потоків в Windows і Open MP 4
5 Практика створення паралельних програм 4
Загальна кількість, год. 20

7 САМОСТІЙНА РОБОТА

Кількість годин
№ Назва теми
денна заочна
1 Вивчення теоретичних питань, пов’язаних з паралельним
програмуванням та отримання сертифікату 44

2 Оволодіння однією з сучасних платформ створення


паралельних програм та підготовка реферату для обраної 44
платформи
3 6
Загальна кількість, год. 88

8 ІНДИВІДУАЛЬНІ ЗАВДАННЯ

8.1 Розрахунково-графічні завдання (РГЗ) та контрольні роботи (КР)


Не передбачені навчальним планом.
В предыдущем учебном плане было индивидуальное задание, а теперь его убрали. Может в
10.1 добавить реферат с начислением баллов?
Ну раз убрали инд. задание, добавим эти пункты в самостоятельную работу, но я считаю, что
это надо оставить

8.2 Курсова робота (проєкт)


Не передбачена навчальним планом.

9. МЕТОДИ НАВЧАННЯ ТА ЗАСОБИ ОЦІНЮВАННЯ

Вивчення дисципліни «Паралельне програмування» здійснюється традиційними


методами із застосуванням новітніх інформаційних технологій. Теоретичні знання, що
набуваються студентами під час лекцій, використовуються на практичних і
лабораторних роботах, що передбачають застосування сучасних комп’ютерних
засобів та засобів розробки. . Контроль знань, які здобувають студенти внаслідок
проведення усіх форм навчання, здійснюється шляхом перевірки індивідуальних
завдань та опитувань під час проведення практичних занять та лабораторних робіт і
по завершенні вивчення певного змістового модулю. Для цього передбачена
спеціальна методика, відповідно до якої запропоновано кількісні та якісні критерії
оцінювання роботи студента протягом навчального періоду.
Примітка.
1. Метод навчання — це упорядкована діяльність викладача і студентів, спрямована на досягнення
заданої мети навчання.
За ознакою, якої є джерело знань, розглядають п’ять методів: практичний (лабораторні, практичні,
розрахункові, графічні роботи тощо); наочний (метод ілюстрацій і метод демонстрацій); словесний (лекція,
дискусія, співбесіда тощо); робота з навчально-методичною літературою (конспектування, тезування,
анотування, рецензування, складання реферату); відеометод у сполученні з новітніми інформаційними
технологіями та комп’ютерними засобами навчання (дистанційні, мультимедійні, веб-орієнтовані тощо).
За призначенням виділяють такі методи: набуття знань; формування умінь і навичок, застосування
знань; творча діяльність; закріплення знань; перевірка знань, умінь і навичок. Дана класифікація методів
відповідає класичній схемі організації навчального заняття.
2. Засобами оцінювання та методами демонстрування результатів навчання можуть бути:
- екзамени;
- комплексні іспити;
- стандартизовані тести;
- наскрізні проекти;
- командні проекти;
- аналітичні звіти, реферати, есе;
- розрахункові та розрахунково-графічні роботи;
- презентації результатів виконаних завдань та досліджень;
- студентські презентації та виступи на наукових заходах;
- завдання на лабораторному обладнанні, тренажерах, реальних об’єктах тощо;
- інші види індивідуальних та групових завдань.

10 МЕТОДИ КОНТРОЛЮ ТА РЕЙТИНГОВА ОЦІНКА ЗА ДИСЦИПЛІНОЮ

10.1 Розподіл балів, які отримують студенти (кількісні критерії оцінювання)

Вид заняття / контрольний захід Оцінка Oсем


Лб № 1 8-14
Пз № 1 6-10
Лб № 2 9-14
Пз № 2 6-10
Лб № 3 9-14
Пз № 3 6-10
Лб № 4 8-14
Лб № 5 8-14
………………………………………….

……………………………………………
Всього за семестр 60…..100

У меня за лабі они получают максимум 60 баллов, остальніе 40 за задания


Я оцениваю лр, за пз тоже есть оценка (они отчеты на Дл вывешивают). РГЗ убрали из
учебного плана, поэтому я им о сертификатах и рефератах ничего не говорила, есть еще доп
баллы за научную работу (конференции, статьи)
Тут можно оставить как у Вас, но я буду по-своему, мне кажется (и студенті об єтом
говорили), что реферат на тему по их вібору очень полезній, а сертификаты им нужны для
устройства на работу
Формою підсумкового контролю для дисципліни «Паралельне програмування» є комб.
іспит.
Підсумкова оцінка
Одекз з дисципліни «Паралельне програмування» обчислюється за

формулою:
Одекз  0, 6  Oсем  0, 4  Oекз , де Oсем – оцінка за семестр у 100-бальній системі,
Oекз – оцінка за екзамен у 100-бальній системі.

10.2 Якісні критерії оцінювання


Необхідний обсяг знань для одержання позитивної оцінки.
1. Особливості сучасних процесорів, які найбільш впливають на можливості
паралельного виконання інструкцій.
2. Особливості оцінки, якісного та кількісного порівняння програм.
3. Особливості етапів розробки паралельних програм.
4. Особливості паралельних алгоритмів.
5. Середовище для розробки паралельних програм Open MP.
6. Помилки паралельного програмування.
7. Шаблони паралельного програмування.

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


1. Вміння переробляти програми для найбільш повного урахування особливостей
сучасних процесорів.
2. Вміння використовувати SIMD команди.
3. Вміння розробляти та оцінювати паралельні програми з використанням WINAPI
4. Вміння розробляти та оцінювати паралельні програми з використанням OPEN MP
5. Вміння прозоро визначати тип та характеристики наявного обладнання та обирати
найбільш ефективну реалізацію в залежності від визначених характеристик.

Критерії оцінювання роботи студента протягом семестру.


Задовільно, D, E (60-74).
Мати мінімум знань та умінь. Виконати та захистити усі лабораторні роботи.
Добре, С (75-89). _________________________________________________________
Твердо знати мінімум знань. Уміти використовувати ці знання при вирішенні
практичних завдань. Виконати та захистити усі лабораторні роботи в строк.
Виконати усі завдання в строк.
Відмінно, А, В (90-100). ___________________________________________________
Знати усі теми. Уміти оцінювати ефективність різних засобів. Уміти обрати з
різних засобів найбільш ефективні. Виконати та захистити усі лабораторні роботи в
строк з отриманням найвищої оцінки. Виконати усі завдання в строк з отриманням
найвищої оцінки.
Критерії оцінювання знань та вмінь студента на комбінованому екзамені.
Задовільно, D, E (60-74). ___________________________________________________
Студент із істотними неточностями відповів на теоретичне питання. Показав
задовільні знання в рамках навчального матеріалу. З суттєвими неточностями
виконав практичні завдання. Показав задовільні вміння та володіння навичками
застосування отриманих знань і умінь при рішення задач в рамках навчального
матеріалу. Допустив багато неточностей при відповіді на додаткові питання.
Добре, С (75-89). __________________________________________________________
Студент із невеликими неточностями відповів на теоретичне питання. Показав
хороші знання в рамках навчального матеріалу. З невеликими неточностями виконав
практичні завдання. Показав хороші вміння та володіння навичками застосування
отриманих знань і умінь при рішення задач в рамках навчального матеріалу.
Відповів на більшість додаткових питань.
Відмінно, А, В (90-100). ____________________________________________________
Студент правильно відповів на теоретичні питання. Показав відмінні знання в
рамках навчального матеріалу. Правильно виконав практичні завдання. Показав
відмінні вміння та володіння навичками застосування отриманих знань і умінь при
рішення задач в рамках навчального матеріалу. Відповів на всі додаткові питання.

Шкала оцінювання: національна та ЄКТС


Оцінка за національною шкалою
Оцінка з Оцінка
дисципліни ЄКТС екзамен, курсовий проект
залік
(робота), практика
96–100 А
5 (відмінно)
90–95 В
75–89 С 4 (добре) зараховано
66–74 D
3 (задовільно)
60–65 Е
35–59 FX
2 (незадовільно) не зараховано
0-34 F

11 МЕТОДИЧНЕ ЗАБЕЗПЕЧЕННЯ ТА РЕКОМЕНДОВАНА ЛІТЕРАТУРА

11.1 Базова література

1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб: БХВ – Петербург,


2004. – 608 с.
2. Антонов А.С. Параллельное программирование с использованием технологии
OpenMP: Учебное пособие. – М.: Изд-во МГУ, 2009. – 77 с.
3. Качко О. Г. Навчальний посібник з дисципліни «Паралельне програмування» для
студентів усіх форм навчання напряму 050103 «Програмна інженерія» / О. Г. Качко. – Харків
: ХНУРЕ, 2016. – 404 с. – ISBN 978-966-659-213-5. – 18.05 Электронная версия(doc / 4,5 Mb)
4. Качко О. Г., Осика О.Ф. Навчальний посібник з дисципліни «Паралельне
програмування» Використання SIMD команд для паралельних обчислень – Харків : ХНУРЕ,
2019. – 276 с.

11.2 Допоміжна література

5. Ахо, Альфред, В., Хопкрофт, Джон, Ульман, Джеффри, Д. Структуры данных и


алгоритмы = Data Structures and Algorithms. — Издательский дом «Вильямс», 2000. — С. 384.
6. 2. Рихтер Дж. Windows для профессионалов: создание эффективных Win32-
приложений с учетом специфики 64-разрядной версии Windows. - СПб.: Питер, 2001. – 752 с.
7. Рихтер Дж., Кларк Дж. Д. Программирование серверных приложений для Microsoft
Windows 2000. СПб.: Питер, 2001. – 592 с.
8. Бондаренко М.Ф., Качко О.Г. Операційні системи: навч. посібник. - Х., Компанія
СМІТ, 2008. - 432 с.
9. McCool M., Reinders J., Robison A. Structured parallel programming: patterns for
efficient computation. – Elsevier, 2012.

11.3 Методичні вказівки до різних видів занять

1. •Качко О.Г., Мельникова Р.В. Методичні вказівки до практичних занять з


дисципліни «Паралельне програмування». Харків, ХНУРЕ, 2017. — 86 с.
2. •Качко О.Г., Мельникова Р.В. , Кравець Н.С. Методичні вказівки до лабораторних
робіт з дисципліни «Паралельне програмування». Харків: ХНУРЕ, 2020. — 32 с

12 ІНФОРМАЦІЙНЕ ЗАБЕЗПЕЧЕННЯ

1. Cайти розробників процесорів INTEL (software.intel.com, AMD (developer.amd.com)


2. Cайти розробників операційних систем: Microsoft (http://msdn.microsoft.com/ru-ru/),
Linux (http://www.linux.com/), Apple Computer (http://developer.apple.com/).
3 Сайты з науковими, учбовими і практичними матеріалами parallel.ru,
http://www.multicoreinfo.com/, http://www.intuit.ru/, http://www.mcsharp.net/
4. Відомості про вбудовані компоненти Intel : Intel® Intrinsics Guide
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=undefined
5 Visual Studio 2019

You might also like