Теорії мереж інтернет - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інформаційне забезпечення робото технічних систем
Статус дисципліни Нормативна
Форма навчання очна(денна)
Рік підготовки, семестр 4 курс, осінній семестр
Обсяг дисципліни 4 кредити 120 годин (18 годин – Лекції, 18 годин – Практичних)
Семестровий контроль/ контрольні заходи Екзамен
Розклад занять http://rozklad.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів

Лектор, лабораторні: к.т.н., доцент Батрак Євгеній Олександрович,

batrakeo@tk.kpi.ua

моб. +38(050)355-62-15

Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

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

Опис дисципліни. При проходженні даної дисципліни студенти ознайомляться з поняттям «Теорії мереж інтернет». На лабораторних заняттях опанують етапи Js та React. В курсі передбачений контроль якості отриманих знань у вигляді експрес-контрольних та модульних контрольних робіт. На лекціях проводитимуться практичні групові заняття.

Предмет навчальної дисципліни: основні поняття веб програмування та базові навички JS, послідовність розробки інформаційних, корпоративних сайтів, створення адаптивного дизайну, використання бібліотеки React.

Міждисциплінарні зв’язки. Дисципліна для підготовки бакалаврів за спеціальністю «Інформаційні системи та технології», яка відноситься до циклу професійної підготовки та зв’язана з ЗО-13 «комп’ютерні мережі» та забезпечує вивчення дисципліни ЗО-11 «Проектування інформаційних систем» опановуючи JS, React розвиваючи навички фронт-енд підготовки.

Мета навчальної дисципліни. Метою викладання даної дисципліни є набуття студентами даної спеціальності вмінь виконувати: розробку проекту, верстку, програмування.

Основні завдання навчальної дисципліни

Знання:

  • написання сценарію web-сторінок, та створення веб-застосунків;

  • створення веб-застосунку на React;

  • програмування на стороні node.js;

Уміння:

  • проводити аналіз коду;

  • оцінити опис коду;

  • виконувати перетворення з покращенням коду;

  • аналіз отриманих результатів.

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Пререквізити: вміти користуватися комп’ютером на рівні адміністратора, базові знання в області програмування, базові знання дизайну.

Постреквізити: проектування та реалізація складних проєктів.

Після проходження дисципліни студенти зможуть відтворити базові етапи створення web ресурсів, а саме виконувати аналіз предметної області, розробляти макет сайту, виконувати верстку ( front end), розміщувати сайт на хостингу, навички в js та робота з бібліотекою React.

Зміст навчальної дисципліни

Лекційні заняття

Розділ 1. JavaScript Essential

Розділ 2. JavaScript Advanced

Розділ 3. React JS

Практичні заняття

1. Логічні структури, Масиви, Функції, об’єкти;

2. React, NodeJS;

3. Верстка макету;

4. Deploy project.

Навчальні матеріали та ресурси

Базова література

1. https://developer.mozilla.org

2. https://reactjs.org/

3. https://github.com/facebook/react

4. https://habr.com/ru/company/ruvds/blog/519902/

5. https://habr.com/ru/

Допоміжна література

1. JavaScript: The Good Parts («JavaScript. Сильные стороны»)

2. You Don’t Know JS («Вы не знаете JS»)

3. Eloquent JavaScript: A Modern Introduction to Programming («Выразительный Javascript»)

4. Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript («Сила JavaScript. 68 способов эффективного использования JS»)

5. JavaScript: The Definitive Guide («JavaScript. Подробное руководство»)

6. Secrets of the JavaScript Ninja («Секреты JavaScript ниндзя»)

7. JavaScript Patterns: Build Better Applications with Coding and Design Patterns («JavaScript. Шаблоны»)

8. The Principles of Object-Oriented JavaScript («Принципы ООП в Javascript»)

9. Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Moderns JS Libraries («Программирование приложений на JavaScript. Устойчивая веб-архитектура с помощью Node, HTML5 и современных JS-библиотек»)

10. Beginning JavaScript («JavaScript. Основы»)

11. Марин Хауэрбеке «Элегантный JavaScript»

12. Коди Линдли «JavaScript просветление»

13. Эдди Османи «Изучаем паттерны проектирования JavaScript»

14. Илья Кантор «Современный учебник JavaScript»

15. Хенрик Йоретег «Человеческий JavaScript»

16. Аксель Раушмайер «Говорить на JavaScript»

17. Герд Вагнер «Создание клиентских веб-приложений на простом JavaScript»

18. Эрик Эллиот «Программируем JavaScript-приложения»

19. Микито Такада «Одностраничные приложения со всех сторон»

20. Коди Линдли «DOM просветление»

21. «Вы не знаете JS» (серия)

22. https://developer.mozilla.org/uk/

23. Дэвид Флэнаган JavaScript: карманный справочник

24. Крис Минник, Ева Холланд JavaScript для чайников

25. Этан Браун Изучаем JavaScript: руководство по созданию современных веб-сайтов.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Надається інформація (за розділами, темами) про всі навчальні заняття (лекції, практичні, семінарські, лабораторні)

Лекційні заняття

