Програмування задач агроінженерії

Спеціальність: Цифрові технології в точному землеробстві
Код дисципліни: 6.208.03.O.013
Кількість кредитів: 4.00
Кафедра: Картографія та геопросторове моделювання
Лектор: доцент, к.ф.-м. н. Юрків Мар’яна Ігорівна
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою вивчення дисципліни “Програмування задач агроінженерії“ є засвоєння основ, методів та засобів опрацювання інформації, яка є необхідною для розв’язування важливих задач точного землеробства; вивчення теоретичних основ та отримання практичних навичок програмування мовою високого рівня Python для проведення наукових та інженерних розрахунків; набуття студентами вміння практично використовувати комп’ютерну техніку в наукових дослідженнях та у професійних практичних потребах.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: загальні компетентності: ЗК08. Здатність вчитися й оволодівати сучасними знаннями; фахові компетентності: ФК02. Здатність проектувати механізовані технологічні процеси сільськогосподарського виробництва, використовуючи основи природничих наук; ФК08. Здатність обирати та використовувати ефективні методи, технології та обладнання для здійснення професійної діяльності у сфері геодезії та землеустрою; ФК14. Здатність здійснювати економічне обґрунтування доцільності застосування технологій та технічних засобів в агропромисловому виробництві, інженерно-технічних заходів з підтримання машинно-тракторного парку, фермерської та іншої сільськогосподарської техніки в працездатному стані.
Результати навчання: ПРН2. Застосовувати міжнародні та національні стандарти і практики в професійній діяльності. ПРН6. Формулювати нові ідеї та концепції розвитку агропромислового виробництва. ПРН9. Виявляти, узагальнювати та вирішувати проблеми, що виникають у процесі професійної діяльності, та формувати у майбутнього фахівця почуття відповідальності за виконувану роботу. ПРН25. Здатність продемонструвати базові знання сучасного стану справ та новітніх технологій в галузі точного землеробства із розумінням наукових і математичних принципів, що лежать в основі системи точного землеробства; КОМ3. Здатність бути критичним та самокритичним для розуміння факторів, які мають позитивний чи негативний вплив на комунікацію, та здатність визначити і врахувати ці фактори в конкретних комунікаційних ситуаціях. АіВ1. Адаптуватись до нових ситуацій та приймати рішення;
Необхідні обов'язкові попередні та супутні навчальні дисципліни: ГІС і бази даних в агроінженерії Автоматизація проектування Основи агрометеорології Електротехніка та електричні проводи машин
Короткий зміст навчальної програми: В курсі «Програмування задач агроінженерії» студенти отримують теоретичні основи та набувають навичок структурного програмування мовою Python. Тематика цього курсу - основні поняття та структури, що використовуються у програмуванні (змінні, типи даних, вирази, процедури введення/виведення, керуючі структури, підпрограми, функції, модулі), а також підготовка програм із застосуванням згаданих елементів разом з розробкою алгоритмів для вирішення проблем і аналіз їхньої коректності. Курс також охоплює основи об’єктно-орієнтовного програмування в Python, роботу з файлами та огляд деяких бібліотек Python. Частина лабораторних робіт та розрахунково-графічна робота передбачають розв’язування геозадач з використанням цієї мови програмування.
Опис: Вступ до програмування Python. Поняття інформації. Поняття алгоритму. Історія створення, переваги і недоліки та філософія Python. Базові типи даних Python.Динамічна типізація змінних. Числові типи даних. Арифметичні оператори та базові функції. Бібліотека math. Керуючі структури.Логічні оператори та оператори порівняння. Умовні оператори: інструкція if-elif-else, тримісний вираз if/else. Цикли: for, while. Оператори переривання: break, continue. Складні структури в Python.bРядки, списки, кортежі, словники, множини та їх методи. Підпрограми та функції в Python. Параметри та аргументи функцій. Можливості функцій. Області видимості, локальні та глобальні змінні. Рекурсія. Лямбда функція. Помилки та винятки.Поняття винятку. Керування винятками за допомогою try/except. Файли.Запис та зчитування з текстового файлу. Структуровані текстові файли. Каталоги. Дата й час. Модулі datetime, time, locale. Модулі та пакети Python. Імпорт та використання модулів. Створення модулів. Розташування модулів у файловій системі. Стандартна бібліотека модулів Python. Пакети(бібліотеки). Менеджер пакетів pip. Бібліотека модулів для роботи з масивами Numpy. Створення масивів. Друк масивів, базові операції над масивами. Список корисних математичних функцій пакета NumPy. Модуль linalg. Системи рівнянь. Об’єктно-орієнтовне програмування з Python. Класи та об’єкти. Методи. Інкапсуляція, наслідування та поліморфізм. Бібліотека модулів для графіки Matplotlib. Встановлення Matplotlib. Побудова графіків. Стилізація графіків. Огляд бібліотеки Pandas. Огляд пакету Rasterio
Методи та критерії оцінювання: Перевірка виконання лабораторних робіт у відповідному програмному середовищі, машинний контроль; перевірка письмових звітів лабораторних робіт; захист лабораторних робіт; виконання та захист розрахунково-графічної роботи; усне, комбіноване і фронтальне опитування; оцінка активності, внесених пропозицій, оригінальних рішень, уточнень і визначень; екзамен - тестовий контроль та усне опитування.
Критерії оцінювання результатів навчання: • Робота на лабораторних заняттях (виконання лабораторних робіт), усне опитування (захист звітів з лабораторних робіт) (64%). • Виконання контрольної роботи(16%). • Тестовий контроль (тест 1,2 по 10%, машинний контроль)
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова 1. Креневич А.П. Python у прикладах і задачах. Частина 1. Структурне програмування. Навчальний посібник із дисципліни "Інформатика та програмування" –К.: ВПЦ "Київський Університет", 2017. – 206 с. 2. Основи програмування. Python [Електронний ресурс]: підручник для студ. спеціальності 122 "Комп’ютерні науки", спеціалізації "Інформаційні технології в біології та медицині" / А. В. Яковенко. – Київ : КПІ ім. Ігоря Сікорського, 2018. – 195 с. 3. The Python Tutorial [Електронний ресурс] – Режим доступу до ресурсу: англійською https://docs.python.org/3/tutorial/index.html або українською https://docs.python.org/uk/3/tutorial/index.html . Допоміжна 1. Креневич А.П. Python у прикладах і задачах. Частина 2. Об’єктно-орієнтоване програмування. Навчальний посібник – К.: ВПЦ "Київський Університет", 2020. – 152 с. 2. Копей В. Б. Мова програмування Python для інженерів і науковців : навчальний посібник / В. Б. Копей – Івано-Франківськ : ІФНТУНГ, 2019. – 272 с. 3. M. Lutz. Learning Python, 5th ed. – O'Reilly Media, 2013. – 1648 p. 4. E. Matthers. Python crash course : a hands-on, project-based introduction to programming. – No Starch Press Inc., 2019. – 528 p.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).