Кросплатформенне програмування, рефакторінг 2

Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 3.0.
Кількість аудиторних занять: 
16 годин лекційних занять, 14 годин лабораторних занять..
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Викладач: 
к.т.н., доц. Рудніченко М. Д..
Анотація: 

Анотація навчальної дисципліни

Мета дисципліни:

формування у здобувачів вищої освіти розуміння загальних принципів кросплатформенного програмування та рефакторінгу (КПП), отримання навичок практичного застосування КПП при створенні складних програмних комплексів.

Завдання дисципліни:
  • ознайомити здобувачів вищої освіти з основними принципами кроссплатформеної розробки програмних застосувань;
  • надати вміння практичного застосування принципів та патернів рефакторингу коду; 
  • розвинути знання з використання фреймворків, бібліотек та мови програмування Javascript для розробки кроссплатформених програмних застосувань;
  • навчити здобувачів вищої освіти можливостям створення та використання веб-сервісів на базі REST API. 

 

Програмні компетентності

  • Здатність до абстрактного мислення, аналізу та синтезу.
  • Здатність застосовувати знання у практичних ситуаціях. 
  • Здатність до розуміння предметної області та професійної діяльності.
  • Здатність спілкуватися іноземною мовою.
  • Здатність  аналізувати об’єкт проектування або функціонування та його предметну область.
  • Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення ІСТ, Інтернету речей (ІоТ), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними.
  • Здатність проектувати, розробляти та використовувати засоби реалізації ІСТ та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші).
  • Здатність управляти та    користуватися    сучасними інформаційно-комунікаційними системами та технологіями (у тому числі такими, що базуються на використанні Інтернет).
  • Здатність проводити обчислювальні експерименти, порівнювати результати експериментальних даних і отриманих рішень.
  • Здатність використовувати сучасні технології проектування в розробці алгоритмічного та програмного забезпечення ІСТ.
  • Здатність оволодіти сучасними технологіями програмування та тестування програмного забезпечення.

 

Програмні результати навчання

Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в ІСТ. 

Аргументувати вибір програмних та технічних засобів для створення ІСТ на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів ІСТ.

Демонструвати знання сучасного рівня технологій інформаційних систем, практичні навички програмування та використання прикладних і спеціалізованих комп’ютерних систем та середовищ з метою їх запровадження у професійній діяльності.

Обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу ІСТ.

Здійснювати системний аналіз архітектури підприємства та його ІТ-інфраструктури, проводити розроблення та вдосконалення її елементної бази і структури.

 

Кількість аудиторних занять

16 годин лекційних занять, 14 годин лабораторних занять.

 

Форми організації освітнього процесу та види навчальних занять

  • Л – лекційні заняття;
  • ЛЗ – лабораторні заняття;
  • СРС – самостійна робота здобувача вищої освіти;
  • ПКО – поточні контрольні опитування;
  • МКР – модульна контрольна робота;
  • К – консультації.

 

Тематика та види навчальних занять

  • 1 тиждень
    • Л1. Особливості та відмінності в AngularJS [2, c.189-200; 3, c. 356- 405; 4, c. 345-352;].
    • СРС. К. 
  • 2 тиждень
    • ЛЗ1. Розробка програмного модуля  адміністрування веб-застосування "Аукціон картин". Частина 2
    • СРС. К. 
  • 3 тиждень
    • Л2. Специфіка ReactJs [1, c. 478-480; 3, c.511-528, c.533-537].
    • ПКО1. СРС. К.
  • 4 тиждень
    • ЛЗ2. Розробка модуля підтримки участі користувачів у веб-застосуванні «Аукціон картин». Частина 1
    • СРС. К. 
  • 5 тиждень
    • Л3. Можливості архітектури Flux [7, c. 211-250]. 
    • СРС. К. 
  • 6 тиждень
    • ЛЗ3. Розробка модуля підтримки участі користувачів у веб-застосуванні «Аукціон картин». Частина 2
    • СРС. К. 
  • 7 тиждень
    • Л4. Особливості VUE.JS і ахітектури MVVM [6, c.177-190; 7, c.111-154].
    • ПКО2. СРС. К. 
  • 8 тиждень
    • ЛЗ4. Розробка веб-системи адміністрування застосування «Біржа акцій». Частина 1
    • МКР1. СРС. К. 
  • 9 тиждень
    • Л5. Особливості розробки десктопних додатків на базі Javascript [5, c. 112-139; 6, c.153-171; 7, c. 300-325].
    • СРС. К. 
  • 10 тиждень
    • ЛЗ5. Розробка веб-системи адміністрування застосування «Біржа акцій». Частина 2
    • СРС. К. 
  • 11 тиждень
    • Л6. Огляд існуючих засобів тестування проектів на Javascript [6, c.88-111, c.150-160; 7, c.280-294].
    • ПКО3. СРС. К. 
  • 12 тиждень
    • ЛЗ6. Розробка функціональної частини користувача веб-застосування «Біржа акцій». Частина 1
    • СРС. К. 
  • 13 тиждень
    • Л7. Специфіка, особливості синтаксису і функціональні можливості мов Kotlin, Scala, Go, Ruby [3, c.40-79]. 
    • СРС. К. 
  • 14 тиждень
    • ЛЗ6. Розробка функціональної частини користувача веб-застосування «Біржа акцій». Частина 2 
    • ПКО4. СРС. К. 
  • 15 тиждень
    • Л8. Призначення і переваги PWA [6, с. 111–129].
    • МКР2. СРС. К.

 