№ з/п Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1

Лекція 1 Розділ 1. JavaScript Essential

Тема 1. Введення в JS

Тема 2. Логічні структури

Тема 3. Масиви, Функції, об’єкти

2

Лекція 2 Розділ 2. JavaScript Advanced

Тема 1. Конструктори і прототипи

Тема 2. Робота з документами

Тема 3. Об’єкти window. Регулярні вирази

Тема 4. JS + CSS

Тема 5. Події та обробка подій частина 1-2

3

Лекція 3 Розділ 2. JavaScript Advanced

Тема 6. Форми і елементи форми

Тема 7. Cookies і збереження даних на стороні клієнта

Тема 8. Робота з зображенням на стороні клієнта

Тема 9. AJAX і HTTP протокол

4

Лекція 4 Розділ 3. React

Тема 1. Введення в React; NodeJS, create-react-app, SPA, Компоненти, import/export, CSS, Props, route, browser-router– маршрутизація

5

Лекція 5 Розділ 3. React

Тема 2. User Interface (UI) Business Logic Layer(BLL), Component, render, onClick, ref, VirtualDOM, Callback, subscribe, observer, ООП, Dispatch, action.

6

Лекція 6 Розділ 3. React

Тема 3. Action creator, action type, reducer, redux, Container component, connet, mapStateToProps, mapDispatchToProps, Side Effect, класові компоненти, life

cycle methods, pagination.

7.

Лекція 7 Розділ 3. React

Тема 4. Презентаційна і Контейнерна компоненти, Preloader, loader-gif, isFetching, withRoute, props.match.params, cookie, login – теорія, follow-unfollow, Data access layer (DAL) axios.create, button disabled(follow/unfollow).

8

Лекція 8 Розділ 3. React

Тема 5. Redux-thunk, Redirect, High Order Component (hoc), compose, setState, local state, componentDidUpdate, redux-form (login), Login logout, stopSubmit (redux-form), hook, useState – hook, useEffect – хук.

9

Лекція 9 Розділ 3. React

Тема 6. ShouldComponentUpdate, PureComponent, memo – React JS, Pure function, Тести – jest, tdd, reducer, redux-ducks, Deploy project.

Практичні заняття

Назва практичних робіт Кількість ауд. годин
1 Практична робота 1. Розділ 1. Логічні структур, Масиви, Функції, об’єкти, Конструктори і прототипи, Робота з документами, Об’єкти window. Регулярні вирази, JS + CSS. 2
2 Практична робота 2. Розділ 2. Події та обробка подій частина 1-2, Форми і елементи форми, Cookies і збереження даних на стороні клієнта, Робота з зображенням на стороні клієнта, AJAX і HTTP протокол, Робота з DOM-деревом, події та обробка подій. 2
3 Практична робота 3. Розділ 3. React; NodeJS, create-react-app, SPA, Компоненти, import/export, CSS, Props, route, browser-router– маршрутизація. 2
4 Практична робота 4. Розділ 4. User Interface (UI) Business Logic Layer(BLL), Component, render, onClick, ref, VirtualDOM, Callback, subscribe, observer, ООП, Dispatch, action. 2
5 Практична робота 5. Розділ 5. Action creator, action type, reducer, redux, Container component, connet, mapStateToProps, mapDispatchToProps, Side Effect, класові компоненти, life cycle methods, pagination. 2
6 Практична робота 6. Розділ 6. Презентаційна і Контейнерна компоненти, Preloader, loader-gif, isFetching, withRoute, props.match.params, cookie, login – теорія, follow-unfollow, Data access layer (DAL) axios.create, button disabled(follow/unfollow). 2
7 Практична робота 7. Розділ 7. Redux-thunk, Redirect, High Order Component (hoc), compose, setState, local state, componentDidUpdate, redux-form (login), Login logout, stopSubmit (redux-form), hook, useState – hook, useEffect – хук. 2
8 Практична робота 8. Розділ 8. ShouldComponentUpdate, PureComponent, memo – React JS, Pure function, Тести – jest, tdd, reducer, redux-ducks. 2
9 Практична робота 9. Розділ 9. Deploy project. 2
10 Екзамен

Самостійна робота студента

№ з/п

Назва розділу, теми (окремого питання), що виноситься

на самостійне опрацювання

Кількість годин СРС

1

Розділ 1. Логічні структур, Масиви, Функції, об’єкти, Конструктори і прототипи, Робота з документами, Об’єкти window. Регулярні вирази, JS + CSS.

10

2

Розділ 2. Події та обробка подій частина 1-2, Форми і елементи форми, Cookies і збереження даних на стороні клієнта, Робота з

зображенням на стороні клієнта, AJAX і HTTP протокол, Робота з DOM-деревом, події та обробка подій.

10

3

Розділ 3. React; NodeJS, create-react-app, SPA, Компоненти, import/export, CSS, Props, route, browser-router– маршрутизація

10

4

Розділ 4. User Interface (UI) Business Logic Layer(BLL), Component, render, onClick, ref, VirtualDOM, Callback, subscribe, observer, ООП, Dispatch, action.

