Kurs jest przeznaczony dla rozpoczynających swoją przygodę z programowaniem. Kurs jest podzielony pięć części: programistyczne abecadło, zaawansowane aspekty języka, typescript, narzędzia backendowe w JS, projekt programistyczny. Każda z tych części jest opisana niżej. Na kurs składają się zarówno spotkania z mentorem jak i praca własna kursanta pomiędzy spotkaniami.
Praca własna kursanta pomiędzy spotkaniami
- Zapoznanie się z częścią teoretyczną dotyczącą kolejnego zagadnienia
- Rozwiązanie zadań mających utrwalić wcześniej omawiane tematy
Spotkanie z mentorem
- Omówienie kwestii wymagających dodatkowego wyjaśnienia
- Code review wykonanych przez kursanta zadań, mające na celu ukierunkowanie w stronę dobrych praktyk programistycznych
- Wprowadzenie do następnego tematu
- Wskazówki rozwiązania trudniejszych zadań
Części kursu:
1. Programistyczne abecadło
W tej części kursu przechodzimy od pierwszego Hello world, przez zmienne, typy danych, operatory, instrukcje warunkowe, pętle, obiekty i tablice aż do funkcji. Są to koncepty wspólne dla wszystkich języków programowania i dobre zrozumienie i opanowanie ich jest kluczowe aby kontynuować naukę.
2. Zaawansowane aspekty języka
Po opanowaniu przez kursanta programistycznego abecadła możemy przejść do bardziej zaawansowanych koncepcji takich jak:
- funkcje anonimowe
- programowanie asynchroniczne
- wyjątki
- testy jednostkowe
- moduły
- programowanie obiektowe
- zarządzanie zależnościami npm
- zarządzanie środowiskiem
Te zagadnienia są konieczne do omówienia, żeby być w stanie czytać i tworzyć bardziej zaawansowany kod. Jest to również istotne ze względu na to że powyższe koncepcje są używane we frameworkach/oraz bibliotekach którym poświęcona jest dalsza część kursu.
3. Typescript
Typescript jest językiem który zawiera dodatkową składnię umożliwiającą zarządzanie typami w pisanym kodzie. Jest to konieczne jeśli kod ma mieć wysoką jakość, oraz być stabilny we wdrożeniach produkcyjnych.
4. Narzędzia backendowe w JS
Ta część kursu skupia się na poznaniu narzędzi używanych do tworzenia aplikacji backendowych w JS. Może to być ExpressJS, GCP SDK, Azure SDK czy 0Auth. Wybór technologii jest zależny od potrzeb kursanta.
5. Projekt programistyczny
Najlepszym utrwaleniem wiedzy jest wykorzystanie jej w praktyce. Dlatego ostatnia część kursu to wykonanie przez kursanta samodzielnie projektu. Chodzi o napisanie od zera aplikacji, która będzie realizowała założone przez kursanta funkcjonalności. Zarówno proces koncepcyjny - czyli co ma robić aplikacja, jak i procesy tworzenia i wdrażania aplikacji będą wspierane przez mentora. Pozwoli to przećwiczyć: pisanie kodu zgodnie ze specyfikacją, zarządzanie pracą nad zadaniami, korzystanie z GIT, wdrażanie a także testowanie napisanego kodu.