Plan studiów “JavaScript Developer” obejmuje prawie 260 godzin zajęć, prowadzonych w formie wykładów, warsztatów i pracowni komputerowych.
Kierownik merytoryczny: dr inż. Paweł Tadejko, tel. 504 142 530, e-mail: p(kropka)tadejko(at)pb.edu.pl
Zakres tematów dotyczy następujących zagadnień:
I SEMESTR
- Programowanie w języku JavaScript (wykład/pracownia: 8h/18h)
- Angular od podstaw – Programowanie aplikacji WEB (wykład/pracownia: 8h/18h)
- Framework i ekosystem React – Wprowadzenie (wykład/pracownia: 8h/18h)
- NodeJS – środowisko i technologia ServerSide 1 (wykład/pracownia: 8h/18h)
- Podstawy Agile i Scrum (wykład/pracownia: 6h/6h)
- Metodyka DevOps – produkcja i utrzymanie oprogramowania (wykład/pracownia: 3h/9h)
II SEMESTR
- Zaawansowane zagadnienia języka JavaScript (wykład/pracownia: 6h/18h)
- Zawansowane programowanie aplikacji w Angular (wykład/pracownia: 6h/18h)
- Framework i ekosystem React – Aplikacja serwerowa (wykład/pracownia: 6h/18h)
- NodeJS – środowisko i technologia ServerSide 2 (wykład/pracownia: 6h/18h)
- Wytwarzanie oprogramowania z wykorzystaniem Agile i Scrum (wykład/pracownia: 6h/6h)
- Aplikacje mobilne w technologii React Native (wykład/pracownia: 6h/15h)
Program studiów | Wykładowcy | Partner merytoryczny
Krótka charakterystyka wybranych przedmiotów
I Semestr
Programowanie w języku JavaScript
Na zajęciach słuchacze poznają składnię oraz zastosowanie języka JavaScript w standardzie ES6
Po omówieniu podstawowych zagadnień skupimy się na zagadnieniach bardziej zaawansowanych takich jak: Nested Scope, Modułowość czy funkcja zwrotne. Ostatni elementem na jakim będziemy się skupiać będzie organizacja kodu, wydajności oraz wzorce projektowe.
Angular od podstaw – Programowanie aplikacji WEB
Zdobycie podstawowej wiedzy o programowaniu w technologii Angular. Zapoznanie z architektura aplikacji opartych na komponentach. Przygotowanie do zdobywania praktycznych umiejętności wymaganych do tworzenia nowoczesnych aplikacji WEB. Zagadnienia: • Podstawy języka TypeScript; • Wprowadzenie do technologii Angular; • Zapoznanie z narzędziem Angular CLI i analiza struktury projektu; • Zapoznanie z budową komponentów; • Wyświetlanie danych w komponencie i dostępne modele komunikacji między komponentami; • Jak działają style w komponentach; • Zrozumienie działania serwisów logiki aplikacji; • Budowanie routingu w aplikacji; • Zapoznanie z implementacją formularzy; • Podział aplikację na moduły oraz wdrażanie aplikacji na produkcję
Framework i ekosystem React – Wprowadzenie
Zapoznanie się z frameworkiem React.js. Poczynając od wyjaśnienia czym jest React.js, dlaczego warto go używać oraz jakie daje możliwości w budowaniu dynamicznych aplikacji internetowych. Wyjaśnienie jak działa React.js, czym są komponenty oraz omówienie ich struktury, stanów i komunikacji miedzy nimi, zapoznanie się z składnia JSX oraz narzędziami developerskimi. Stworzenie prostej aplikacji internetowej z wykorzystaniem React.js
NodeJS – środowisko i technologia ServerSide 1
Zapoznanie się z podstawami środowiska zaprojektowanego do tworzenia wysoce skalowalnych aplikacji internetowych w języku JavaScript.
Zagadnienia: Wyjaśnienie czym jest i jak działa środowisko NodeJS. Czym jest programowanie asynchroniczne. Podstawy programowania w środowisku NodeJS. Omówienie czym jest modułu/pakiet. Stworzenie własnego modułu/pakietu.
Podstawy Agile i Scrum
Zapoznanie się z frameworkiem Scrum manifestem Agile oraz narzędziami do szacowania prac developerskich.
Przedstawienie głównych wytycznych frameworka Agile. Przedstawienie ról i odpowiedzialności członków zespołu wynikających z manifestu Agile. Przedstawienie sposobu pracy w zespole oraz nabycie umiejętności szacowania prac developerskich.
II Semestr
Zaawansowane zagadnienia języka JavaScript
Rozszerzenie wiedzy z JS o elementy bardziej zaawansowane. Skupimy się na zagadnieniach bardziej zaawansowanych takich jak: programowanie wielowątkowe, organizacja kodu oraz wzorce projektowe i wydajność.
Framework i ekosystem React – Aplikacja serwerowa
Przyjmuje się, że słuchacz opanował podstawy pracy z frameworkiem React.js. Celem jest rozszerzenie tej wiedzy oraz stworzenie aplikacji komunikującej się z serwerem.
Omówienie oraz wyjaśnienie jak działa routing, jak poprawnie zaimplementować asynchroniczna komunikacje z API. Omówienie najpopularniejszych bibliotek do zarządzania stanami, przepływu danych oraz wyjaśnienie czym jest Store. Przedstawienie dobrych praktyk pisania aplikacji. Wprowadzenie do testowania komponentów. Stworzenie aplikacji internetowej z wykorzystaniem React.js komunikującej się z API.
NodeJS – środowisko i technologia ServerSide 2
Celem przedmiotu jest zapoznanie studentów z tworzeniem aplikacji sieciowych w środowisku NodeJS.
Wprowadzenie do protokołów sieciowych. Tworzenie aplikacji sieciowych w środowisku NodeJS. Praca z wykorzystaniem framework’a Express. Stworzenie własnego mikroserwisu. Testowanie aplikacji NodeJS.
Wytwarzanie oprogramowania z wykorzystaniem Agile i Scrum
Zapoznanie się z zasadami zarządzania sprinten i wyceną szacunkową projektu. Przedstawienie sposobu tworzenia ścieżek użytkownika, zarządzania backlogiem produktowym a także przygotowaniem wyceny projektowej.
Zaawansowane programowanie aplikacji w Angular
Utrwalenie zdobytej wiedzy i umiejętności programowania Angular. Przygotowanie do tworzenia w pełni funkcjonalnych aplikacji biznesowych. Nabycie umiejętności istotnych dla doświadczonych deweloperów, dotyczących utrzymania, rozwoju kodu i pisania testów komponentów. Zagadnienia: • Konfiguracja wstrzykiwania zależności; • Cykl życia komponentu
• Zaawansowane elementy Angular: dyrektywy i potoki; • Zaawansowany routing adresów; • Komunikacja HTTP z serwerem; • Testy jednostkowe komponentów; • Optymalizacja ładowania zasobów serwera; • Refactoring aplikacji
Metodyka DevOps – produkcja i utrzymanie oprogramowania
Zapoznanie się z podstawowymi narzędziami wykorzystywanymi w pracy z JavaScriptem. Poczynając od systemów kontroli wersji, przez narzędzia utrzymujące jakość kodu, aż do narzędzi pozwalających na automatyzację zadań i postawienie swojego serwera developerskiego.
Zagadnienia: Wyjaśnienie działania systemów kontroli wersji. Zapoznanie się z narzędziami automatyzacji pracy. Wprowadzenie do narzędzi utrzymujących jakość kodu. Wprowadzenie do używania GITa, Gulp.js, Eslint
Aplikacje mobilne w technologii React Native
Celem przedmiotu jest zapoznanie studentów z tworzeniem aplikacji wieloplatformowych (cross platform) z wykorzystaniem frameworka React Native na urządzenia mobilne.
Wprowadzenie do mobilnych aplikacji wieloplatformowych. Tworzenie aplikacji mobilnych w React Native. Praca z wykorzystaniem frameworka React Native i łącznie go z aplikacją natywną na Android / iOS. Zasady współpracy pomiędzy kodem napisanym w JavaScript a częścią natywną aplikacji. Stworzenie szkieletu własnej aplikacji React Native dla Androida lub iOS.