Warszawska Wyższa Szkoła Informatyki

Fullstack Developer


Specjalizacja Fullstack Developer na studiach podyplomowych daje możliwość zdobycia cennych umiejętności i wiedzy z zakresu projektowania, implementacji systemów informatycznych w poszczególnych warstwach projektu.

Absolwent studiów podyplomowych:

  • zdobywa solidne umiejętności techniczne w zakresie projektowania i implementacji systemów informatycznych z wykorzystaniem popularnych obecnie paradygmatów, wzorców projektowych i dobrych praktyk z wykorzystaniem najnowszych wersji środowisk programistycznych oraz wybranych rozwiązań chmurowych oraz AI,
  • potrafi zrozumieć i analizować problemy biznesowe opisane w dokumentacji z wykorzystaniem powszechnych standardów, a następnie projektować i wdrażać rozwiązania w postaci systemów informatycznych opartych na odpowiednio dobranym stosie technologicznym zapewniającym spełnienie tychże wymagań, w tym efektywnego projektowania i zarządzania bazami danych,
  • nabywa praktycznego doświadczenie w projektowaniu i wdrażaniu systemów informatycznych,
  • ze względu na szybko zmieniającą się naturę technologii jest przygotowany do ciągłego uczenia się i adaptacji do nowych narzędzi i technik, w tym opartych na rozwiązaniach generatywnej AI,
  • jest dobrze przygotowany do podjęcia pracy w różnych rolach związanych z procesami wytwórczymi oprogramowania, takich jak backend developer, frontend developer, fullstack developer oraz posiada szereg dodatkowych umiejętności wspomagających w obszarze devops, rozumienia i współtworzenia dokumentacji projektowej, a także prawidłowej komunikacji i zarządzania w zespołach projektowych.

Zakres tematyczny oraz umiejętności uzyskane przez absolwentów w czasie studiów definiują opisy poszczególnych przedmiotów zawarte w programie.

Zaliczenie studiów: projekt dyplomowy

Kierownikiem studiów jest: dr inż. Paweł Figat pfigat@ms.wwsi.edu.pl

Studia realizowane zgodnie ze standardami projektu European Skills Alliance (ESSA)

Opis przedmiotów

