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

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

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

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

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

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

 

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

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

 

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

 

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

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

 

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

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