Алгоритмізація та програмування, частина 1

Спеціальність: Комп'ютерні науки (Проектування і програмування інтелектуальних систем та пристроїв)
Код дисципліни: 6.122.12.O.003
Кількість кредитів: 7.00
Кафедра: Системи автоматизованого проектування
Лектор: к.т.н., доцент каф. САП Яворський Назарій Борисович
Семестр: 1 семестр
Форма навчання: денна
Мета вивчення дисципліни: здобуття студентами знань, умінь і практичних навиків з алгоритмізації та програмування універсальною мовою С, базових задач опрацювання даних для комп’ютерних інформаційних технологій, а також створення відповідних програмних проектів, налагодження та реалізація розроблених програм засобами бібліотек і ресурсів інструментальних середовищ програмування. Також метою є вивчення студентами основних понять, принципових засад, інтегральних компонентів та ключових факторів ефективної взаємодії з аудиторією і в команді, а також розвиток особистої ефективності, навичок професійної комунікації, презентування ідей, результативних публічних виступів, організації продуктивної співпраці в команді.
Завдання: Вивчення навчальної дисципліни передбачає формування та розвиток у студентів компетентностей: загальних: ? (ІНТ) здатність розв’язувати складні спеціалізовані задачі та практичні проблеми у галузі комп’ютерних наук або у процесі навчання, що передбачає застосування теорій та методів інформаційних технологій і характеризується комплексністю та невизначеністю умов; ? (ЗК1) здатність до абстрактного мислення, аналізу та синтезу; ? (ЗК2) здатність застосовувати знання у практичних ситуаціях; ? (ЗК3) знання та розуміння предметної області та розуміння професійної діяльності; ? (ЗК6) здатність вчитися й оволодівати сучасними знаннями; ? (ЗК7) здатність до пошуку, оброблення та аналізу інформації з різних джерел; ? (ЗК8) здатність генерувати нові ідеї (креативність); ? (ЗК9) здатність працювати в команді; ? (ЗК11) здатність приймати обґрунтовані рішення; ? (ЗК12) здатність оцінювати та забезпечувати якість виконуваних робіт; фахових: ? (ФК1) здатність до математичного формулювання та досліджування неперервних та дискретних математичних моделей, обґрунтовування вибору методів і підходів для розв’язування теоретичних і прикладних задач у галузі комп’ютерних наук, аналізу та інтерпретування; ? (ФК3) здатність до логічного мислення, побудови логічних висновків, використання формальних мов і моделей алгоритмічних обчислень, проектування, розроблення й аналізу алгоритмів, оцінювання їх ефективності та складності, розв’язності та нерозв’язності алгоритмічних проблем для адекватного моделювання предметних областей і створення програмних та інформаційних систем; ? (ФК8) здатність проектувати та розробляти програмне забезпечення із застосуванням різних парадигм програмування: узагальненого, об’єктно-орієнтованого, функціонального, логічного, з відповідними моделями, методами й алгоритмами обчислень, структурами даних і механізмами управління; ? (ФК10) здатність застосовувати методології, технології та інструментальні засоби для управління процесами життєвого циклу інформаційних і програмних систем, продуктів і сервісів інформаційних технологій відповідно до вимог замовника.
Результати навчання: знати внутрішні форми збереження числової та текстової інформацiї у комп’ютерах; - вміти здійснювати постановку задачі, вибирати методи її розв’язування, формувати та зображати алгоритм розв’язування задачі; - знати синтаксис та семантику мови програмування C, її функцiональнi можливостi та бiблiотечне забезпечення; - уміти працювати в сучасних iнтегрованих середовищах програмування; - уміти застосовувати набуті знання для програмування різнотипних обчислювальних та інформацiйних задач. - здійснювати пошук інформації в різних джерелах для розв’язання задач спеціальності; - ефективно працювати як індивідуально, так і у складі команди, представляти результати роботи - уміти здійснювати пошук інформації в різних джерелах для розв’язання задач спеціальності - уміти системно мислити та застосовувати творчі здібності до формування принципово нових ідей - оцінювати отримані результати та аргументовано захищати прийняті рішення
Необхідні обов'язкові попередні та супутні навчальні дисципліни: • пререквізити: Шкільний курс з iнформатики • кореквізити: Дискретна математика
Короткий зміст навчальної програми: Дисципліна "Алгоритмізація та програмування, частина 1" належить до дисциплін циклу загальної підготовки і викладається у двох семестрах. Метою вивчення дисципліни є здобуття знань, умінь і практичних навиків з алгоритмізації типових задач комп’ютерних інформаційних технологій, а також розробки, налагодження та реалізації програм на основі ресурсів інструментальних середовищ програмування. Студенти вивчатимуть сучасні технічні та програмні засоби взаємодії з комп'ютером, технологію розробки алгоритмів і програм, програмування на алгоритмічних мовах високого рівня, зокрема на мові С, методи відлагодження і розв'язку задач на комп'ютерах в різних режимах, стандарти оформлення програмної документації. Дисципліна також розглядає питання організації ефективної взаємодії учасників команди, проведення нарад, засоби та техніки командної роботи, інструменти ефективної командної роботи, підготовку, розробку та представлення результатів роботи команди у вигляді презентації із використанням технічних засобів.
Опис: Основні етапи розв'язування задач на комп'ютері. Критерії якості програм. Життєвий цикл програми. Визначення вимог до програми. Постановка задачі для розв'язування на комп'ютері. Поняття алгоритму. Основні способи запису алгоритмів. Загальні відомості про мову СІ. Типи даних. Оператори. Вказівники. Оголошення вказівників, звертання до даних через вказівники. Адресна арифметика. Типізація вказівників.Масиви, cимвольні рядки, cтруктури та об’єднання. Файли, процедури роботи з файлами Постановка ефективних цілей. Самоорганізація та управління часом. Навчання і професійний розвиток. Побудова ефективних стосунків. Види комунікації. Досягнення цілей в сучасній професійній комунікації. Культура комунікації. Типи робочих команд. Характеристики ефективного «командного гравця». Досягнення цілей в команді. Розподіл завдань і відповідальність. Організація ефективної роботи команди. Розвиток продуктивних стосунків. Комунікація в команді. Управління конфліктами. Особливості роботи в розподіленій команді. Засоби та техніки для ефективної командної роботи в іт-галузі. Культура команди. Структура команди і ролі. Групова динаміка. Інструменти продуктивної командної роботи. Креативне мислення. Методи підготовки та проведення публічних презентацій.
Методи та критерії оцінювання: Поточний контроль (40%): письмові звіти з лабораторних, практичних робіт, усне опитування, виконання розрахунково-графічних та контрольних робіт, підготовка презентацій. Підсумковий контроль (60%): іспит – теоретичні та практичні завдання, усна компонента.
Критерії оцінювання результатів навчання: Лабораторні заняття 20% Практичні заняття 10% КР/РГР 10% Письмова компонента ЕК 50% Усна компонента ЕК 10%
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: - Шпак З.Я. Програмування мовою С. – Львів: Видав-во Львівської політехніки, 2011. – 436 с. - Лабораторний практикум з дисципліни “Алгоритмізація та програмування”: навчальний посібник / Н. Б. Яворський, У. Б. Марікуца, М. І. Андрійчук, І. В. Фармага – Львів : Видавництво Львівської політехніки, 2018. – 191 с. - Матвійків О. Технологія програмування та створення програмних продуктів.: Конспект лекцій. – Львів: видавництво львівської політехніки, 2011. – 89с. - ISO/IEC/IEEE 12207:2017 Systems and software engineering – Software life cycle processes. - Левус є., Мельник Н. Вступ до інженерії програмного забезпечення: Навчальний посібник (Препринт). – Львів: Львівська політехніка, 2018. –285с. - Schwaber К. Agile Project Management with Scrum. - Microsoft Press, 2004. – 163p. – ISBN 0-7356-1993-X.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).