Об'єктно-орієнтоване програмування
Спеціальність: Інженерія геоінформаційних систем
Код дисципліни: 6.193.08.O.018
Кількість кредитів: 5.00
Кафедра: Картографія та геопросторове моделювання
Лектор: доцент, к.т.н. Нікулішин Володимир Ігорович
Семестр: 3 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
загальні компетентності:
ЗК06. Здатність використовувати інформаційні та комунікаційні технології.
фахові компетентності:
СК02. Здатність застосовувати теорії, принципи, методи фізико-математичних, природничих, соціально-економічних, інженерних наук при виконанні завдань геодезії та землеустрою.
СК05. Здатність застосовувати сучасне інформаційне, технічне і технологічне забезпечення для вирішення складних питань геодезії та землеустрою.
Результати навчання: РН10. Обирати і застосовувати інструменти, обладнання, устаткування та програмне забезпечення, які необхідні для дистанційних, наземних, польових і камеральних досліджень у сфері геодезії та землеустрою.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: • Математичне опрацювання та аналіз геоданих
• Алгоритми та структури даних
• Інформатика та програмування геозадач
• Спеціальні застосунки для опрацювання просторових даних
• Автоматизація геозадач
Короткий зміст навчальної програми: Курс “Об'єктно-орієнтоване програмування“ включає теоретичні аспекти ООП, такі як класи, об'єкти, наслідування та поліморфізм, і розглядає їхнє використання для розробки геоінформаційних застосунків з використанням мови програмування Python. Студенти здобудуть практичні навички проектування та реалізації програмного забезпечення для аналізу, обробки та візуалізації геоданих. Зокрема, курс охоплює використання бібліотек Python, для розв'язання реальних завдань у галузі геоінформатики, що дозволяє студентам здійснювати ефективну розробку геоінформаційних систем з використанням об'єктно-орієнтованого підходу.
Опис: • Основні концепції ООП: Введення в об'єктно-орієнтоване програмування, розгляд основних концепцій, таких як класи, об'єкти, наслідування, поліморфізм та інкапсуляція.
• Класи та об'єкти у Python: Практичні вправи зі створення класів та об'єктів в мові програмування Python, використання атрибутів та методів для роботи з геоданими.
• Наслідування та поліморфізм: Розгляд використання наслідування для створення ієрархії класів у геоінформаційних системах, а також засвоєння концепції поліморфізму для обробки різних типів геоданих.
• Інкапсуляція та захист даних: Вивчення практик інкапсуляції для забезпечення безпеки даних у геоінформаційних застосунках, розгляд методів контролю доступу до даних.
• Використання ООП для ГІС задач
Методи та критерії оцінювання: Перевірка виконання лабораторних робіт у відповідному програмному середовищі, машинний контроль; перевірка письмових звітів лабораторних робіт; захист лабораторних робіт; усне, комбіноване і фронтальне опитування; оцінка активності, внесених пропозицій, оригінальних рішень, уточнень і визначень; екзамен - тестовий контроль та усне опитування.
Критерії оцінювання результатів навчання: • Робота на лабораторних заняттях (виконання лабораторних робіт), усне опитування (захист звітів з лабораторних робіт) (40%).
• Підсумковий контроль (екзамен 60%, письмова та усна форма)
Порядок та критерії виставляння балів та оцінок: 100-88 балів - атестований з оцінкою «відмінно» - Високий рівень: здобувач освіти демонструє поглиблене володіння поняттєвим та категорійним апаратом навчальної дисципліни, системні знання, вміння і навички їх практичного застосування. Освоєні знання, вміння і навички забезпечують можливість самостійного формулювання цілей та організації навчальної діяльності, пошуку та знаходження рішень у нестандартних, нетипових навчальних і професійних ситуаціях. Здобувач освіти демонструє здатність робити узагальнення на основі критичного аналізу фактичного матеріалу, ідей, теорій і концепцій, формулювати на їх основі висновки. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку, самостійної науково-дослідної діяльності, що реалізується за підтримки та під керівництвом викладача. 87-71 балів - атестований з оцінкою «добре» - Достатній рівень: передбачає володіння поняттєвим та категорійним апаратом навчальної дисципліни на підвищеному рівні, усвідомлене використання знань, умінь і навичок з метою розкриття суті питання. Володіння частково-структурованим комплексом знань забезпечує можливість їх застосування у знайомих ситуаціях освітнього та професійного характеру. Усвідомлюючи специфіку задач та навчальних ситуацій, здобувач освіти демонструє здатність здійснювати пошук та вибір їх розв’язання за поданим зразком, аргументувати застосування певного способу розв’язання задачі. Його діяльності ґрунтується на зацікавленості та мотивації до саморозвитку, неперервного професійного розвитку. 70-50 балів - атестований з оцінкою «задовільно» - Задовільний рівень: окреслює володіння поняттєвим та категорійним апаратом навчальної дисципліни на середньому рівні, часткове усвідомлення навчальних і професійних задач, завдань і ситуацій, знання про способи розв’язання типових задач і завдань. Здобувач освіти демонструє середній рівень умінь і навичок застосування знань на практиці, а розв’язання задач потребує допомоги, опори на зразок. В основу навчальної діяльності покладено ситуативність та евристичність, домінування мотивів обов’язку, неусвідомлене застосування можливостей для саморозвитку. 49-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: Базова
1. Креневич А.П. Python у прикладах і задачах. Частина 2. Об’єктно-орієнтоване програмування. Навчальний посібник – К.: ВПЦ "Київський Університет", 2020. – 152 с.
2. Копей В. Б. Мова програмування Python для інженерів і науковців : навчальний посібник / В. Б. Копей – Івано-Франківськ : ІФНТУНГ, 2019. – 272 с.
3. The Python Tutorial [Електронний ресурс] – Режим доступу до ресурсу: https://www.w3schools.com/python/default.asp
4. The Python Tutorial [Електронний ресурс] – Режим доступу до ресурсу:
англійською https://docs.python.org/3/tutorial/index.html
або українською https://docs.python.org/uk/3/tutorial/index.html .
Допоміжна
1. Креневич А.П. Python у прикладах і задачах. Частина 1. Структурне програмування. Навчальний посібник із дисципліни "Інформатика та програмування" –К.: ВПЦ "Київський Університет", 2017. – 206 с.
2. Основи програмування. Python [Електронний ресурс]: підручник для студ. спеціальності 122 "Комп’ютерні науки", спеціалізації "Інформаційні технології в біології та медицині" / А. В. Яковенко. – Київ : КПІ ім. Ігоря Сікорського, 2018. – 195 с.
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).