Кросплатформні засоби програмування
Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.01.E.068
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: доц. Олексів Максим Васильович
Семестр: 5 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
Загальні компетентності:
- здатність до аналізу та синтезу;
- потенціал до подальшого навчання.
Фахові компетентності:
- здатність використовувати сучасні методи і мови програмування для розроблення кросплатформного програмного забезпечення;
- здатність створювати кросплатформне системне та прикладне програмне забезпечення;
- здатність застосовувати професійно-профільовані знання й практичні навички для розв’язання типових задач спеціальності, а також експлуатації комп’ютерних систем та мереж.
Результати навчання: В результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання:
1. Знати основи професійно-орієнтованих дисциплін спеціальності в галузі комп’ютерної інженерії.
2. Знати та розуміти методології проектування, відповідні нормативні документи, чинні стандарти і технічні умови.
3. Знати та розуміти вплив технічних рішень в суспільному, економічному, соціальному і екологічному контексті.
4. Знати основи охорони праці при роботі з комп’ютерним обладнанням.
5. Знати соціальні та економічні аспекти, які впливають на прийняття технічних рішень.
6. Вміти застосовувати знання і розуміння для ідентифікації, формулювання і вирішення технічних задач спеціальності, використовуючи відомі методи.
7. Уміти застосовувати знання технічних характеристик, конструкційних особливостей, призначення і правил експлуатації комп’ютерного обладнання та компонентів для вирішення технічних задач спеціальності.
8. Уміти здійснювати пошук інформації в різних джерелах для розв’язання задач комп’ютерної інженерії; уміти ефективно працювати як індивідуально, так і у складі команди.
9. Уміти ідентифікувати, класифікувати та описувати роботу комп’ютерних систем і їх складових.
10. Уміти поєднувати теорію і практику, а також приймати рішення та виробляти стратегію діяльності для вирішення завдань спеціальності з урахуванням загальнолюдських цінностей, суспільних, державних та виробничих інтересів.
11. Уміти виконувати відповідні експериментальні дослідження та застосовувати дослідницькі навички за професійною тематикою.
12. Уміння спілкуватись, включаючи усну та письмову комунікацію українською мовою та однією з іноземних мов (англійською, німецькою, італійською, французькою, іспанською).
13. Усвідомлювати необхідність навчання впродовж усього життя з метою поглиблення набутих та здобуття нових фахових знань.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Програмування, частина 1 (Основи алгоритмізації та програмування)
Програмування, частина 2 (Об’єктно-орієнтоване програмування)
Системне програмне забезпечення
Тестування і діагностика апаратно-програмних засобів
Короткий зміст навчальної програми: Навчальна дисципліна «Кросплатформні засоби програмування» ознайомлює студентів з існуючими сучасними кросплатформними засобами програмування на прикладі кросплатформних мов програмування Java та Python. За статистикою компанії ORACLE програмне забезпечення розроблене мовою Java присутнє на більше 5,5 млрд. пристроїв. Розглядаються основи розробки та функціонування кросплатформного програмного забезпечення. Структура програми на мовах Java та Python, типи даних, константи, змінні, операції, оператори, поняття функції, масиви, рядки, класи, інтерфейси, поля, методи, області видимості, параметризовані класи і методи, рефлексія, лямбда функції, аннотації, засоби для роботи з текстовими і бінарними файлами та багато іншого.
Знання і вміння використання кросплатформних мов програмування є необхідною складовою компетентностей сучасних інженерних кадрів в галузі інформатики.
Опис: 1. Вступ до дисципліни.
2. Основні типи даних.
3. Основні операції над даними.
4. Класи у мові Java.
5. Внутрішні класи, пакети, лямбда вирази.
6. Спадкування та поліморфізм.
7. Ієрархія класів мови Java. Інтерфейси.
8. Рефлексія.
9. Аннотації.
10. Виключення.
11. Файли.
12. Параметризоване програмування.
13. Вступ до Python.
14. Розширені можливості процедурного програмування у Python.
15. Об’єктно-орієнтоване програмування у Python.
Методи та критерії оцінювання: Оцінювання знань студентів з дисципліни “Кросплатформні засоби програмування” проводиться відповідно до робочого навчального плану у вигляді семестрового контролю, який проводиться в кінці семестру і включає в себе результати поточного контролю знань студентів, який оцінюється за виконання лабораторних робіт, та контрольного заходу – відповідь на відповідний білет на іспиті. Контрольний захід є обов’язковим видом контролю і проводиться в письмово-усній формі в кінці семестру.
Критерії оцінювання результатів навчання: Письмові звіти з лабораторних робіт, усне опитування, самостійна робота (36%)
Підсумковий контроль: контрольні заходи, екзамен, письмово-усна форма (64 %)
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова
1. Хорстманн К. Java. Библиотека профессионала, том 1. Основы. 11-е издание /
К. Хорстманн; пер. с англ. – М.: Диалектика, 2020. – 864 с.: ил.
2. Хорстманн К. Java. Библиотека профессионала, том 2. Расширенные средства программирования. 11-е издание / К. Хорстманн; пер. с англ. – М.: ООО «И.Д. Вильямс», 2021. – 864 с.: ил.
3. Эккель Б. Философия Java. Библиотека программиста. 4-е издание. – СПб: Питер, 2012. – 640 с.: ил. – (Серия «Библиотека программиста»)
4. Schildt H. Java: The Complete Reference, 12th Edition. /
Herbert Schildt. – McGraw Hill, 2021. – 1280 p.
5. Lutz M. Learning Python, 5th Edition / Mark Lutz. – O’Reilly, 2013. – 1643 p.
Допоміжна
1. Васильев А. Самоучитель Java с примерами и программами (+ CD). – СПб: Наука и техника, 2011. – 352 с.
2. Васильєв О. Програмування мовою Python / Олексій Васильєв. – К: НК Богдан, 2019. – 504 с.
Інформаційні ресурси
1. Java SE Documentation at a Glance [електронний ресурс]. – Режим доступу до документації: http://www.oracle.com/technetwork/java/javase/documentation/index.html
2. Python documentation [електронний ресурс]. – Режим доступу до документації: https://docs.python.org/3/
3. Python Enhancement Proposals [електронний ресурс]. – Режим доступу до документації: https://peps.python.org/
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).
Кросплатформні засоби програмування
Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.02.E.085
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Семестр: 5 семестр
Форма навчання: денна
Кросплатформні засоби програмування
Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.04.E.115
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: доц. Олексів Максим Васильович
Семестр: 5 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
Загальні компетентності:
- здатність до аналізу та синтезу;
- потенціал до подальшого навчання.
Фахові компетентності:
- здатність використовувати сучасні методи і мови програмування для розроблення кросплатформного програмного забезпечення;
- здатність створювати кросплатформне системне та прикладне програмне забезпечення;
- здатність застосовувати професійно-профільовані знання й практичні навички для розв’язання типових задач спеціальності, а також експлуатації комп’ютерних систем та мереж.
Результати навчання: В результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання:
1. Знати основи професійно-орієнтованих дисциплін спеціальності в галузі комп’ютерної інженерії.
2. Знати та розуміти методології проектування, відповідні нормативні документи, чинні стандарти і технічні умови.
3. Знати та розуміти вплив технічних рішень в суспільному, економічному, соціальному і екологічному контексті.
4. Знати основи охорони праці при роботі з комп’ютерним обладнанням.
5. Знати соціальні та економічні аспекти, які впливають на прийняття технічних рішень.
6. Вміти застосовувати знання і розуміння для ідентифікації, формулювання і вирішення технічних задач спеціальності, використовуючи відомі методи.
7. Уміти застосовувати знання технічних характеристик, конструкційних особливостей, призначення і правил експлуатації комп’ютерного обладнання та компонентів для вирішення технічних задач спеціальності.
8. Уміти здійснювати пошук інформації в різних джерелах для розв’язання задач комп’ютерної інженерії; уміти ефективно працювати як індивідуально, так і у складі команди.
9. Уміти ідентифікувати, класифікувати та описувати роботу комп’ютерних систем і їх складових.
10. Уміти поєднувати теорію і практику, а також приймати рішення та виробляти стратегію діяльності для вирішення завдань спеціальності з урахуванням загальнолюдських цінностей, суспільних, державних та виробничих інтересів.
11. Уміти виконувати відповідні експериментальні дослідження та застосовувати дослідницькі навички за професійною тематикою.
12. Уміння спілкуватись, включаючи усну та письмову комунікацію українською мовою та однією з іноземних мов (англійською, німецькою, італійською, французькою, іспанською).
13. Усвідомлювати необхідність навчання впродовж усього життя з метою поглиблення набутих та здобуття нових фахових знань.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Програмування, частина 1 (Основи алгоритмізації та програмування)
Програмування, частина 2 (Об’єктно-орієнтоване програмування)
Системне програмне забезпечення
Тестування і діагностика апаратно-програмних засобів
Короткий зміст навчальної програми: Навчальна дисципліна «Кросплатформні засоби програмування» ознайомлює студентів з існуючими сучасними кросплатформними засобами програмування на прикладі кросплатформних мов програмування Java та Python. За статистикою компанії ORACLE програмне забезпечення розроблене мовою Java присутнє на більше 5,5 млрд. пристроїв. Розглядаються основи розробки та функціонування кросплатформного програмного забезпечення. Структура програми на мовах Java та Python, типи даних, константи, змінні, операції, оператори, поняття функції, масиви, рядки, класи, інтерфейси, поля, методи, області видимості, параметризовані класи і методи, рефлексія, лямбда функції, аннотації, засоби для роботи з текстовими і бінарними файлами та багато іншого.
Знання і вміння використання кросплатформних мов програмування є необхідною складовою компетентностей сучасних інженерних кадрів в галузі інформатики.
Опис: 1. Вступ до дисципліни.
2. Основні типи даних.
3. Основні операції над даними.
4. Класи у мові Java.
5. Внутрішні класи, пакети, лямбда вирази.
6. Спадкування та поліморфізм.
7. Ієрархія класів мови Java. Інтерфейси.
8. Рефлексія.
9. Аннотації.
10. Виключення.
11. Файли.
12. Параметризоване програмування.
13. Вступ до Python.
14. Розширені можливості процедурного програмування у Python.
15. Об’єктно-орієнтоване програмування у Python.
Методи та критерії оцінювання: Оцінювання знань студентів з дисципліни “Кросплатформні засоби програмування” проводиться відповідно до робочого навчального плану у вигляді семестрового контролю, який проводиться в кінці семестру і включає в себе результати поточного контролю знань студентів, який оцінюється за виконання лабораторних робіт, та контрольного заходу – відповідь на відповідний білет на іспиті. Контрольний захід є обов’язковим видом контролю і проводиться в письмово-усній формі в кінці семестру.
Критерії оцінювання результатів навчання: Письмові звіти з лабораторних робіт, усне опитування, самостійна робота (36%)
Підсумковий контроль: контрольні заходи, екзамен, письмово-усна форма (64 %)
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова
1. Хорстманн К. Java. Библиотека профессионала, том 1. Основы. 11-е издание /
К. Хорстманн; пер. с англ. – М.: Диалектика, 2020. – 864 с.: ил.
2. Хорстманн К. Java. Библиотека профессионала, том 2. Расширенные средства программирования. 11-е издание / К. Хорстманн; пер. с англ. – М.: ООО «И.Д. Вильямс», 2021. – 864 с.: ил.
3. Эккель Б. Философия Java. Библиотека программиста. 4-е издание. – СПб: Питер, 2012. – 640 с.: ил. – (Серия «Библиотека программиста»)
4. Schildt H. Java: The Complete Reference, 12th Edition. /
Herbert Schildt. – McGraw Hill, 2021. – 1280 p.
5. Lutz M. Learning Python, 5th Edition / Mark Lutz. – O’Reilly, 2013. – 1643 p.
Допоміжна
1. Васильев А. Самоучитель Java с примерами и программами (+ CD). – СПб: Наука и техника, 2011. – 352 с.
2. Васильєв О. Програмування мовою Python / Олексій Васильєв. – К: НК Богдан, 2019. – 504 с.
Інформаційні ресурси
1. Java SE Documentation at a Glance [електронний ресурс]. – Режим доступу до документації: http://www.oracle.com/technetwork/java/javase/documentation/index.html
2. Python documentation [електронний ресурс]. – Режим доступу до документації: https://docs.python.org/3/
3. Python Enhancement Proposals [електронний ресурс]. – Режим доступу до документації: https://peps.python.org/
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).