Program szkoleń
Proponowany jest główny nacisk na poznanie języków obiektowych - Java/C#. W ramach szkolenia zaprezentowane zostaną też języki: Python, C++, JavaScript/HTML/CSS oraz Lua. Celem jest poznanie metodologii projektowania aplikacji przy użyciu języków obiektowych oraz zademonstrowanie różnic między językami programowania oraz ich zastosowaniem.
Moduł / Temat | Zawartość | 90h | 140h | 320h |
---|---|---|---|---|
Wprowadzenie do szkolenia i programowania: zmienne, typy, operatory, instrukcje warunkowe i pętle | Na czym polega praca programisty? Podstawy programowania: deklaracja zmiennych, typy danych, operatory arytmetyczne i logiczne, konwersje typów. Instrukcje warunkowe i pętle. | 1 | 1 | 1 |
Funkcje i podstawy obsługi wyjątków | Definicja i wywoływanie funkcji, przekazywanie parametrów, wartość zwracana. Obsługa wyjątków: try/catch/finally, rzucanie wyjątków. | 1 | 1 | 1 |
Programowanie obiektowe: klasy, obiekty, hermetyzacja | Diagramy UML. Tworzenie klas i obiektów, modyfikatory dostępu, pola i metody, konstruktorzy, zasada enkapsulacji. | 1 | 2 | 2 |
Dziedziczenie, polimorfizm, interfejsy, klasy abstrakcyjne | Mechanizmy dziedziczenia, nadpisywanie metod, polimorfizm, implementacja interfejsów, użycie klas abstrakcyjnych. | 1 | 1 | 2 |
Zasady SOLID, modularność, pakiety/namespaces | Omówienie zasad SOLID, strukturyzacja kodu w moduły, organizacja kodu w pakiety i przestrzenie nazw. | 0.5 | 0.5 | 2 |
Architektura warstwowa, MVC, dobre praktyki kodowania | Budowa aplikacji warstwowej, wzorzec MVC, separacja logiki, prezentacji i danych, konwencje kodowania. | 0 | 0.5 | 2 |
Wzorce projektowe: Singleton, Factory, Observer, MVC | Najważniejsze wzorce projektowe, ich implementacja i zastosowania. Różnice między strukturą a celem wzorców. | 0.5 | 1 | 2 |
Wielowątkowość i podstawy programowania współbieżnego | Tworzenie i zarządzanie wątkami, synchronizacja, problemy typu race condition i deadlock, wprowadzenie do tasków. | 0 | 1 | 2 |
Asynchroniczność, różnice między blokującym i nieblokującym kodem | Asynchroniczne programowanie: async/await, promisy, event loop, różnice w podejściu synchronicznym i asynchronicznym. | 0 | 0 | 1 |
Wprowadzenie do GUI (JavaFX) i ogólne zasady pracy z grafiką | Tworzenie graficznych interfejsów użytkownika w JavaFX: kontrolki, układy, obsługa zdarzeń, powiązania danych. Jak wygląda programowanie gier? | 0.5 | 1 | 2 |
Wprowadzenie do frameworka: Spring Boot / ASP.NET | Wprowadzenie do frameworków webowych: struktura aplikacji, routing, kontrolery, integracja z bazą danych. | 1 | 2 | 3 |
Wprowadzenie do innych języków: Python, JavaScript, C++ | Podstawy składni i różnice między językami, przykłady konstrukcji kodu, zastosowania poszczególnych języków. | 0.5 | 1 | 1 |
Warsztat projektowy: iteracje + wzorce. Organizacja pracy w firmach. | Iteracyjne podejście do pracy, AGILE, struktura pracy w firmie, omówienie różnych ról dookoła programisty. | 0.5 | 1 | 1 |
Refaktoryzacja i testowanie | Zasady refaktoryzacji kodu, testy jednostkowe, TDD, biblioteki testowe, analiza pokrycia testami. | 0 | 0 | 1 |
Praca z kodem asynchronicznym i testy jednostkowe | Testowanie kodu asynchronicznego, mockowanie, dobre praktyki testowania komponentów działających równolegle lub w tle. | 0 | 0 | 1 |
Sumarycznie spotkań | 8 | 12 | 24 | |
Przewidziany dodatkowy indywidualny czas z mentorem | Czas na pomoc; indywidualne omówienie projektu czy przekazanie ponadprogramowej wiedzy. | 6h | 10h | 15h |
*0.5 - oznacza, że połowa spotkania jest przeznaczona na dany temat.
Harmonogram pracy
Szkolenia indywidualne
Szkolenie 90h - 2 spotkania tygodniowo przez 4 tygodnie.
Szkolenie 140h - 3 spotkania tygodniowo przez 4 tygodnie.
Szkolenie 320h - 2 spotkania tygodniowo przez 12 tygodni.
Każde spotkanie trwa 90 minut. Dni spotkań ustalane są wspólnie. Możliwe terminy obejmuje poniższy terminarz:
Poniedziałek - 17:00-20:00
Wtorek - 16:00-20:00
Środa - 16:00-18:00
Czwartek - 17:00-20:00
Piątek - 16:00-19:00
Sobota - 10:00-13:00
Elastyczność doboru godzin i dni jest znacznie większa niż w przypadku zajęć grupowych. Można zmienić dzień i godzinę szkolenia w razie potrzeby.
Zadania praktyczne
Wymagania

Dostępna oferta szkoleń indywidualnych

Indywidualne 90 godzin
Indywidualne 8 spotkań, podczas których omawiamy elementy języka Java i podobieństwa do C#. Wspólnie wykonujemy szybki przegląd innych języków programowania. Łącznie: 18h wsparcia mentorskiego = 139 zł/h

Indywidualne 140 godzin
Indywidualne 12 spotkań, omawiamy elementy języków Java i C# oraz zasady architektury oprogramowania i omawiamy inne języku oraz ich zastosowania. Łącznie: 28h wsparcia mentorskiego = 136 zł/h

Indywidualne 320 godzin
Indywidualne 24 spotkania, podczas których dogłębnie poznajemy języki obiektowe Java i C#, czystą architekturę i wykonujemy proste projekty w innych językach. Łącznie: 51h wsparcia mentorskiego = 129 zł/h
Dokumenty
Dokumenty związane z programem szkoleń, zakresem obowiązków i zdobywanej wiedzy.