Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Programowanie aplikacji w języku JavaScript Kod przedmiotu INF1PJS
Rodzaj przedmiotu obieralny
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 5
26 30 Punkty ECTS 5
Przedmioty wprowadzające Wprowadzenie do aplikacji WWW (INF1WAW),  
Cele przedmiotu

Celem przedmiotu jest zapoznanie studentów z zasadami programowania w języku JavaScript oraz jego zastosowaniem w tworzeniu nowoczesnych aplikacji internetowych. Studenci zdobędą umiejętności w zakresie projektowania, implementacji oraz optymalizacji aplikacji działających po stronie klienta oraz serwera.

Po ukończeniu kursu studenci będą potrafili wykorzystywać nowoczesne podejście do JavaScript, tworzyć dynamiczne aplikacje webowe, tworzyć aplikacje backendowe, komunikować się z bazami danych, zarządzać stanem aplikacji, stosować dobre praktyki programistyczne, wykorzystywać biblioteki i frameworki, zapewniać bezpieczeństwo aplikacji, testować i debugować aplikacje.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
Programming/software development PROG - poziom 3, 4
Systems Integration SINT - 3
Testing TEST - 3
User Experience Design HCEV - poziom 3

Treści programowe

Wykład:
1. Zaawansowane aspekty JavaScript i nowoczesne standardy.
2. Manipulacja DOM i obsługa zdarzeń.
3. Frameworki I biblioteki JavaScript – Vue.js.
4. Backend w JavaScript – Node.js i Express.js.
5. Bazy danych i API w JavaScript.
6. Testowanie i debugowanie aplikacji JavaScript.
7. Optymalizacja i bezpieczeństwo aplikacji.

Pracownia specjalistyczna:
1. Programowanie obiektowe i nowoczesne JavaScript.
2. Manipulacja DOM i interakcja użytkownika.
3. Komunikacja z serwerem i obsługa API.
4. Wprowadzenie do backendu w JavaScript (Node.js i Express.js).
5. Tworzenie dynamicznych aplikacji z wykorzystaniem frameworków.
6. Optymalizacja kodu i testowanie aplikacji.
7. Projekt zaliczeniowy – budowa kompletnej aplikacji.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,  

Forma zaliczenia

Wykład: zaliczenie pisemne w formie testu.
Pracownia specjalistyczna: indywidualna praca nad zadaniami realizowanymi na zajęciach oraz projekt zespołowy.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 zaawansowane mechanizmy języka JavaScript oraz nowoczesne technologie frontendowe i backendowe stosowane w rozwoju aplikacji webowych. INF1_W09
INF1_W14
EU2 tworzyć interaktywne aplikacje frontendowe, dynamicznie manipulując elementami DOM, obsługując zdarzenia użytkownika, wykorzystując AJAX/Fetch API do komunikacji z serwerem. INF1_U04
INF1_U05
INF1_U11
INF1_U13
EU3 tworzyć aplikacje backendowe w Node.js z wykorzystaniem Express.js, obsługiwać zapytania HTTP i integrować aplikacje z bazami danych (np. MongoDB, Firebase). INF1_U04
INF1_U05
INF1_U08
INF1_U13
EU4 testować, debugować i optymalizować aplikacje JavaScript, wykorzystując wykorzystując narzędzia dostępne w przeglądarce oraz frameworki do testów jednostkowych. INF1_U06
INF1_U13
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 zaliczenie wykładu W
EU2 ocena zadań realizowanych na zajęciach, ocena projektu Ps
EU3 ocena realizacji projektu zespołowego Ps
EU4 ocena realizacji projektu zespołowego Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach 30
2 - Udział w pracowni specjalistycznej 26
3 - Przygotowanie do zajęć z pracowni specjalistycznej 24
4 - Realizacja zadań projektowych 40
5 - Udział w konsultacjach 5
RAZEM: 125
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 61
(5)+(2)+(1)
2.4
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 90
(3)+(4)+(2)
3.6
Literatura podstawowa

Oficjalna dokumentacja JavaScript oraz poznawanych na wykładzie bibliotek i frameworków, m.in.:
1. MDN Web Docs – JavaScript i Web API: https://developer.mozilla.org/en-US/docs/
2. Vue.js – oficjalna dokumentacja: https://vuejs.org/guide/introduction.html
3. Node.js – oficjalna dokumentacja: https://nodejs.org/en/docs
4. Express.js – oficjalna dokumentacja: https://expressjs.com/

Literatura uzupełniająca

1. ECMAScript (ES6+) – specyfikacja: https://tc39.es/ecma262/
2. TypeScript – oficjalna dokumentacja: https://www.typescriptlang.org/docs/
3. Pinia – zarządzanie stanem w Vue.js: https://pinia.vuejs.org/
4. Nuxt.js – framework do budowania SSR/SPA w Vue.js: https://nuxt.com/docs/getting-started/introduction
5. MongoDB – oficjalna dokumentacja: https://www.mongodb.com/docs/
6. GraphQL – alternatywa dla REST API: https://graphql.org/learn/
7. Webpack – dokumentacja: https://webpack.js.org/concepts/
8. Jest – testowanie aplikacji JavaScript: https://jestjs.io/docs/getting-started

Jednostka realizująca Katedra Oprogramowania Data opracowania programu
Program opracował(a) dr inż. Marek Tabędzki 2025.03.03