Kurs: Tworzenie aplikacji frontendowych lato 2024/25

Język wykładowy Polski
Opiekun Kamil Matuszewski
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj Kurs inżynierski
ECTS 5
Polecany dla I roku Tak
Egzamin Nie

Opis przedmiotu:

Choć frontend jest nieodłączną częścią większości aplikacji webowych, to proces jego wytwarzania znacząco zmienił się w ostatnich latach. Gwałtowny rozwój frameworków, bibliotek i preprocesorów sprawił, że programiści borykają się dziś z zupełnie innymi problemami niż jeszcze dekadę temu. Za zmianami ciężko jest nadążyć, nic więc dziwnego, że wiele osób nie rozumie z czym wiąże się rola Frontend Developera. Wykład ma na celu przybliżyć słuchaczom tę rolę i związane z nią odpowiedzialności, a także przekazać wiedzę umożliwiającą wytworzenie pierwszych frontendowych aplikacji. Poruszymy zarówno aspekty techniczne jak i te bardziej teoretyczne, by nie zależeć od konkretnych rozwiązań. Program przedmiotu będzie oparty na [Roadmapie Frontendowej](https://roadmap.sh/frontend). Przejdziemy przez interesujący podzbiór zagadnień, gdzieniegdzie dorzucając dodatkowe tematy. Poniższa lista jest oparta o poprzednią edycję wykładu, w zależności od potrzeb może ulec zmianie. 1. Wstęp, działanie internetu i HTML 1. Podstawy CSS: Box model, Składnia, Selektory, Kaskada stylów, Jednostki 1. Layout: Display, Pozycjonowanie, z-index, Float, Flex, Grid 1. Organizacja stylów (BEM), responsywność (historia i praktyka) i formularze 1. Podstawy JS: Historia, cechy charakterystyczne, typy, funkcje, obiekty, arraye, JSDoc 1. Zaawansowane koncepcje JS: This, Funkcyjny JS, Scope, Hoisting, Klasy, Error Handling i Asynchroniczność 1. Manipulacja DOM: Działanie przeglądarek, zarządzanie DOM i obsługa Eventów 1. Połączenie z API: Teoria, Fetch, Cookies, LocalStorage, CORS 1. TypeScript i NPM: Motywacja, podstawy typowania 1. Modułowość JSa, Bundlery i Transpilery 1. Framework: React 1. Framework: Vue 1. CSS-in-JS vs Preeprocesory vs Tailwind 1. Biblioteki komponentów: podejścia 1. Testowanie *Wymagania: podstawowa umiejętność programowania, podstawowa znajomość dowolnego systemu kontroli wersji*

Wykłady

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Kamil Matuszewski
cz 14:00-16:00 (s. 25) 120 85 1

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.

Pracownie

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Radosław Miernik
śr 08:00-10:00 (s. 7) 13 14 0
Łukasz Piwowar
śr 14:00-16:00 (s. 107) 13 13 2
Fateme Abbasi
grupa anglojęzyczna
śr 16:00-18:00 (s. 110) 13 7 0
Łukasz Piwowar
śr 16:00-18:00 (s. 107) 13 13 0
Fateme Abbasi
grupa anglojęzyczna zdalna
śr 18:00-20:00 (s. 110) 13 12 0
Kamil Matuszewski
cz 10:00-12:00 (s. 108) 13 12 0
Kamil Matuszewski
cz 12:00-14:00 (s. 108) 13 14 8

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Łukasz Piwowar 337 środa 12:15-14:00, pokój 337 (proszę o emaila dzień wcześniej)
Kamil Matuszewski 324 Terminy (również zdalne) dostępne po kontakcie mailowym.
Radosław Miernik 325 Zdalne lub w instytucie; proszę o wcześniejszy kontakt mailem.
Fateme Abbasi 325