Індивідуальна робота 

Не передбачена. 

 

Самостійна робота

Самостійна робота складає 60 годин. Розподіл самостійної роботи за видами навчальних робіт:

  • підготовка до лекційних занять – 30 годин;
  • підготовка до лабораторних занять – 30 годин;.

 

Умови допуску до підсумкового контролю

Підсумковим контролем з дисципліни є залік, засвоєння навчального матеріалу з дисципліни оцінюється на підставі результатів поточного та рубіжного модульного контролю. Залік отримують здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни не менш, ніж на 60 %.

 

Процедура оцінювання

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на 2 семестри по два семестрові модулі у кожному. Здобувачі протягом 6 семестру готуються до лекційних та лабораторних занять, виконують 2 модульні контрольні роботи.

Модульні контрольні роботи № 1 та № 2 виконуються у письмовій формі. Модульна робота складається з теоретичної частини (2 запитання) та практичної частини (1 задача). Відповідь на кожне теоретичне питання оцінюється максимум 10 балами. Правильне розв’язання задачі оцінюється в 10 балів.

Кожний модуль оцінюється у максимально можливі 50 балів:

Семестровий модуль № 1

  • ПКО1 та ПКО2 – на базі отриманих результатів по відповідних лабораторних роботах, оцінка за кожне 10 балів. Термін проведення 3 та 7 тижні.
  • МКР1. Модульна контрольна робота – 30 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.

Семестровий модуль № 2

  • ПКО3 та ПКО4 – на базі отриманих результатів по відповідних лабораторних роботах, оцінка за кожне 10 балів. Термін проведення 11 та 14 тижні.
  • МКР2. Модульна контрольна робота – 30 балів (15 тиждень).

Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни – 100 балів.

Підсумковим контролем з дисципліни є залік  

 

Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності. 

Виконаний не свій варіант завдання здобувачем не оцінюється.

Робота, яка виконана після встановлених викладачем термінів, не приймається.

Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0».

Під час лекції здійснювати телефонні дзвінки забороняється.

 

Літературні джерела:

  1. Крокфорд Д. Як влаштований JavaScript / Д. Крокфорд. - СПб .: Пітер, 2019. - 571 с.
  2. Морган Н. JavaScript для дітей / Н. Морган. - М .: Манн, Іванов і Фербер, 2016. - 288 с.
  3. Васильєв А. Програмування на JavaScript в прикладах і задачах / А. Васильєв. - М .: Ексмо, 2017. - 721 c.
  4. Моріц Д. Вчимося кодіть на JavaScript / Д. Моріц. - СПб .: Пітер, 2019. - 256 с.
  5. Браун Е. Вивчаємо JavaScript. Керівництво по створенню сучасних веб-сайтів / Е. Браун. СПб: Альфа-книга, 2017. - 368 с.
  6. Нікольський А.П. Jаvascript на прикладах. Практика, практика і тільки практика / А.П. Нікольський. СПб .: Наука і техніка, 2018. - 272 с.
  7. Хавербеке М. Виразний JavaScript. Сучасне веб-програмування / М. Хавербеке. - СПб .: Пітер, 2019. - 480 с.
  8. Рудніченко М.Д. Методичні вказівки до лабораторних робіт з дисципліни "кросплатформенних програмування та рефакторінг" для студентів спеціальності 126 - Інформаційні системи и технології / Укл .: М.Д. Рудніченко, Н.О. Шібаєва, Одеса. ОНПУ, 2019. - 158 с. (Електронна версія), Реєстраційний номер № 6993-РС-2019. МВ10987
  9. Рудніченко М.Д. Навчальний посібник з дисципліни "кросплатформенних програмування та рефакторінг" для студентів спеціальності 126 - Інформаційні системи и технології / Укл .: М.Д. Рудніченко, Н.О. Шібаєва, Одеса. ОНПУ, 2019. - 199 с. (Електронна версія), Реєстраційний номер № 6997-РС-2019. НП10983
  10. Гласс Р. Факти й омани професійного програмування / Р. Гласс. - СПб .: Символ-Плюс, 2007. - 240 с.
  11. Кент Б. Шаблони реалізації корпоративних додатків / Б. Кент. - М.: Вільямс, 2008. - 176 с.
  12. Керіевскі Д. Рефакторинг з використанням шаблонів (патернів проектування) / Д. Керіевскі. - М .: Вільямс, 2006. - 400 с.
  13. Макконнелл C. Досконалий код. Майстер клас / C. Макконнелл. - М .: Російська редакція, 2010. - 889 с.
  14. Мартін Р. Чистий код. Створення, аналіз і рефакторинг / Р. Мартін. - СПб .: Пітер, 2019. - 464 с.
  15. Фаулер М. Рефакторинг. Поліпшення існуючого коду / М. Фаулер. - СПб: Символ Плюс, 2003. - 432 с.
2020