Plan studiów

Plan studiów „JavaScript Developer” obejmuje prawie 260 godzin zajęć, prowadzonych w formie wykładów, warsztatów i pracowni komputerowych. Zakres tematów dotyczy następujących zagadnień:

I SEMESTR

  1. Programowanie w języku JavaScript (wykład/pracownia: 8h/18h)
  2. Angular od podstaw – Programowanie aplikacji WEB (wykład/pracownia: 8h/18h)
  3. Framework i ekosystem React – Wprowadzenie (wykład/pracownia: 8h/18h)
  4. NodeJS – środowisko i technologia ServerSide 1 (wykład/pracownia: 8h/18h)
  5. Podstawy Agile i Scrum (wykład/pracownia: 6h/6h)
  6. Metodyka DevOps – produkcja i utrzymanie oprogramowania (wykład/pracownia: 3h/9h)

II SEMESTR

  1. Zaawansowane zagadnienia języka JavaScript (wykład/pracownia: 6h/18h)
  2. Zawansowane programowanie aplikacji w Angular (wykład/pracownia: 6h/18h)
  3. Framework i ekosystem React – Aplikacja serwerowa (wykład/pracownia: 6h/18h)
  4. NodeJS – środowisko i technologia ServerSide 2 (wykład/pracownia: 6h/18h)
  5. Wytwarzanie oprogramowania z wykorzystaniem Agile i Scrum (wykład/pracownia: 6h/6h)
  6. Aplikacje mobilne w technologii React Native (wykład/pracownia: 6h/15h)

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.