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

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

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

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

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

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

 

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

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

 

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

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

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

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

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

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

 

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

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

 

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

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

 

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

  • 1 тиждень
    • ЛЗ1. Вступ до мови Javascript. Частина 1 
    • ЛЗ2. Вступ до мови Javascript. Частина 2
    • СРС. К.
  • 2 тиждень
    • Л1. Особливості і переваги html 5, сss 3 та javascript. [1, c. 40- 62; 2, c. 31- 70].
    • ЛЗ3. Особливості обробки масивів у Javacript. Частина 1
    • СРС. К.
  • 3 тиждень
    • ЛЗ4. Особливості обробки масивів у Javacript. Частина 2
    • ЛЗ5. Робота з об’єктами та ООП у Javascript. Частина 1
    • ТКО1. СРС. К.
  • 4 тиждень
    • Л2. Можливості використання json [1, c. 99- 120; 2, с. 70-99; 3, c.111-123]
    • ЛЗ6. Робота з об’єктами та ООП у Javascript. Частина 2
    • СРС. К.
  • 5 тиждень
    • ЛЗ7. Регулярні вирази при розробці застосувань на мові Javascript. Частина 1
    • ЛЗ8. Регулярні вирази при розробці застосувань на мові Javascript. Частина 2 
    • СРС. К.
  • 6 тиждень
    • Л3. Огляд популярних фрейморків javascript [1, c. 150- 165; 3, c.40-44; 4, c. 68- 91].
    • ЛЗ9. Основи використання платформи Nodejs. Частина 1
    • СРС. К.
  • 7 тиждень
    • ЛЗ10. Основи використання платформи Nodejs. Частина 2
    • ЛЗ11. Розробка інтерактивних застосувань засобами Javascript. Частина 1
    • ТКО2. СРС. К.
  • 8 тиждень
    • Л4. Взаємодія компонентів розподілене кроссплатформенних застосувань на базі restfull api [5, c. 215-234; 6, c.37-60].
    • ЛЗ12. Розробка інтерактивних застосувань засобами Javascript. Частина 2
    • МКР1. СРС. К.
  • 9 тиждень
    • ЛЗ13. Rest-застосування управління електронною бібліотекою. Частина 1
    • ЛЗ14. Rest-застосування управління електронною бібліотекою. Частина 2
    • СРС. К.
  • 10 тиждень
    • Л5. Основні функціональні бібліотеки для розширення можливостей javascript [1, c. 231-238; 2, c.98-116; 4, c. 92- 113].
    • ЛЗ15. Розробка програмного модуля  адміністрування веб-застосування "Аукціон картин". Частина 1
    • СРС. К.
  • 11 тиждень
    • ЛЗ16. Розробка програмного модуля  адміністрування веб-застосування "Аукціон картин". Частина 2
    • ЛЗ17. Розробка модуля підтримки участі користувачів у веб-застосуванні «Аукціон картин». Частина 1    
    • ТКО3. СРС. К.
  • 12 тиждень
    • Л6. Можливості backend розробки на платформі nodejs [1, c. 187-211; 4, c.156-188; 6, c. 70- 95].
    • ЛЗ18. Розробка модуля підтримки участі користувачів у веб-застосуванні «Аукціон картин». Частина 2
    • СРС. К.
  • 13 тиждень
    • ЛЗ19. Розробка веб-системи адміністрування застосування «Біржа акцій». Частина 1
    • ЛЗ20. Розробка веб-системи адміністрування застосування «Біржа акцій». Частина 2
    • СРС. К.
  • 14 тиждень
    • Л7. Менеджери завдання і системи автоматичної збірки проектів в javascript [1, c. 222-245; 2, c.116-122; 3, c. 300-310].
    • ЛЗ21. Розробка функціональної частини користувача веб-застосування «Біржа акцій». Частина 1
    • ТКО4. СРС. К.
  • 15 тиждень
    • ЛЗ22. Розробка функціональної частини користувача веб-застосування «Біржа акцій». Частина 2  
    • ЛЗ23. Розробка функціональної частини користувача веб-застосування «Біржа акцій». Частина 3
    • МКР2. СРС. К.

 

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

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

 

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

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

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

 

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

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

Екзамен відбувається за всіма тематичними (змістовними) модулями дисципліни.

 

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

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на два семестрові модулі. Здобувачі протягом семестру готуються до лекційних та лабораторних занять, виконують 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 балів.

Підсумковим контролем з дисципліни є усний екзамен, білет до якого складається з теоретичної частини (3 запитання) та практичної частини (1 задача). Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 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 с.
     
2017 рік