10

5

Розділ 5. Action creator, action type, reducer, redux, Container component, connet, mapStateToProps, mapDispatchToProps, Side Effect, класові компоненти, life cycle methods, pagination.

10

6

Розділ 6. Презентаційна і Контейнерна компоненти, Preloader, loader-gif, isFetching, withRoute, props.match.params, cookie, login – теорія, follow-unfollow, Data access layer (DAL) axios.create, button disabled(follow/unfollow).

10

7

Розділ 7. Redux-thunk, Redirect, High Order Component (hoc), compose, setState, local state, componentDidUpdate, redux-form (login), Login logout, stopSubmit (redux-form), hook, useState – hook, useEffect – хук.

10

8

Розділ 8. ShouldComponentUpdate, PureComponent, memo – React JS, Pure function, Тести – jest, tdd, reducer, redux-ducks.

10

9

Розміщення проекту на github.

4

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Зазначається система вимог, які викладач ставить перед студентом:

  • правила відвідування практичних занять:

виконання практичної роботи в аудиторії у присутності викладача (на період карантину – в дистанційному режимі);

  • правила поведінки на заняттях:

підготовка коротких доповідей та відключення телефонів;

правила захисту практичних робіт:

відповіді на запитання, та звіт до практичної роботи;

  • правила призначення заохочувальних та штрафних балів:

Заохочувальні до 4 балів у разі залучення додаткових коментарів, що ширше розкривають відповіді на запитання.

Максимальна кількість балів за роботу зменшується, якщо:

  • студент не знає частини теоретичного матеріалу –1..–3 бали;

  • не виконано попередню підготовку до роботи –1..–2 бали;

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Вказуються всі види контролю та бали за кожен елемент контролю:

Поточний контроль: контрольні роботи.

Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.

Семестровий контроль: екзамен

Умови допуску до семестрового контролю: Необхідною умовою допуску до екзамену є зарахування розрахункової роботи та всіх практичних робіт, а також стартовий рейтинг (rC) не менше 60 % від R, тобто 60 балів.

Рейтинг студента з дисципліни складається з балів, що він отримує за:

  1. виконання та захист 9 практичних робіт;

  2. одна контрольна роботу;

  3. відповідь на екзамені (у разі відсутності автоматизованого рейтингу).

Система рейтингових (вагових) балів та критерії оцінювання

  1. Робота на практичних заняттях

Вагові бали за практичні роботи:

1 – 9 робіт max 6 балів за одну роботу.

Максимальна кількість балів на всіх лабораторних заняттях дорівнює:

6 балів × 9 = 54 балів.

Максимальна кількість балів за роботу зменшується, якщо:

  • студент не знає частини теоретичного матеріалу –1..–3 бали;

  • не виконано попередню підготовку до роботи –1..–2 бали;

  1. Поточний контроль

Ваговий бал - 10. Максимальна кількість балів за контрольну роботу дорівнює

10 бал × 1 = 10 балів.

В кожному варіанті контрольної роботи містяться завдання різного рівня складності, в залежності від якого вони при правильному виконанні оцінюються від 3 до 5 балів (вони вказані біля кожного завдання окремо). Максимальна кількість балів за завдання зменшується на 5 балів, якщо дано правильну, але неповну відповідь; на 2 бал, якщо дано правильну відповідь, але допущено несуттєву помилку.

Штрафні та заохочувальні бали за:

  • відсутність на занятті без поважної причини -2 бали;

  • несвоєчасне подання практичних робіт або КР -2 бали;

  • виконання завдань із удосконалення дидактичних матеріалів з дисципліни надається від 1 до 6 заохочувальних балів.

Розрахунок шкали (R) рейтингу

Сума вагових балів контрольних заходів протягом семестру складає:

RС = 54+ 10 +6 = 70 балів.

Заохочувальні до 6 балів.

Таким чином, рейтингова шкала з дисципліни складає R = 70+ 30 = 100 балів.

Необхідною умовою допуску до екзамену є зарахування розрахункової роботи та всіх практичних робіт, а також стартовий рейтинг (rC) не менше 60 % від R, тобто 60 балів.

Для отримання студентом відповідних оцінок (ЕСТS та традиційних) його рейтингова оцінка R переводиться згідно з таблицею:

R оцінка ЕСТS традиційна оцінка
95…100 A відмінно
85…94 B дуже добре
75…84 C добре
65…74 D задовільно
60…64 E достатньо
R < 60 Fx незадовільно
rС < 25 або не виконано інші умови допуску до екзамену F не допущений
  • передбачена можливість закривати частину практичного та лекційного матеріалу шляхом здобування сертифікатам по online курсам відповідних розділів та тем дисципліни;

Робочу програму навчальної дисципліни (Силабус):

Складено доцент, к.т.н., доцент Батрак Євгеній Олександрович

Ухвалено кафедрою ІСТ(протокол № 1 від 30.08.2021 р.)

Погоджено Методичною комісією факультету[1] (протокол № 1 від 30.08.2021 р.)

[1] Методичною радою університету – для загальноуніверситетських дисциплін.