ОСНОВИ РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ НА ПЛАТФОРМІ NODE.JS - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи, Інформаційне забезпечення робототехнічних систем, Інформаційні управляючі системи та технології |
Статус дисципліни | Вибіркова |
Форма навчання | очна(денна)/заочна/дистанційна |
Рік підготовки, семестр | 2 курс, весняний семестр; 3 курс, осінній семестр |
Обсяг дисципліни | 150 годин (36 годин – Лекції, 36 годин – Лабораторні, 78 години – СРС) |
Семестровий контроль/ контрольні заходи | Залік/залікова робота |
Розклад занять | http://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів | Лектор: к.т.н., Букасов Максим Михайлович bukasov@gmail.com моб. +38(068)352-41-49 Лабораторні: к.т.н., доц., Смолій Віктор Вікторович dr.v.smoliy@gmail.com |
Розміщення курсу | https://campus.kpi.ua |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Опис дисципліни. При проходженні даної дисципліни, студенти познайомляться з особливостями розроблення програмного забезпечення на платформі Node.js. На лекціях студенти отримають знання з основ як самої платформи Node.js так и мови програмування JavaScript, на який вона базується. На лабораторних заняттях студенти закріплять отримані теоретичні знання, та отримають навички створення, запуску, тестування та налагодження програм.
Предмет навчальної дисципліни: теорія і практика створення бек-енд застосунків для платформи Node.js на мові програмування JavaScript.
Міждисциплінарні зв’язки. Дисципліна Основи розробки програмного забезпечення на платформі Node.JS є дисципліною за вибором, пов’язаною з програмуванням. Дає основу для майбутніх курсів, пов’язаних з програмуванням та веб-розробкою, а саме: Front-End-програмування, WEB-технології.
Мета навчальної дисципліни. Метою навчальної дисципліни є підготовка висококваліфікованих фахівців, які володіють основами структурного програмування та об’єктно-орієнтованого програмування, та вміють розробляти веб-сервіси та веб-додатки на платформі Node.js.
Основні завдання навчальної дисципліни
Знання:
синтаксичні конструкції мови JavaScript та її стандартні бібліотеки;
фундаментальне розуміння функціонування платформи Node.js та її найважливіших модулів;
Уміння:
аналізувати поставлену задачу, обирати доцільний метод її розв'язання;
проектувати архітектуру майбутнього рішення;
писати та тестувати програми мовою JavaScript;
володіти сучасними засобами розроблення ПЗ.
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити: вміти користуватися комп’ютером на рівні користувача та адміністратора, працювати з офісними пакетами на базовому рівні, розуміти базові принципи структурного та об’єктно-орієнтованого програмування, мати досвід роботи з СУБД.
Постреквізити: Після проходження дисципліни студенти зможуть відтворити базові етапи створення програмного забезпечення з використанням платформи Node.js, а саме виконувати аналіз предметної області, будувати алгоритми розв’язання задач, обирати структури для збереження даних, писати код, проводити його налагодження та тестування в процесі створення веб-застосунків та REST-сервісів.
Зміст навчальної дисципліни
Очна форма
Лекційні заняття
Розділ 1. Загальні положення.
Розділ 2. Мова програмування JavaScript.
Розділ 3. Платформа Node.js.
Лабораторні заняття
1. Перше знайомство з мовою JavaScript та платформою Node.js.
2. Основи синтаксису JavaScript.
3. Функції у JavaScript.
4. Масиви та об'єкти.
5. ООП у JavaScript.
6. Асинхронні виклики функцій.
7. Створення веб-застосунків за допомогою фреймворку Express.
8. Створення RESTful веб-сервісів.
9. Безпека веб-застосунків.
10. Робота с БД.
11. Object-Relation Mapping.
12. Логування та тестування.
Заочна форма
Лекційні заняття
Розділ 1. Загальні положення.
Розділ 2. Мова програмування JavaScript.
Лабораторні заняття
1. Перше знайомство з мовою JavaScript та платформою Node.js.
2. Основи синтаксису JavaScript.
3. Функції у JavaScript.
Навчальні матеріали та ресурси
Базова література
Хавербеке Марейн. Выразительный JavaScript. Современное
веб-программирование. 3-е изд. – СПб.: Питер, 2020. – 480 с.
Янг А., Мек Б., Кантелон М. Node.js в действии. 2-е изд. – СПб.:
Питер, 2018. – 432 с.: ил. – (Серия «Для профессионалов»).
Васильев, Алексей Николаевич. JavaScript в примерах и задачах /
Алексей Васильев. – Москва: Издательство «Э», 2017. – 720 с.
Допоміжна література
- Э Крокфорд Дуглас. Как устроен JavaScript. — СПб.: Питер, 2019. —
304 с. — (Серия «Для профессионалов»).
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Очна форма
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1. | ЛР1. Перше знайомство з мовою JavaScript та платформою Node.js. | 2 |
2. | ЛР2. Основи синтаксису JavaScript. | 2 |
3. | ЛР3. Функції у JavaScript. | 2 |
4. | ЛР4. Масиви та об'єкти. | 2 |
5. | ЛР5. ООП у JavaScript. | 2 |
6. | ЛР6. Асинхронні виклики функцій. | 2 |
7. | ЛР7. Створення веб-застосунків за допомогою фреймворку Express. | 4 |
8. | ЛР8. Створення RESTful веб-сервісів. | 4 |
9. | ЛР9. Безпека веб-застосунків. | 4 |
10. | ЛР10. Робота с БД. | 4 |
11. | ЛР11. Object-Relation Mapping. | 4 |
12. | ЛР12. Логування та тестування. | 4 |
Заочна форма
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 |
|
2 |
|
3 |
|
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1. | ЛР1. Перше знайомство з мовою JavaScript та платформою Node.js. | 2 |
2. | ЛР2. Основи синтаксису JavaScript. | 2 |
3. | ЛР3. Функції у JavaScript. | 2 |
Самостійна робота студента/аспіранта
Очна форма
|
Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Інсталювати середовище розробки. Створити та запустити JavaScript-застосунок. | 4 |
2 | JavaScript Coding Conventions. | 4 |
3 | Замикання. | 4 |
4 | Представлення функції як об’єкт. | 4 |
5 | Об’єкти __proto__ та prototype. | 4 |
6 | Область видимості. Глобальний об’єкт. | 4 |
7 | Повторити матеріал 1-6 лекцій. | 4 |
8 | Ітератори та генератори. | 4 |
9 | Установка Node.js. | 4 |
10 | Функція process.nextTick. | 4 |
11 | Утіліта Postman. | 4 |
12 | Утіліта Swagger. | 4 |
13 | Операції з Cookie-об'єктами. | 4 |
14 | Повторити матеріал 8-13 лекцій. | 4 |
15 | Буфери та потоки даних. | 4 |
16 | Захист від SQL-ін’єкцій. | 4 |
17 | Керування транзакціями. | 4 |
18 | Unit-тестування. | 4 |
19 | Підготовка до заліку по всьому матеріалу модуля. | 6 |
**
**
Заочна форма
|
Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Інсталювати середовище розробки. Створити та запустити JavaScript-застосунок. | 4 |
2 | JavaScript Coding Conventions. | 4 |
3 | Замикання. | 4 |
4 |
|
6 |
5 |
|
6 |
6 |
|
6 |
7 |
|
6 |
8 |
|
6 |
9 |
|
6 |
10 |
|
6 |
11 |
|
6 |
12 |
Утіліта Swagger. |
6 |
13 |
Операції з Cookie-об'єктами. |
6 |
14 |
|
6 |
15 |
|
6 |
16 |
|
6 |
17 |
|
6 |
18 |
|
6 |
19 | ЛР4. Масиви та об'єкти. | 2 |
20 | ЛР5. ООП у JavaScript. | 2 |
21 | ЛР6. Асинхронні виклики функцій. | 2 |
22 | ЛР7. Створення веб-застосунків за допомогою фреймворку Express. | 4 |
23 | ЛР8. Створення RESTful веб-сервісів. | 4 |
24 | ЛР9. Безпека веб-застосунків. | 4 |
25 | ЛР10. Робота с БД. | 4 |
26 | ЛР11. Object-Relation Mapping. | 4 |
27 | ЛР12. Логування та тестування. | 4 |
30 | Підготовка до заліку по всьому матеріалу модуля. | 6 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;
на лекції викладач користується власним презентаційним матеріалом; демонструє практичну частину на комп’ютері з встановленим інтегрованим середовищем розробки; використовує гугл-диск та месенджер Telegram для викладання матеріалу поточної лекції, додаткових ресурсів, лабораторних робіт та інше; викладач відкриває доступ до певної директорії гугл-диска для скидання електронних лабораторних звітів та відповідей на МКР;
на лекції заборонено відволікати викладача від викладання матеріалу, усі питання, уточнення та ін. студенти задають в кінці лекції у відведений для цього час;
лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;
модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.);
заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів не більше 10;
штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів не більше 10.
Види контролю та рейтингова система оцінювання результатів навчання (РСО) (очна форма)
Рейтинг студента з дисципліни складається з балів, що він отримує за:
виконання та захист 12 лабораторних робіт;
виконання 2 модульних контрольних робіт (МКР);
заохочувальні та штрафні бали.
Система рейтингових балів та критерії оцінювання
Лабораторні роботи:
«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 5 балів;
«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 4 бали;
«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 3 бали;
«незадовільно», незадовільна відповідь та/або не оформлений належним чином електронний протокол до лабораторної роботи – 0 балів.
За кожне заняття запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.
Модульні контрольні роботи:
«відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 20 балів;
«добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 16 балів;
«задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 12 бали;
«незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали
– за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 1-2 бали, але в сумі не більше 10;
– презентації по СРС – від 1 до 5 балів.
Міжсесійна атестація
За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 50 балів (6 лабораторних робіт, МКР-1). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 30 балів.
За результатами 13 тижнів навчання максимально можлива кількість балів – 90 балів (10 лабораторних робіт, МКР-1, МКР-2). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 54 бали.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
RD = 12*rлаб+2*rмкр+ (rз - rш)= 12*5+2*20+ (rз - rш)=100 + (rз - rш),
де rлаб – бал за лабораторну роботу (0 … 5);
rмкр – бал за написання МКР (0 … 20);
rз – заохочувальні бали за активну участь на лекціях, презентації, участь в олімпіадах, конкурсі роботи, наукові роботи за тематикою дисципліни (0…10);
rзш – штрафні бали.
Залік:
Умовою отримання заліку є зарахування всіх лабораторних робіт та написання обох модульних контрольних робіт.
Сума балів переводиться до оцінки згідно з таблицею:
Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів | Оцінка |
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Є не зараховані лабораторні роботи або не зарахована модульна контрольна робота |
Не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
передбачена можливість закривати частину лабораторного та лекційного матеріалу шляхом здобування сертифікатам по online курсам (наприклад, COURSERA) відповідних розділів та тем дисципліни;
перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;
на початку семестру викладач аналізує існуючі курси по тематиці дисципліни та пропонує пройти відповідні безкоштовні курси студентам. Після отриманням студентом сертифікату проходження дистанційних чи онлайн курсів за відповідною тематикою, викладач закриває відповідну частину курсу (лабораторні чи лекції) за попередньою домовленістю з групою.
Робочу програму навчальної дисципліни (Силабус):
Складено доцент кафедри АУТС, к.т.н., Букасов Максим Михайлович
Ухвалено кафедрою ІСТ(протокол № 1 від 30.08.2021 р.)
Погоджено Методичною комісією факультету[1] (протокол № 1 від 30.08.2021 р.)
[1] Методичною радою університету – для загальноуніверситетських дисциплін.