Мови ООП
Анотація навчальної дисципліни
Мета вивчення дисципліни:
засвоєння базових знань з основ об’єктно-орієнтованого програмування, включаючи основні поняття, парадигми та принципи об’єктно-орієнтованого програмування.
Практичне значення та використання отриманих знань:
Здатність використовувати сучасні методи і мови програмування для розроблення алгоритмічного та програмного забезпечення
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекція 1. Призначення машинно-орієнтованого або низькорівневого програмування. Машинні та машино-орієнтовані мови програмування. Компіляція і трансляція програм. Асемблери та мови асемблерів.
Лекція 2. Основні компоненти процесорної системи. Структура та режими роботи процесорів сімейства х86-64. Організація оперативної пам’яті. Схема адресації реального та захищеного режимів.
Лекція 3. Користувацькі регістри процесорів х86-64: загального призначення, сегментів, стану та управління. Системні регістри процесорів х86-64: управління, системних адрес, налагодження. Спеціалізовані регістри процесорів х86-64.
Лекція 4. Структура програми для асемблера MASM32. Формат машинних команд процесорів х86-64. Директиви визначення полів пам’яті для розміщення даних
Лекція 5. Операнди команд асемблера MASM32. Команди пересування даних та арифметичні команди. Системні процедури вводу-виводу асемблера MASM32.
Лекція 6. Формати даних математичного сопроцесора. Програмна модель математичного сопроцесора.
Лекція 7. Система команд математичного сопроцесора Методика розробки програм с використанням математичного сопроцесора.
Лекція 8. Команди передачі управління. Програмування розгалужень командами асемблера. Програмування ітераційних циклів командами асемблера.
Лекція 9. Програмування лічильних циклів командами асемблера. Отримання виконавчої адреси та обробка одновимірних масивів. Обробка двовимірних масивів командами асемблера.
Лекція 10. Команди побітової обробки. Команди управління прапорцями регістра станів процесора Ланцюгові команди обробки послідовностей даних.
Лекція 11. Макрокоманди: макровизначення, використання в програмах та обробка макрокоманд асемблером. Організація стека та команди роботи з ним. Визначення процедур на асемблері MASM32.
Лекція 12. Виклик процедури та вертання. Способи передавання параметрів в процедури. Способи вертання результату із процедур.
Лекція 13. Зберігання та відновлення регістрів при програмуванні процедур. Робота з локальними даними процедур.
Лекція 14. Способи та засоби використання асемблерного коду в програмах на мові С++. Асемблерні вставки в програми на мові С++. Модульна компіляція, компоновка об’єктних модулів програм на асемблері та С++.
Лекція 15. Розширений набір команд SIMD процесорів х86-64. Система команд MMX: особливості виконання та визначення операндів. Система команд SSE: особливості виконання та визначення операндів.
Лабораторні заняття
Лабораторне заняття 1. Вивчення середовища RadASM та відладчика OlleDBG.
Мета заняття: Навчитись створювати ASM проекти в середовищі RadASM та проводити налагодження програм в OlleDBG.
Лабораторне заняття 2. Створення лінійної програми. Ввод-вивід в консольному режимі.
Мета заняття: Навчитись використовувати арифметичні команди асемблера для створення обчислювальних програм, та API процедури для вводу-виводу.
Лабораторне заняття 3. Програмування з використанням арифметичного сопроцесора
Мета заняття: Навчитись використовувати команди арифметичного сопроцесора для виконання операцій з дійсними числами.
Лабораторне заняття 4. Програмування розгалужень, ітераційних та лічильних циклів, побітова обробка даних.
Мета заняття: Навчитись використовувати команди передачі управління та маніпулювання бітами даних.
Лабораторне заняття 5. Обробка масивів та послідовностей даних.
Мета заняття: Навчитись програмувати обробку масивів за допомогою команд управління та обробку послідовностей даних за допомогою ланцюгових команд.
Лабораторне заняття 6. Процедурне програмування.
Мета заняття: Навчитись використовувати процедури для декомпозиції задач та розробки ієрархічних програм.
Лабораторне заняття 7. Модульна компіляція.
Мета заняття: Навчитись розробляти програми, які складені з окремих об’єктних модулів та виконувати їх компоновку.
Для заочної форми навчання
Лекційні заняття
Лекція 1. Призначення машинно-орієнтованого або низькорівневого програмування. Машинні та машино-орієнтовані мови програмування. Компіляція і трансляція програм. Асемблери та мови асемблерів.
Лекція 2. Основні компоненти процесорної системи. Структура та режими роботи процесорів сімейства х86-64. Організація оперативної пам’яті. Схема адресації реального та захищеного режимів.
Лабораторні заняття
Лабораторне заняття 1. Вивчення середовища RadASM та відладчика OlleDBG.
Мета заняття: Навчитись створювати ASM проекти в середовищі RadASM та проводити налагодження програм в OlleDBG.
Лабораторне заняття 2. Створення лінійної програми. Ввод-вивід в консольному режимі.
Мета заняття: Навчитись використовувати арифметичні команди асемблера для створення обчислювальних програм, та API процедури для вводу-виводу.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
Індивідуальна робота
не передбачено
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на два семестрові модулі. Здобувачі протягом семестру готуються до лекційних та лабораторних занять, виконують 2 модульні контрольні роботи та 2 контрольних опитування.
Модульні контрольні роботи №1, №2 виконуються у письмовій формі. Максимальна оцінка за бездоганне виконання становить 30 балів.
Модульна робота складається з теоретичної частини (у формі тестових запитань) та практичної частини. Максимальна оцінка за правильне виконання теоретичної частини модульні контрольні роботи №1 становить 15 балів, та за правильне виконання практичної частини становить 15 балів. Максимальна оцінка за правильне виконання теоретичної частини модульні контрольні роботи №2 становить 10 балів, та за правильне виконання практичної частини становить 20 балів.
Кількість тестових запитань модульні контрольні роботи №1 – 15, модульні контрольні роботи №2 – 10. Кожна правильна відповідь оцінюється в 1 бал.
Правильне виконання практичної частини модульної контрольної роботи №1 – оцінюється в 15 балів, модульної контрольної роботи №2 – оцінюється в 20 балів.
Кожний модуль оцінюється у максимально можливі 50 балів:
Модуль 1
Контрольне опитування 1. Оцінка за виконання – 5 балів. Термін надання – 6 тиждень.
Лабораторні заняття. Оцінка за виконання – 15 балів. Термін надання – 2, 4, 6, 8 тиждень.
Модульна контрольна робота 1. Модульна контрольна робота – 30 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.
Модуль 2
Контрольне опитування 2. Оцінка за виконання – 5 балів. Термін надання – 12 тиждень.
Лабораторні заняття. Оцінка за виконання – 15 балів. Термін надання – 10, 12, 14 тиждень.
Модульна контрольна робота 2. Модульна контрольна робота – 30 балів (15 тиждень).
Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни – 100 балів.
Підсумковим контролем з дисципліни є залік за результатами виконаних лабораторних робіт та модульних контрольних робіт.
Складання/перескладання заліків відбувається за встановленим деканатом розкладом.
Для заочної форми здобуття освіти
1. Одна контрольна робота. Бездоганне виконання роботи становить 40 балів;
2. Лабораторні завдання. Здобувач повинен проявити свою творчість і креативність; поглибити інтерес до вирішення технічних інженерних задач. Бездоганне виконання завдань лабораторних робіт оцінюється у 30 балів за кожну роботу.
Підсумковий контроль – залік. Максимальна оцінка, яку може отримати студент – 100 балів.
Політика освітнього процесу та умови допуску до підсумкового контролю
Здобувач зобов'язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю, з метою з'ясування всіх не зрозумілих під час самостійної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.
Викладач на першому аудиторному занятті надає повну інформацію щодо усіх складових дисципліни, роз'яснює кількісне та якісне наповнення змістовних модулів, рекомендує відповідну фахову літературу, інформує щодо критеріїв оцінювання рівня навчальних досягнень здобувача з усіх видів та форм навчання та термінів контрольних заходів.
Викладач здійснює консультації відповідно до затвердженого завідувачем кафедри графіка консультацій.
Виконаний не свій варіант завдання здобувачем не оцінюється.
Робота, яка виконана після встановлених викладачем термінів, не приймається.
Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0».
Під час лекції здійснювати телефонні дзвінки забороняється.
К1 Здатність використовувати сучасні методи і мови програмування для розроблення алгоритмічного та програмного забезпечення
Програмування
РН1 Знати сучасні технології та інструментальні засоби розробки складних програмних, апаратних та програмно-апаратних систем