l.p.Nazwa przedmiotuKrótki opis przedmiotuImię i nazwisko wykładowcyLiczba godzin Liczba ECTS
1.Modelowanie i analiza systemów informatycznychCelem przedmiotu jest zapoznanie studentów z:
– technikami zbierania wymagań, identyfikacją i rozumieniem wymagań, narzędziami case, modelami i architekturą nowoczesnych rozwiązań. Celem przedmiotu jest:
– zapoznanie i praktyczne przećwiczenie informacji w zakresie procesu zbierania wymagań w projektach informatycznych,
– omówienie wzorców architektury – MDA,
– informacje wprowadzające i porządkujące wiedzę w zakresie notacji UML oraz BPMN 2.0 ,
– notacja UML – omówienie podstawowych diagramów,
– Case Study – warsztaty w zakresie odczytywania oraz interpretacji podstawowych diagramów UML,
– elementy notacji BPMN 2.0
Sebastian
Kowalczyk
32
2.Zaawansowana inżynieria oprogramowaniaCelem przedmiotu jest przekazanie praktycznych umiejętności odczytywania dokumentacji
analitycznej stworzonej z wykorzystaniem standardów
UML I BPNN, case study
Sebastian
Kowalczyk
32
3.Podstawy i metody programowaniaCelem przedmiotu jest zapoznanie studentów z:
– przeglądem podstawowych zasad budowy aplikacji,
– wykorzystaniem zalet programowania obiektowego,
– zastosowaniem wybranych struktur danych w programowaniu,
– problematyką zarządzania pamięcią (C++, JAVA,C#),
– zasadami korzystania z Garbage Collector (JAVA,C#),
– implementacją wybranych algorytmów z uwzględnieniem aspektów złożoności pamięciowej i czasowej,
– technikami utrwalania informacji (zapis do plików, mechanizmy serializacji, zapis do bazy danych, konfiguracja ORM, podejścia database first i codefirst),
– generowanie i testowanie kodów z wykorzystaniem AI
Paweł Figat113
4.Tworzenie aplikacji z wykorzystaniem zintegrowanych środowisk programistycznych oraz AICelem przedmiotu jest zapoznanie studentów z:
– zasadami budowania aplikacji z wykorzystaniem możliwości środowisk RAD i IDE (Embarcadero, Netbeans, Visual Studio),
– projektowaniem interfejsów użytkownika,
– zasadą inkluzywności,
– dobrymi praktykami UI z naciskiem na rozwiązania desktopowe i mobilne,
– platformą NoCode, LowCode,
– generowaniem kodu, rozwiązaniami AI: Copilot, Amazon Q Developer, myninja.ai
Paweł Figat91
5. Bazy danych w projekcie systemu ITCelem przedmiotu jest zapoznanie studentów z:
– tworzeniem modeli w podejściu relacyjnym, normalizacja modelu, transakcje,
– zasadami budowy i korzystania z bazy dokumentowej w budowaniu aplikacji,
– charakterystyką, budową i wykorzystaniem bazy grafowej,
– wykorzystaniem AI do wsparcia realizacji zapytań oraz generowania danych testowych
Paweł Figat53
6.Zaawansowane projektowanie obiektoweCelem przedmiotu jest zapoznanie studentów z:
– charakterystyką paradygmatu obiektowego
– modelowaniem obiektowym z wykorzystaniem języka UML,
– projektowaniem architektury systemu IT z wykorzystaniem technik obiektowych,
– technologią tworzenia oprogramowania wspierających paradygmat obiektowy,
– charakterystyką wzorców projektowych wykorzystywanych w programowaniu obiektowym,
– utworzeniem przykładowej aplikacji Backend, stosując techniki obiektowe,
– Case Study – warsztaty z tworzenia własnej aplikacji Backend przy wykorzystaniu technik obiektowych,
– wzorcami projektowymi i architektonicznymi aplikacji, zasady: SOLID, CUPID, GRASP,
– zasadami dokumentowania kodu, autodokumentowaniem
Michał Styś104
7.Programowanie współbieżneCelem przedmiotu jest zapoznanie studentów z zasadami:
– tworzenia aplikacji wielowątkowych,
– synchronizacji,
– zakleszczenia (JAVA),
– programowania agentowego
Paweł Figat31
8.Testowanie
jednostkowe
Cele kształcenia w ramach przedmiotu obejmują:
– zrozumienie i praktyczne umiejętności w zakresie tworzenia, implementacji i utrzymania testów jednostkowych w oprogramowaniu.
Studenci powinni nabyć umiejętności:
– projektowania testów,
– identyfikacji różnych typów testów jednostkowych oraz ich zastosowania w procesie tworzenia oprogramowania.
Dodatkowym elementem jest zrozumienie znaczenia testowania jednostkowego w ramach procesów ciągłej integracji i wdrażania (CI/CD) oraz umiejętność efektywnego korzystania z narzędzi wspierających proces testowania jednostkowego.
Michał Styś22
9.Projektowanie aplikacji i
stron internetowych
Celem przedmiotu jest zapoznanie studentów z zasadami:
– tworzenia makiet,
– dobrych praktyk UX,
– RWD (responsywność rozwiązań),
– standardu WCAG i narzędziami do audytowania dostępności cyfrowej
Marcin
Panawa
41
10.Tworzenie aplikacji i
stron internetowych
Celem przedmiotu jest zapoznanie studentów z:
– zasadami tworzenia rozwiązania dla warstwy frontendowej (JavaScript + Typescript),
– tworzeniem rozwiązań webowych z wykorzystaniem: JSP, REST API,
– testowaniem API (POSTMAN),
– wprowadzeniem do frameworków Angular i React
Marcin
Panawa
164
11.Przykłady wykorzystania i zarządzanie usługami chmurowymi nowoczesnych aplikacjiCelem przedmiotu jest zapoznanie studentów z:
– przykładami wykorzystania usług chmurowych nowoczesnych aplikacji,
– dobrymi praktykami w zakresie zarządzania usługami chmurowymi: monitorowanie, logowanie, zarządzanie zdarzeniami, skalowanie dynamiczne, optymalizacja kosztów
Darek Pałka102
12.Metody i narzędzia CI &
CD w procesach
tworzenia
oprogramowania
Celem przedmiotu jest:
– omówienie podejścia DevOps w projektach IT,
– przedstawienie narzędzi oraz technologii wspierających paradygmat DevOps,
– zapoznanie z technologią konteneryzacji oraz orkiestracji kontenerów – Docker, Docker Swarm, Kubernetes,
– przedstawienie automatyzacjai oraz skalowania aplikacji w kontenerach – Kubernetes,
– poznanie środowiska CI/CD – Jenkins, GitLab,
– przedstawienie systemów kontroli wersji – Git,
– Case Study – organizacja pipeline CI/CD
Michał Styś92
13.Podstawy zarządzania zespołem projektowym z wykorzystaniem metodologii zwinnychCele kształcenia:
– zapoznanie studentów z istotą podejścia zwinnego do projektów wytwarzania oprogramowania na przykładach znanych podejść i metodyk zwinnych: SCRUM®, DevOps®, SAFe®),
– przedstawienie zwinnego zarządzania zespołem projektowym w projektach wytwarzania oprogramowania,
– pozyskanie przez studentów podstawowych umiejętności zarządzania zespołem projektowym z wykorzystaniem metodologii zwinnych (model 3.0),
– rozwijanie umiejętności wspierających zwinny zespół projektowy (przykłady)
Waldemar Łabuda81
14.Seminarium dyplomoweCelem przedmiotu jest zapoznanie studentów z zasadami przygotowania i prezentacji projektu dyplomowegoPaweł Figat02

Harmonogram

Terminy zajęć/ semestr 1Tryb
1. 9-10.11.2024Stacjonarnie
2. 23-24.11.2024Zdalnie
3. 7-8.12.2024Zdalnie
4. 21-22.12.2024Zdalnie
5. 11-12.01.2025Zdalnie
6. 18-19.01.2025Zdalnie
7. 1-2.02.2025Zdalnie
8. 15-16.02.2025Stacjonarnie

Pierwszy i ostatni zjazd w każdym semestrze odbędzie się stacjonarnie w uczelni. Pozostałe spotkania będą prowadzone online przy użyciu aplikacji Teams.