Програмування та командна робота

Спеціальність: Розподілені інформаційні системи та технології
Код дисципліни: 6.126.03.O.012
Кількість кредитів: 5.00
Кафедра: Інформаційні системи та мережі
Лектор: к.ф.м.н., Григорович Віктор Геннадійович
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Формування теоретичної бази знань студентів з програмування та навиків командної роботи для реалізації програмних продуктів з використанням сучасних мов програмування високого рівня, знайомство з принципами пошуку помилок в програмах і методами їх налагодження та тестування, формування практичних навичок роботи з типовими задачами програмування і методами їх рішення.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: Інтегральна компетентність: Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми в області інформаційних систем та технологій, або в процесі навчання, що характеризуються комплексністю та невизначеністю умов, які потребують застосування теорій та методів інформаційних технологій. Загальні компетентності: ЗК 1. Здатність до абстрактного мислення, аналізу та синтезу. ЗК 2. Здатність застосовувати знання у практичних ситуаціях. ЗК 3. Здатність до розуміння предметної області та професійної діяльності. ЗК 4. Здатність спілкуватися іноземною мовою. ЗК 5. Здатність вчитися і оволодівати сучасними знаннями. ЗК 6. Здатність до пошуку, оброблення та узагальнення інформації з різних джерел. ЗК 7. Здатність розробляти та управляти проектами. ЗК 8. Здатність оцінювати та забезпечувати якість виконуваних робіт. ЗК 9. Здатність реалізувати свої права і обов’язки як члена суспільства, усвідомлювати цінності громадянського (вільного демократичного) суспільства та необхідність його сталого розвитку, верховенства права, прав і свобод людини і громадянина в Україні. ЗК 10. Здатність зберігати та примножувати моральні, культурні, наукові цінності і досягнення суспільства на основі розуміння історії та закономірностей розвитку предметної області, її місця у загальній системі знань про природу і суспільство та у розвитку суспільства, техніки і технологій, використовувати різні види та форми рухової активності для активного відпочинку та ведення здорового способу життя. Спеціальні (фахові, предметні) компетентності: КС 3. Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмноапаратного забезпечення інформаційних систем та технологій, Інтернету речей (ІоТ), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними. КС 4. Здатність проектувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші). КС 5. Здатність оцінювати та враховувати економічні, соціальні, технологічні та екологічні фактори на всіх етапах життєвого циклу інфокомунікаційних систем. КС 13. Здатність проводити обчислювальні експерименти, порівнювати результати експериментальних даних і отриманих рішень. КС 15. Здатність організовувати командну роботу з аналізу, проектування та створення інтелектуальних інформаційних технологій.
Результати навчання: ПР 3. Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій. ПР 12. Демонструвати знання принципів командної роботи, командних цінностей, основ конфліктології.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Алгоритмізація та програмування Основи інформаційних технологій Дискретна математика Об’єктно-орієнтоване програмування Організація баз даних та знань Web-технології
Короткий зміст навчальної програми: У викладанні дисципліни розглядаються такі теми: Розділ «Програмування»: Динамічні та рекурсивні структури даних. Розділ «Командна робота»: Визначення вимог та проектування інформаційних систем. Технологія SCRAM розробки програмного забезпечення.
Опис: Тема 1. Технології розробки програмного забезпечення. Scrum Моделі життєвого циклу, принципи і методології розробки програмного забезпечення. Огляд деяких моделей розробки програмного забезпечення. Agile. Scrum. Kanban Тема 2. Визначення вимог, проектування та розробка ІС Бізнес-план. Технологічні вимоги та обґрунтування вибору платформи реалізації. Беклог продукту (побудова моделі та проектування системи). Користувачі системи, їх ролі та дії (UML use case diagram). Проектування UI / UX. Проектування даних. Складання історій користувача (User Story) та списку задач (Task). Дорожня карта проекту. Розробка: правильне програмування. Тема 3. Динамічні та рекурсивні структури даних Динамічні структури даних (списки, черги, стеки, бінарні дерева) та алгоритми їх оброблення Динамічні змінні i покажчики. Незв’язані динамічні дані Рекурсивні (зв’язані) динамічні структури Алгоритми роботи із динамічними структурами даних. Функціональні типи (вказівники на функції)
Методи та критерії оцінювання: Діагностика знань відбувається шляхом оцінювання виконаних лабораторних робіт (затримка виконання та захисту роботи без поважних причин – зменшує оцінку на 10% за кожний тиждень такої затримки), контрольної роботи у формі тестових запитань та екзаменаційного контролю (письмової та усної компоненти) у формі розв’язання завдань на написання програм.
Критерії оцінювання результатів навчання: Поточний контроль - контрольні роботи, виконання лабораторних завдань – 40 Екзамен: Письмова компонента - 50, усна компонента - 10
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: 1. Ковалюк Т.В. Основи програмування. – К. BHV, 2005. – 384 с. 2. Wirth, Niklaus. Algorithms + Data Structures = Programs. Prentice-Hall, 1976. – 366 р. 3. Jeff Sutherland, J.J. Sutherland. Scrum: The Art of Doing Twice the Work in Half the Time. Currency, 2014. - 256 p. 4. Jeff Sutherland, James O. Coplien. A Scrum Book: The Spirit of the Game. Pragmatic Bookshelf, 2019. - 574 p. 5. Kenneth Rubin. Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley Professional, 2012. - 496 p. 6. Ken Schwaber, Mike Beedle. Agile Software Development with Scrum (Series in Agile Software Development). Pearson, 2001. - 176 p. 7. J.J. Sutherland. The Scrum Fieldbook: Faster performance. Better results. Starting now. Random House Business, 2019. - 272 p. 8. Джефф Сазерленд. SCRUM. Революционный метод управления проектами = SCRUM. The art of doing twice the work in half the time. — Манн, Иванов и Фербер, 2016. — 288 с. — ISBN 978-5-00057-722-6. 9. Кеннет Рубин. Основы Scrum: Практическое руководство по гибкой разработке ПО = Essential Scrum: A Practical Guide to the Most Popular Agile Process. — М.: «Вильямс», 20161. — С. 544. — ISBN 978-5-8459-2052-2. 10. Leslie Hulet Stahl: Wicked Problems, Righteous Solutions: A Catalog of Modern Engineering Paradigms Yourdon Press Computing Series, 1990 (первое издание), ISBN 0-13-590126-X 11. OOPSLA 2006 12. Schwaber, Ken; Beedle, Mike. Agile software development with Scrum. Prentice Hall, 2002. — ISBN 0-13-067634-9. 13. Maximini, Dominik. The Scrum Culture: Introducing Agile Methods in Organizations. Management for Professionals // Cham: Springer. — January 8, 2015. Retrieved August 25, 2016.. — С. 26. — ISSN 9783319118277. 14. Partogi, Joshua. Certified Scrum Master vs Professional Scrum Master // Lean Agile Institute. — July 7, 2013. Retrieved May 10, 2017. 15. Ken Schwaber; Jeff Sutherland. The Scrum Guide. — Scrum.org, Retrieved October 27, 2017. 16. Scrum.org Introduces Scrum with Kanban Course, Enabling Greater Transparency Among Development Teams (Retrieved March 2, 2018). 17. Бізнес-план: технологія розробки та обґрунтування : навч. посіб. / С.Ф. Покропивний, С.М. Соболь, Г.О. Швиданенко, О.Г. Дерев‘янко. – Вид. 2-е, допов. – К. : КНЕУ, 2002. – 379 с. – ISBN 966-574-387-2. 18. Васильців Т.Г., Качмарик Я.Д, Блонська В.І., Лупак Р.Л. Бізнес-планування. — Київ : "Знання", 2013. — 207 с. — ISBN 978-966-346-966-6. 19. https://redstone.media/ux-ui-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD 20. https://clocklab.design/ua/ui-ux-dizayn 21. G. Everest, «BASIC DATA STRUCTURE MODELS EXPLAINED WITH A COMMON EXAMPLE», in Computing Systems 1976, Proceedings Fifth Texas Conference on Computing Systems, Austin, TX, 1976 October 18-19, pages 39-46. (Long Beach, CA: IEEE Computer Society Publications Office). 22. https://docs.google.com/spreadsheets/d/1JXRAONfoN1-aVyquxRX6Y0Aiope9dQ3z-cZJ1Dy0vTQ/edit?usp=sharing 23. https://worksection.com/ua/faq/gantt-chart.html 24. Kelley, James; Walker, Morgan. Critical-Path Planning and Scheduling. 1959 Proceedings of the Eastern Joint Computer Conference. 25. Kelley, James; Walker, Morgan. The Origins of CPM: A Personal History. PMNETwork 3(2):7-22. 26. Robert C. Martin. Clean Code. A Handbook of Agile Software Craftsmanship. 2009 Pearson Education 27. https://refactoring.guru/uk/design-patterns
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).