Програмування та командна робота
Спеціальність: Системний аналіз
Код дисципліни: 6.124.00.O.008
Кількість кредитів: 7.00
Кафедра: Інформаційні системи та мережі
Лектор: к.т.н., Ришковець Юрій Володимирович
Семестр: 2 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
інтегральна:
Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми системного аналізу у професійній діяльності або в процесі навчання, що передбачають застосування теоретичних положень та методів системного аналізу та інформаційних технологій і характеризуються комплексністю та невизначеністю умов.
загальні компетентності:
К01. Здатність до абстрактного мислення, аналізу та синтезу.
К02. Здатність застосовувати знання у практичних ситуаціях.
К03. Здатність планувати і управляти часом.
К04. Знання та розуміння предметної області та розуміння професійної діяльності.
К13. Здатність працювати в міжнародному контексті.
К14. Здатність оцінювати та забезпечувати якість виконуваних робіт.
К16. Здатність зберігати та примножувати моральні, культурні, наукові цінності і досягнення суспільства на основі розуміння історії та закономірностей розвитку предметної області, її місця у загальній системі знань про природу і суспільство та у розвитку суспільства, техніки і технологій, використовувати різні види та форми рухової активності для активного відпочинку та ведення здорового способу життя.
фахові компетентності:
К22. Здатність до комп’ютерної реалізації математичних моделей реальних систем і процесів; проектувати, застосовувати і супроводжувати програмні засоби моделювання, прийняття рішень, оптимізації, обробки інформації, інтелектуального аналізу даних.
К23. Здатність використовувати сучасні інформаційні технології для комп’ютерної реалізації математичних моделей та прогнозування поведінки конкретних систем а саме: об’єктно-орієнтований підхід при проектуванні складних систем різної природи, прикладні математичні пакети, застосування баз даних і знань.
К24. Здатність організовувати роботу з аналізу та проектування складних систем, створення відповідних інформаційних технологій та програмного забезпечення.
Результати навчання: ПР08. Володіти сучасними методами розробки програм і програмних комплексів та прийняття оптимальних рішень щодо складу програмного забезпечення, алгоритмів процедур і операцій.
ПР09. Вміти створювати ефективні алгоритми для обчислювальних задач системного аналізу та систем підтримки прийняття рішень.
ПР13. Проектувати, реалізовувати, тестувати, впроваджувати, супроводжувати, експлуатувати програмні засоби роботи з даними і знаннями в комп’ютерних системах і мережах.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: • Дискретна математика.
• Об'єктно-орієнтоване програмування.
Короткий зміст навчальної програми: Вивчення теоретичних основ і практичних засобів організації обчислень із використанням сучасних мов програмування, загальних принципів розв'язування задач за допомогою мови програмування; принципів побудови інформаційних моделей. Формування теоретичної бази знань студентів, знайомство з принципами пошуку помилок у програмах і методами їх відлагодження та тестування, формування практичних навичок роботи з типовими задачами програмування і методами їх рішення. Фокусування на питаннях організації ефективної взаємодії учасників команди, проведенні нарад, засобах та техніках командної роботи, інструментах ефективної командної роботи.
Опис: Структури даних.
Поняття структури даних. Структурні та лінійні типи даних. Списки. Стеки. Черги. Деки.
Алгоритми пошуку та хешування.
Поняття складності алгоритма. Лінійний пошук. Двійковий (бінарний) пошук елемента в масиві. Пошук методом Фібоначчі. Хешування.
Алгоритми сортування.
Класифікація методів сортування. Сортування обміном. Шейкерне сортування. Сортування вставкою. Сортування методом бінарної вставки. Сортування вставкою зі спадним приростом (метод Шелла). Сортування вибором. Швидке сортування (метод Хоара). Сортування за допомогою дерева. Пірамідальне сортування. Сортування злиттям.
Жадібні алгоритми.
Поняття жадібного алгоритму. Алгоритм Шеннона-Фано. Алгоритм Хафмана.
Мова програмування Python.
Загальні поняття. Типи даних. Змінні. Перетворення типів даних. Арифметичні операції. Оператори порівняння. Логічні операції. Бітові операції. Складені операції присвоєння. Введення-виведення даних. Розгалуження. Цикли. Функції. Опрацювання помилок.
Розробка програмного забезпечення.
Поняття SDLC. Моделі життєвого циклу. Методології розробки програмного забезпечення.
Оцінювання.
Поняття обсягів роботи. Оцінювання, цілі та строки виконання. Недооцінювання та переоцінювання. Види оцінювання.
Вимоги до програмного забезпечення.
Загальні поняття. Класифікація вимог. Якість програмного забезпечення.
Вступ в курс. Особиста ефективність.
Цілі курсу. Професійна комунікація. Командна синергія. Презентація ідей та результатів. Що таке особиста ефективність. Компоненти особистої ефективності. Навички особистої ефективності. Постановка ефективних цілей. Самоорганізація та управління часом.
Робота в команді.
Що таке команда. Команда і група. Типи робочих команд. Як виглядає командна робота. Характеристики ефективного «командного гравця». Досягнення цілей в команді. Розподіл завдань і відповідальність. Організація ефективної роботи команди. Розвиток продуктивних стосунків. Комунікація в команді. Управління конфліктами. Особливості роботи в розподіленій команді. Засоби та техніки для ефективної командної роботи в ІТ-галузі. Культура команди.
Інструменти продуктивної командної роботи.
Прийняття рішень в команді. Види нарад. Формати роботи в команді.
Методи та критерії оцінювання: Діагностика знань відбувається шляхом оцінювання виконаних лабораторних робіт та залікового контролю (письмової компоненти) у формі тестових запитань трьох рівнів складності.
Критерії оцінювання результатів навчання: • письмові звіти з лабораторних робіт, усне опитування, контрольна робота (45%)
• підсумковий контроль (екзамен): письмово-усна форма (55%)
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Ришковець Ю. В. Алгоритмізація та програмування. Частина 2 : навчальний посібник / Ю. В. Ришковець, В. А. Висоцька. – Львів : Видавництво «Новий світ – 2000», 2018. – 316 с.
2. Ковалюк Т. В. Алгоритмізація та програмування: підручник з грифом МОН України / Т. В. Ковалюк. – Львів: Магнолія-2006, 2013. – 400 с.
3. Шпак З. Я. Програмування мовою C / З. Я. Шпак. – Львів : “Оріяна-Нова”, 2006. – 431 с.
4. Кові С. Р. 7 звичок надзвичайно ефективних людей / Стівен Р. Кові., 2014. – 384 с.
5. Шаховська Н. Б. Алгоритми та структури даних / Н. Б. Шаховська, Р. О. Голощук. – Львів : Магнолія-2006. – 2009. – 216 с.
6. Python – Tutorial [Електронний ресурс] // Офіційний сайт Tutorialspoint. – Режим доступу : https://www.tutorialspoint.com/python/index.htm.
7. Getting Started with Python Programming [Електронний ресурс] // Офіційний сайт DataFlair. – Режим доступу : https://data-flair.training/blogs/python-tutorials-home/.
8. Посібник зі Скраму [Електронний ресурс]. – 2011. – Режим доступу до ресурсу: http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-UA.pdf#zoom=100.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).
Програмування та командна робота (курсова робота)
Спеціальність: Системний аналіз
Код дисципліни: 6.124.00.O.009
Кількість кредитів: 2.00
Кафедра: Інформаційні системи та мережі
Лектор: к.т.н., Ришковець Юрій Володимирович
Семестр: 2 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
інтегральна:
Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми системного аналізу у професійній діяльності або в процесі навчання, що передбачають застосування теоретичних положень та методів системного аналізу та інформаційних технологій і характеризуються комплексністю та невизначеністю умов.
загальні компетентності:
К01. Здатність до абстрактного мислення, аналізу та синтезу.
К02. Здатність застосовувати знання у практичних ситуаціях.
К03. Здатність планувати і управляти часом.
К04. Знання та розуміння предметної області та розуміння професійної діяльності.
К13. Здатність працювати в міжнародному контексті.
К14. Здатність оцінювати та забезпечувати якість виконуваних робіт.
К16. Здатність зберігати та примножувати моральні, культурні, наукові цінності і досягнення суспільства на основі розуміння історії та закономірностей розвитку предметної області, її місця у загальній системі знань про природу і суспільство та у розвитку суспільства, техніки і технологій, використовувати різні види та форми рухової активності для активного відпочинку та ведення здорового способу життя.
фахові компетентності:
К22. Здатність до комп’ютерної реалізації математичних моделей реальних систем і процесів; проектувати, застосовувати і супроводжувати програмні засоби моделювання, прийняття рішень, оптимізації, обробки інформації, інтелектуального аналізу даних.
К23. Здатність використовувати сучасні інформаційні технології для комп’ютерної реалізації математичних моделей та прогнозування поведінки конкретних систем а саме: об’єктно-орієнтований підхід при проектуванні складних систем різної природи, прикладні математичні пакети, застосування баз даних і знань.
К24. Здатність організовувати роботу з аналізу та проектування складних систем, створення відповідних інформаційних технологій та програмного забезпечення.
Результати навчання: ПР08. Володіти сучасними методами розробки програм і програмних комплексів та прийняття оптимальних рішень щодо складу програмного забезпечення, алгоритмів процедур і операцій.
ПР09. Вміти створювати ефективні алгоритми для обчислювальних задач системного аналізу та систем підтримки прийняття рішень.
ПР13. Проектувати, реалізовувати, тестувати, впроваджувати, супроводжувати, експлуатувати програмні засоби роботи з даними і знаннями в комп’ютерних системах і мережах.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: • Дискретна математика.
• Об'єктно-орієнтоване програмування.
Короткий зміст навчальної програми: Вивчення теоретичних основ і практичних засобів організації обчислень із використанням сучасних мов програмування, загальних принципів розв'язування задач за допомогою мови програмування; принципів побудови інформаційних моделей. Формування теоретичної бази знань студентів, знайомство з принципами пошуку помилок у програмах і методами їх відлагодження та тестування, формування практичних навичок роботи з типовими задачами програмування і методами їх рішення. Фокусування на питаннях організації ефективної взаємодії учасників команди, проведенні нарад, засобах та техніках командної роботи, інструментах ефективної командної роботи.
Опис: Теми курсових робіт
1. LED підсвітка для екранів на платформі Arduino з синхронізацією кольорів
2. Додаток, що показує завантаженість кафе навколо користувача
3. Підбір рецептів їжі
4. Інтерактивна гра-квест за допомогою Qr-кодів
5. 2D слешер з елементами фантастики та різноманітними мобами і босами на платформі Unity
6. Платформа для збору та аналізу медичних дані
7. Додаток для вивчення іноземних слів
8. Платформа для перевізників громадського транспорту, яка дозволяє аналізувати ситуацію на маршруті та оптимізувати процес перевезень
9. Додаток для нових знайомств
10. Торговий робот на біржі
11. Оптимальний раціон харчування
12. Планувальник часу
13. 3D відеогра на основі Unity
14. Аналог Twitter для відвіданих туристичних локацій
15. Соціальна мережа для домашніх улюбленців
16. Пошук і боронування місць для паркування автомобіля
17. 2D гра-плаформер під назвою FeedHall у Unity з використанням мови C# на лицарську тематику
18. 2D відеогра для ПК, що складається з двох частин: платформер, створений за допомогою Pygame, та візуальна новела на RenPy
19. Моніторинг цін на комп'ютерні ігри
20. Дорожній помічник
21. Програма розподілу власного бюджету
22. Планувальник завдань
23. Псевдо біржа
24. Еко-додаток
25. Система букінкгу місць
26. Пошук рецептів
27. Туристичний гід
28. Сайт для продажу зображень і відео
29. Особистий мотиватор
Методи та критерії оцінювання: Діагностика знань відбувається шляхом оцінювання виконаних лабораторних робіт та залікового контролю (письмової компоненти) у формі тестових запитань трьох рівнів складності.
Критерії оцінювання результатів навчання:
• підсумковий контроль (захист роботи): письмово-усна форма (100%)
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Ришковець Ю. В. Алгоритмізація та програмування. Частина 2 : навчальний посібник / Ю. В. Ришковець, В. А. Висоцька. – Львів : Видавництво «Новий світ – 2000», 2018. – 316 с.
2. Ковалюк Т. В. Алгоритмізація та програмування: підручник з грифом МОН України / Т. В. Ковалюк. – Львів: Магнолія-2006, 2013. – 400 с.
3. Шпак З. Я. Програмування мовою C / З. Я. Шпак. – Львів : “Оріяна-Нова”, 2006. – 431 с.
4. Кові С. Р. 7 звичок надзвичайно ефективних людей / Стівен Р. Кові., 2014. – 384 с.
5. Шаховська Н. Б. Алгоритми та структури даних / Н. Б. Шаховська, Р. О. Голощук. – Львів : Магнолія-2006. – 2009. – 216 с.
6. Python – Tutorial [Електронний ресурс] // Офіційний сайт Tutorialspoint. – Режим доступу : https://www.tutorialspoint.com/python/index.htm.
7. Getting Started with Python Programming [Електронний ресурс] // Офіційний сайт DataFlair. – Режим доступу : https://data-flair.training/blogs/python-tutorials-home/.
8. Посібник зі Скраму [Електронний ресурс]. – 2011. – Режим доступу до ресурсу: http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-UA.pdf#zoom=100.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).