Кросплатформні засоби програмування

Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.01.E.044
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: доц. Олексів Максим Васильович
Семестр: 5 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета вивчення навчальної дисципліни – одержання студентами систематизованих знань з кросплатформенної мови програмування Java та Python: етапів їх розвитку, оволодіння базовими конструкціями мов та практичними вміннями розробки та відлагодження програмного забезпечення засобами мов Java і Python, а також утилітами призначеними для роботи з ними.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: Загальні компетентності: - здатність до аналізу та синтезу; - потенціал до подальшого навчання. Фахові компетентності: - здатність використовувати сучасні методи і мови програмування для розроблення кросплатформного програмного забезпечення; - здатність створювати кросплатформне системне та прикладне програмне забезпечення; - здатність застосовувати професійно-профільовані знання й практичні навички для розв’язання типових задач спеціальності, а також експлуатації комп’ютерних систем та мереж.
Результати навчання: В результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання: 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-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: Базова 1. Cay S. Horstmann, Core Java, Volume I: Fundamentals, 12th Edition / Cay S. Horstmann. – Oracle Press, 2021 – 944 p. 2. Cay S. Horstmann, Core Java, Volume II: Advanced Features, 12th Edition / Cay S. Horstmann. – Oracle Press, 2022 – 944 p. 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.061
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: доц. Олексів Максим Васильович
Семестр: 5 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета вивчення навчальної дисципліни – одержання студентами систематизованих знань з кросплатформенної мови програмування Java та Python: етапів їх розвитку, оволодіння базовими конструкціями мов та практичними вміннями розробки та відлагодження програмного забезпечення засобами мов Java і Python, а також утилітами призначеними для роботи з ними.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: Загальні компетентності: - здатність до аналізу та синтезу; - потенціал до подальшого навчання. Фахові компетентності: - здатність використовувати сучасні методи і мови програмування для розроблення кросплатформного програмного забезпечення; - здатність створювати кросплатформне системне та прикладне програмне забезпечення; - здатність застосовувати професійно-профільовані знання й практичні навички для розв’язання типових задач спеціальності, а також експлуатації комп’ютерних систем та мереж.
Результати навчання: В результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі програмні результати навчання: 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-00 балів - атестований з оцінкою «незадовільно» - Незадовільний рівень: свідчить про елементарне володіння поняттєвим та категорійним апаратом навчальної дисципліни, загальне уявлення про зміст навчального матеріалу, часткове використання знань, умінь і навичок. В основу навчальної діяльності покладено ситуативно-прагматичний інтерес.
Рекомендована література: Базова 1. Cay S. Horstmann, Core Java, Volume I: Fundamentals, 12th Edition / Cay S. Horstmann. – Oracle Press, 2021 – 944 p. 2. Cay S. Horstmann, Core Java, Volume II: Advanced Features, 12th Edition / Cay S. Horstmann. – Oracle Press, 2022 – 944 p. 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).