Мови програмування

Спеціальність: Прикладна фізика та наноматеріали
Код дисципліни: 6.105.00.O.021
Кількість кредитів: 5.00
Кафедра: Системи автоматизованого проектування
Лектор: Оксентюк В.М.
Семестр: 4 семестр
Форма навчання: денна
Мета вивчення дисципліни: Здобуття базових знань, умінь та навиків, які необхідні під час розв’язання прикладних фізико-математичних завдань за допомогою мов програмування високого рівня Pascal та Python.
Завдання: Загальні компетентності: ІНТ. Здатність розв’язувати складні спеціалізовані задачі та практичні проблеми у галузі комп’ютерних наук або у процесі навчання, що передбачає застосування теорій та ме-тодів інформаційних технологій і характеризується комплексністю та невизначеністю умов. ЗК1. Здатність до абстрактного мислення, аналізу та синтезу. ЗК2. Здатність застосовувати знання у практичних ситуаціях. ЗК3. Знання та розуміння предметної області та розуміння професійної діяльності. ЗК6. Здатність вчитися й оволодівати сучасними знаннями. ЗК7. Здатність до пошуку, оброблення та аналізу інформації з різних джерел. ЗК8. Здатність генерувати нові ідеї (креативність). ЗК9. Здатність працювати в команді. ЗК11. Здатність приймати обґрунтовані рішення. ЗК12. Здатність оцінювати та забезпечувати якість виконуваних робіт. Фахові компетентності: ФК3. Здатність до логічного мислення, побудови логічних висновків, використання формальних мов і моделей алгоритмічних обчислень, проектування, розроблення й аналізу алгоритмів, оцінювання їх ефективності та складності, розв’язності та нерозв’язності алгоритмічних проблем для адекватного моделювання предметних областей і створення програмних та інформаційних систем. ФК8. Здатність проектувати та розробляти програмне забезпечення із застосуванням різних парадигм програмування: узагальненого, об’єктно-орієнтованого, функціонального, логічного, з відповідними моделями, методами й алгоритмами обчислень, структурами даних і механізмами управління. ФК12. Здатність забезпечити організацію обчислювальних процесів в інформаційних системах різного призначення з урахуванням архітектури, конфігурування, показників результативності функціонування операційних систем і системного програмного забезпечення.
Результати навчання: Уміння написати простий код мовами Pascal та Python у парадигмі структурного програмування. Уміння розробляти алгоритми вирішення фізико-математичних задач. Уміння виконувати обчислення та переведення числової інформації у системах числення з різною основою. Уміння виконувати наукові обчислення, обробку даних та діалог засобами мов Pascal та Python. Уміння написати лінійних, циклічних та алгоритмів із розгалуженням мовами Pascal та Python. Уміння розробляти та тестувати прикладне програмне забезпечення засобами мовами Pascal та Python.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Об’єктно орієнтоване програмування Алгоритмізація та програмування
Короткий зміст навчальної програми: Розглянуто базові питання прикладного програмування із використанням мов високого рівня Pascal та Python. У першому модулі подано загальну інформацію про мови програмування, огляд та класифікація мов програмування. визначення поняття «мова програмування». Історію розвитку мов програмування та їх класифікація мов програмування за поколіннями, за рівнем абстракції, за областю застосування, за парадигмами програмування. Представлено стислий огляд та основні поняття і особливості парадигм програмування. У другому модулі розглянуто основні конструкції структурного програмування, дано визначення алгоритму та його властивостей. Наведено приклади числових алгоритмів. У третьому модулі розглянуто системи числення з різною основою, зокрема позиційні системи числення з різною основою. Наведено правила виконання арифметичних операцій у різних системах числення та переведення чисел між системами числення з різною основою. У четвертому модулі розглянуто основи програмування мовою Pascal, а саме загальні поняття створення програм та інтегровані середовище програмування IDE, алфавіт мови, структура програм мовою, типи даних, операції, стандартні функції і процедури. Представлено правила і приклади побудови лінійних алгоритмів та алгоритми з розгалуженнями мовою, а також реалізація циклічних алгоритмів. У п’ятому модулі розглянуто основи програмування мовою Python, а саме загальні поняття створення програм та інтегровані середовище програмування IDE, алфавіт мови, структура програм мовою, типи даних, операції, стандартні функції і процедури. Представлено правила і приклади побудови лінійних алгоритмів та алгоритми з розгалуженнями мовою, а також реалізація циклічних алгоритмів.
Опис: 1. Огляд та класифікація мов програмування. Загальна інформація. Визначення поняття «мова програмування». Історія розвитку мов програмування. Класифікація мов програмування за поколіннями, за рівнем абстракції, за областю застосування, за парадигмами програмування. Короткий огляд найбільш розповсюджених мов програмування. Огляд та основні поняття і особливості парадигм програмування. 2. Основи програмування. Основні конструкції структурного програмування. Визначення алгоритму та його властивості. Типи алгоритмів. Приклади числових алгоритмів: алгоритм Евкліда; алгоритм пошуку мінімуму й максимуму в будь-якій кінцевій послідовності з п дійсних чисел; алгоритм визначення суми парних елементів заданого ряду натуральних чисел. 3. Системи числення з різною основою. Представлення даних у ЕОМ. Позиційні системи числення з різною основою. Правила виконання арифметичних операцій у різних системах числення. Правила переведення чисел між системами числення з різною основою. 4. Основи програмування мовою Pascal. Загальні поняття створення програм та інтегровані середовище програмування IDE. Алфавіт мови та службові слова Pascal та елементарні конструкції. Структура програм мовою Pascal. Поняття змінної та константи. Типи даних. Операції у мові Pascal, три типи. Стандартні функції Pascal. Процедури введенні-виведення інформації Print (Write) - Read у Pascal. Реалізація лінійних алгоритмів. Алгоритми з розгалуженнями мовою Pascal, умовний оператор IF, оператор вибору CASE. Реалізація циклічних алгоритмів за допомогою операторів WHILE, FOR. 5. Основи програмування мовою Python. Загальні поняття створення програм та інтегровані середовище програмування IDE. Алфавіт мови та службові слова Python та елементарні конструкції. Структура програм мовою Python. Поняття змінної та константи. Типи даних. Операції у мові Python, три типи. Стандартні функції Python. Процедури введенні-виведення інформації Print - Input у Python. Реалізація лінійних алгоритмів. Алгоритми з розгалуженнями мовою Python, умовний оператор IF. Реалізація циклічних алгоритмів за допомогою операторів WHILE, FOR.
Методи та критерії оцінювання: Поточний контроль: Лабораторні робіти – аналіз оформлення звіту відповідно до встановлених вимог; письмове опитування. Семестровий контроль: складання іспиту, письмове опитування, усне опитування.
Критерії оцінювання результатів навчання: 100–88 балів («відмінно») – виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу дисципліни, який міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і розвитку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач. 87–80 балів («дуже добре») – виставляється за знання навчального матеріалу дисципліни вище від середнього рівня, включаючи розрахунки, аргументовані відповіді на поставлені запитання (можлива невелика кількість неточностей), вміння застосовувати теоретичні положення під час розв’язання практичних задач. 79–71 бал («добре») – виставляється за загалом правильне розуміння навчального матеріалу дисципліни, включаючи розрахунки, аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач. 70–61 бал («посередньо») – виставляється за посередні знання навчального матеріалу дисципліни, мало аргументовані відповіді, слабке застосування теоретичних положень під час розв’язання практичних задач; 60–50 балів («задовільно») – виставляється за слабкі знання навчального матеріалу дисципліни, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач. 49–26 балів («незадовільно») з можливістю повторного складання семестрового контролю) – виставляється за незнання значної частини навчаль¬ного матеріалу дисципліни, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Лабораторний практикум з навчальної дисципліни «Основи програмування. Ч. 1.» для студ. спец. 122 «Комп’ютерні науки» першого (бакалаврського) рівня вищої освіти, укл. Бобало С.І. 2. Конспект лекцій з навчальної дисципліни «Прикладне програмування» для студ. спец. 122 «Комп’ютерні науки» першого (бакалаврського) рівня вищої освіти, укл. Щербовських С. В. 3. Лабораторний практикум з навчальної дисципліни «Прикладне програмування» для студ. спец. 122 «Комп’ютерні науки» першого (бакалаврського) рівня вищої освіти, укл. Оборська О. В. 4. Методичні вказівки для виконання розрахунково-графічної роботи з навчальної дисципліни «Прикладне програмування» для студ. спец. 122 «Комп’ютерні науки» першого (бакалаврського) рівня вищої освіти, укл. Щербовських С. В. 5. Методичні вказівки для виконання комп’ютерних практикумів з дисципліни "Основи програмування". Основи програмування мовою Python / А. В. Яковенко. ? Київ : НТУУ "КПІ ім. І. Сікорського" для студ. спец. 122 «Комп’ютерні науки» першого (бакалаврського) рівня вищої освіти, укл. Яковенко А. 5. 1. Висоцька В.А., Оборська О.В. Python: алгоритмізація та програмування: Навч. посібн. Львів: Видавництво «Новий світ – 2000», 2020. 526 с. ISBN 978-617-7519-74-3
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).