Java w 12 tygodni! Bootcamp Zajavka
What you'll learn
- Nauczysz się fundamentów Java na bardzo wysokim poziomie
- Poznasz kluczowe i ponadczasowe koncepcje programistyczne
- Zaprzyjaźnisz się z tworzeniem kodu
- Będziesz potrafić rozwiązywać problemy programistyczne
Requirements
- Zaczynam od początku, więc nie musisz mieć doświadczenia programistycznego
- Możesz znać inny język programistyczny lub podstawy Javy
Description
Czy marzysz o karierze jako Java Developer? Mój kurs jest idealnym rozwiązaniem dla Ciebie! Zaprojektowałem go z myślą o początkujących. Kurs prowadzi uczestników od podstawowych zagadnień aż do zaawansowanych technik programowania w Javie.
Ten kurs (bootcamp) w skrócie to:
Podstawy Javy: Poznasz JDK, JRE, JVM, instalację i konfigurację narzędzi.
Programowanie obiektowe: Zrozumiesz klasy, obiekty, dziedziczenie, polimorfizm i wiele więcej.
Praktyczne projekty: Zbudujesz funkcjonalny kalkulator kredytu hipotecznego.
Zaawansowane tematy: Kolekcje, lambdy, wyrażenia regularne, zarządzanie pamięcią.
Dodatkowe materiały (podsumowania dzienne i tygodniowe) Regularne podsumowania dzienne i tygodniowe i wyjaśnienia z Bartkiem Borowczykiem i Bartkiem Kowalczykiem.
A cały plank kursu, który określam też Bootcampem wygląda tak:
TYDZIEŃ 1
Dzień #1 - Przywitanie z Javą
Wstęp do języka - materiały promocyjne: Krótkie wprowadzenie do Javy, dlaczego jest popularna i jakie są jej główne zalety.
Po co Ci ten Bootcamp? Co da się zrobić po jego ukończeniu?: Omówienie celów kursu i korzyści, jakie uczestnicy mogą osiągnąć po jego ukończeniu.
W jakich sytuacjach wykorzystuje się Java w praktyce?: Przegląd różnych zastosowań Javy w przemyśle, od aplikacji webowych po systemy embedded.
Ile osób pracuje w Javie?: Statystyki dotyczące liczby programistów Javy na świecie.
Po co się w ogóle tego uczyć?: Motywacja do nauki Javy, potencjalne ścieżki kariery i zarobki.
Sposób myślenia - jak myśleć jak programista?: Wprowadzenie do sposobu myślenia, który pomaga w skutecznym programowaniu.
Środowisko pracy: Omówienie, jakie narzędzia i oprogramowanie będą potrzebne do nauki i pracy.
Jakie narzędzia będą nam potrzebne?: Lista narzędzi, które uczestnicy powinni zainstalować i skonfigurować.
Dzień #2 - JDK, JRE, JVM, wersje i providerzy
Czym jest JDK, JRE, JVM?: Wyjaśnienie różnic między Java Development Kit (JDK), Java Runtime Environment (JRE) i Java Virtual Machine (JVM).
Czym jest SE EE ME FX?: Przegląd różnych edycji Javy: Standard Edition (SE), Enterprise Edition (EE), Micro Edition (ME) i JavaFX.
To są providerzy JDK?: Omówienie różnych dostawców JDK, takich jak Oracle, OpenJDK, Amazon Corretto itp.
Jak działa wersjonowanie w Java?: Wyjaśnienie systemu wersjonowania Javy, co oznaczają numery wersji i jakie są różnice między wersjami.
Dzień #3 - Instalacja i konfiguracja Javy oraz IntelliJ IDEA
Instalacja JDK - weryfikacja instalacji: Praktyczny przewodnik po instalacji JDK na różnych systemach operacyjnych oraz weryfikacja instalacji.
Czym jest kompilacja i kompilator? Uruchomienie Javy z terminala: Wyjaśnienie procesu kompilacji kodu źródłowego Javy i jak uruchomić programy Java z terminala.
Instalacja IntelliJ: Krok po kroku proces instalacji IntelliJ IDEA, jednego z najpopularniejszych IDE dla Javy.
Środowisko pracy - test 1: Ustawienia początkowe w IntelliJ IDEA, pierwsze uruchomienie i konfiguracja projektu.
Dzień #4 - Omawiamy IDE
IntelliJ IDEA: Szczegółowe omówienie funkcji IntelliJ IDEA, jak efektywnie korzystać z narzędzi dostępnych w IDE, skróty klawiszowe i personalizacja środowiska.
Dzień #5 - Metoda main, słowa zastrzeżone, komentarze
A więc chcesz programować?: Wprowadzenie do pierwszego programu w Javie.
Zaczynamy kodowanie! Metoda main(): Szczegółowe omówienie metody main(), punktu wejścia do programu Java.
Komentarze: Jak i kiedy używać komentarzy w kodzie.
TODO i FIXME: Konwencje oznaczania zadań do wykonania i problemów do rozwiązania w kodzie.
package & import: Wyjaśnienie, czym są pakiety i jak używać instrukcji import.
Java keywords: Przegląd słów kluczowych w Javie.
Test 2 - A więc chcesz programować?: Sprawdzian wiedzy z materiału z pierwszego tygodnia.
Zadania 1 - z rozwiązaniami: Zadania praktyczne do samodzielnego rozwiązania oraz omówienie rozwiązań.
Notatki 1 - Wprowadzenie: Podsumowanie najważniejszych informacji i notatki do dalszej nauki.
TYDZIEŃ 2
Dzień #6 - Abstrakcyjne koty
Totalna abstrakcja - drukowanie kotów | Pierwszy program - podejdź do tego materiału z dystansem: Lekka i humorystyczna forma wprowadzenia do abstrakcji w programowaniu poprzez zabawny program drukujący koty.
Dzień #7 - Zmienne (Variables)
Zmienne: Podstawy zmiennych w Javie, jak je deklarować i inicjalizować.
Jak zapisywane są zmienne w pamięci: Wyjaśnienie, jak zmienne są przechowywane w pamięci komputera.
Co to jest zmienna: Definicja zmiennej, jej typy i właściwości.
Typy prymitywne: Omówienie typów prymitywnych w Javie, takich jak int, float, char, boolean itp.
Dzień #8 - cd. zmiennych oraz String
Mogę przypisać zmienną do zmiennej?: Wyjaśnienie przypisywania wartości jednej zmiennej do innej.
Słówko final: Omówienie słowa kluczowego final i jego zastosowanie.
Rzutowanie: Wprowadzenie do rzutowania typów w Javie.
String i string pool: Omówienie klasy String, zarządzania pamięcią dla stringów (string pool).
Konkatenacja stringów: Metody łączenia stringów.
Dzień #9 - String intern, metody klasy String, var, czym jest metoda
String.intern(): Wyjaśnienie metody intern() i jej zastosowanie.
Ważne metody z klasy String: Przegląd kluczowych metod klasy String.
Konwencja nazewnictwa: Standardy nazewnictwa zmiennych, metod i klas w Javie.
Formatowanie i drukowanie Stringów: Techniki formatowania i wyświetlania stringów.
Czym jest var?: Wprowadzenie do typu var w Javie.
Czym jest metoda?: Definicja i struktura metody w Javie.
Zasięg i cykl życia zmiennych - na przykładzie metod: Omówienie zakresu i cyklu życia zmiennych.
Dzień #10 - Operatory
Operatory: Wprowadzenie do operatorów w Javie.
Operatory arytmetyczne - dodawanie, odejmowanie itp.: Przegląd podstawowych operatorów arytmetycznych.
Kolejność operatorów: Zasady kolejności wykonywania operatorów.
Numeric promotion: Wyjaśnienie promocji numerycznej.
Operatory relacji: Omówienie operatorów relacyjnych.
Operatory logiczne: Przegląd operatorów logicznych.
Operatory bitowe: Omówienie operatorów bitowych.
TYDZIEŃ 3
Dzień #11 - Kończymy operatory i zaczynamy instrukcje sterujące
Złożone operatory przypisania: Wyjaśnienie złożonych operatorów przypisania.
Test 4 - Operatory: Sprawdzian wiedzy o operatorach.
Zadania 3 - Operators - z rozwiązaniami: Zadania praktyczne dotyczące operatorów.
Notatki 3 - Operators: Podsumowanie najważniejszych informacji o operatorach.
Instrukcje sterujące: Wprowadzenie do instrukcji sterujących.
If … else: Omówienie instrukcji warunkowej if...else.
If … else bez klamer: Jak używać if...else bez nawiasów klamrowych.
Ternary operator: Wprowadzenie do operatora trójargumentowego (? :).
Dzień #12 - Instrukcje sterujące i pętle
Switch: Omówienie instrukcji switch.
Goto (które de facto nie istnieje w Javie): Wyjaśnienie, dlaczego instrukcja goto nie jest używana w Javie.
Test 5 - Instrukcje sterujące: Sprawdzian wiedzy o instrukcjach sterujących.
Zadania 4 - Conditionals - z rozwiązaniami: Zadania praktyczne dotyczące instrukcji warunkowych.
Notatki 4 - Conditionals: Podsumowanie najważniejszych informacji o instrukcjach warunkowych.
Pętle: Wprowadzenie do pętli w Javie.
While: Omówienie pętli while.
While bez klamer: Jak używać while bez nawiasów klamrowych.
Do...while: Omówienie pętli do...while.
For: Przegląd pętli for.
Break i continue: Wyjaśnienie działania instrukcji break i continue w pętlach.
Dzień #13 - Optional loop labels, return w pętli i tablice jednowymiarowe
Optional loop labels: Jak używać etykiet w pętlach.
Return w pętli: Omówienie użycia instrukcji return w pętli.
Test 6 - Pętle: Sprawdzian wiedzy o pętlach.
Zadania 5 - Loops - z rozwiązaniami: Zadania praktyczne dotyczące pętli.
Notatki 5 - Loops: Podsumowanie najważniejszych informacji o pętlach.
Tablice: Wprowadzenie do tablic w Javie.
Tablice jednowymiarowe: Omówienie tablic jednowymiarowych.
Pętla foreach i operacje na tablicach: Jak używać pętli foreach i operować na tablicach.
Dzień #14 - Tablice wielowymiarowe
Tablice wielowymiarowe: Omówienie tablic wielowymiarowych i ich zastosowań.
Dzień #15 - Sortowanie
Sortowanie i binarySearch(): Jak sortować tablice i korzystać z metody binarySearch().
Bubble sort: Wprowadzenie do algorytmu sortowania bąbelkowego.
VarArgs: Wyjaśnienie zmiennych długości argumentów (VarArgs).
Test 7 - Tablice: Sprawdzian wiedzy o tablicach.
Zadania 6 - Arrays - z rozwiązaniami: Zadania praktyczne dotyczące tablic.
Notatki 6 - Arrays: Podsumowanie najważniejszych informacji o tablicach.
TYDZIEŃ 4
Dzień #16 - Przechodzimy do programowania obiektowego!
Programowanie obiektowe: Wprowadzenie do programowania obiektowego (OOP).
Klasa a obiekt: Wyjaśnienie różnicy między klasą a obiektem.
What is OOP?: Co to jest programowanie obiektowe i jakie są jego zalety.
Zasięg zmiennych, metody vs pola: Omówienie zakresu zmiennych, różnic między metodami a polami.
Domyślna wartość zmiennych: Jakie są domyślne wartości zmiennych w Javie.
Dzień #17 - This is it
Overloading: Przeciążanie metod - jak i dlaczego to robić.
This: Znaczenie i użycie słowa kluczowego this.
equals() i hashCode(): Omówienie metod equals() i hashCode() oraz ich znaczenie.
Dzień #18 - Referencje, autoboxing, dziedziczenie, toString
ToString: Jak i dlaczego nadpisywać metodę toString().
Referencje a prymitywy, wstęp do stack i heap: Różnice między referencjami a typami prymitywnymi, wprowadzenie do zarządzania pamięcią.
Autoboxing: Wyjaśnienie automatycznego konwertowania typów prymitywnych na obiektowe.
Dziedziczenie i Object, wielokrotne dziedziczenie: Podstawy dziedziczenia w Javie, rola klasy Object, problem wielokrotnego dziedziczenia.
Obiekt a referencja: Różnice między obiektem a referencją.
Dzień #19 - Konstruktory i modyfikatory dostępu
Modyfikatory dostępu, enkapsulacja, hermetyzacja: Wyjaśnienie modyfikatorów dostępu i ich rola w enkapsulacji.
Konstruktory, przeciążanie konstruktorów: Jak tworzyć i przeciążać konstruktory.
Test 8 - Programowanie obiektowe cz. 1: Sprawdzian wiedzy o programowaniu obiektowym.
Notatki 7 - Object programming cz. 1: Podsumowanie najważniejszych informacji o programowaniu obiektowym.
Dzień #20 - Overriding, bloki inicjalizacyjne
Overriding: Jak nadpisywać metody.
Bloki inicjalizacyjne: Rola bloków inicjalizacyjnych w Javie.
TYDZIEŃ 5
Dzień #21 - Gettery i settery, kolejność elementów, klasy abstrakcyjne
Gettery i Settery: Jak tworzyć i używać metod dostępu do pól prywatnych.
Kolejność elementów w klasie: Zalecenia dotyczące układu elementów w klasie.
Klasy abstrakcyjne: Definicja i zastosowanie klas abstrakcyjnych.
Dzień #22 - Interfejsy - polimorfizm - default methods
Interfejsy, podstawy, implementacja, dziedziczenie: Wprowadzenie do interfejsów, jak je implementować i dziedziczyć.
Default methods w interfejsach: Omówienie metod domyślnych w interfejsach.
Polimorfizm, tracenie dostępnych metod: Co to jest polimorfizm i jak wpływa na dostępne metody.
Dzień #23 - Rzutowanie, pass by reference/value, is-a has-a
Rzutowanie: Jak i kiedy rzutować typy.
Is Java pass by reference or pass by value?: Wyjaśnienie, czy Java przekazuje zmienne przez referencję czy przez wartość.
Is-a has-a: Relacje między obiektami - is-a (jest) i has-a (ma).
Test 9 - Programowanie obiektowe cz. 2: Sprawdzian wiedzy o programowaniu obiektowym.
Notatki 8 - Object programming cz. 2: Podsumowanie najważniejszych informacji o programowaniu obiektowym.
Dzień #24 - Immutable, import
Immutable, rozszerzenie słówka final o klasy, metody: Jak tworzyć klasy niemutowalne, użycie final dla klas i metod.
Import kilku klas o tej samej nazwie z kilku pakietów: Jak radzić sobie z importem klas o tych samych nazwach z różnych pakietów.
Dzień #25 - Java benefits, method chaining, garbage collection
Ktoś za nas posprząta? Garbage collection, finalize(): Jak działa garbage collection w Javie, rola metody finalize().
Zalety Java: Przegląd najważniejszych zalet języka Java.
Method chaining: Technika łańcuchowego wywoływania metod.
W jaki sposób kompilator Javy nam pomaga?: Jak kompilator Javy wspiera programistów.
Test 10 - Programowanie obiektowe cz. 3: Sprawdzian wiedzy o programowaniu obiektowym.
Zadania 7 - Object programming - z rozwiązaniami: Zadania praktyczne dotyczące programowania obiektowego.
Notatki 9 - Object programming cz. 3: Podsumowanie najważniejszych informacji o programowaniu obiektowym.
TYDZIEŃ 6
Dzień #26 - Enum
Co to jest enum?: Definicja i zastosowanie wyliczeń (enum).
Sposoby pracy z enum: Różne techniki pracy z wyliczeniami.
Test 11 - Enumy: Sprawdzian wiedzy o wyliczeniach.
Zadania 8 - Enum - z rozwiązaniami: Zadania praktyczne dotyczące wyliczeń.
Notatki 10 - Enum: Podsumowanie najważniejszych informacji o wyliczeniach.
Dzień #27 - Debugging
Debugowanie: Techniki debugowania w Javie.
Notatki 11 - Debugging: Podsumowanie najważniejszych informacji o debugowaniu.
Dzień #28 - Czym jest static, definiowanie stałych
Static: Definicja i zastosowanie słowa kluczowego static.
Czym jest static?: Omówienie różnych zastosowań static.
Definiowanie stałych: Jak definiować stałe w Javie.
Instance, local, class variables: Różnice między zmiennymi instancyjnymi, lokalnymi i klasowymi.
Dzień #29 - Static import, dziedziczenie elementów klasy
Dziedziczenie elementów statycznych klasy: Jak dziedziczyć elementy statyczne.
Static import: Jak używać static import.
Dzień #30 - Statyczne bloki inicjalizacyjne, kolejność elementów w klasie, metody …
Statyczne bloki inicjalizacyjne i kolejność inicjalizacji: Rola i zastosowanie statycznych bloków inicjalizacyjnych.
Kolejność elementów w klasie: Zalecenia dotyczące układu elementów w klasie.
Metody statyczne w interfejsach: Jak i dlaczego używać metod statycznych w interfejsach.
Test 12 - Static: Sprawdzian wiedzy o static.
Zadania 9 - Static - z rozwiązaniami: Zadania praktyczne dotyczące static.
Notatki 12 - Static: Podsumowanie najważniejszych informacji o static.
TYDZIEŃ 7
Dzień #31 - Czym są wyjątki, diagram hierarchii, try... catch, checked i …
Wyjątki: Co to są wyjątki i dlaczego są używane.
Diagram hierarchii wyjątków: Hierarchia klas wyjątków.
Try … catch: Jak obsługiwać wyjątki za pomocą try...catch.
Wyjątki checked i unchecked: Różnice między wyjątkami checked i unchecked.
Czym jest stacktrace?: Jak interpretować stacktrace.
Dzień #32 - Łapiemy spadające wyjątki - hierarchia wyjątków, overriding i overloading …
Łapiemy spadające wyjątki - hierarchia: Jak radzić sobie z hierarchią wyjątków.
Overriding i overloading a wyjątki: Jak wyjątki wpływają na nadpisywanie i przeciążanie metod.
Dzień #33 - Wyjątki w konstruktorach
Wyjątki w konstruktorach: Jak obsługiwać wyjątki w konstruktorach.
Dzień #34 - Wyjątki w blokach inicjalizacyjnych, rzucanie wyjątku w catch i finally …
Wyjątki w blokach inicjalizacyjnych: Jak radzić sobie z wyjątkami w blokach inicjalizacyjnych.
Rzucanie wyjątku w catch i finally: Jak i kiedy rzucać wyjątki w blokach catch i finally.
Łapanie errorów: Jak radzić sobie z błędami.
Test 13 - Exceptions: Sprawdzian wiedzy o wyjątkach.
Zadania 10 - Exceptions - z rozwiązaniami: Zadania praktyczne dotyczące wyjątków.
Notatki 13 - Exceptions: Podsumowanie najważniejszych informacji o wyjątkach.
Dzień #35 - Co to są kolekcje
Kolekcje: Wprowadzenie do kolekcji w Javie.
Co to są kolekcje?: Definicja i zastosowanie kolekcji.
TYDZIEŃ 8
Dzień #36 - List i ArrayList
List i ArrayList: Omówienie list i klasy ArrayList.
Dzień #37 - List i LinkedList, ArrayList vs LinkedList
List i LinkedList: Omówienie list i klasy LinkedList.
ArrayList vs LinkedList: Porównanie ArrayList i LinkedList.
Dzień #38 - Set i HashSet, interfejs w definicji zmiennej
Dlaczego lepiej używać Interfejsu w definicji zmiennej: Korzyści wynikające z używania interfejsów w definicji zmiennych.
Set i HashSet: Omówienie interfejsu Set i klasy HashSet.
Dzień #39 - Map i HashMap
Map i HashMap: Omówienie interfejsu Map i klasy HashMap.
Dzień #40 - Iterator, converting between Array and List, kolekcje w klasie immutable
Iterator: Jak używać iteratorów do przeglądania kolekcji.
Zamiana listy na tablicę: Jak konwertować listy na tablice i odwrotnie.
Kolekcje w klasie immutable: Jak tworzyć niemutowalne kolekcje.
Test 14 - Collections: Sprawdzian wiedzy o kolekcjach.
Zadania 11 - Collections - z rozwiązaniami: Zadania praktyczne dotyczące kolekcji.
Notatki 14 - Collections: Podsumowanie najważniejszych informacji o kolekcjach.
TYDZIEŃ 9
Dzień #41 - Memory model
Stack i Heap - Java memory model: Omówienie modelu pamięci Javy, różnice między stosem a stertą.
Test 15 - Model pamięci: Sprawdzian wiedzy o modelu pamięci.
Zadania 12 - Java memory model - z rozwiązaniami: Zadania praktyczne dotyczące modelu pamięci.
Notatki 15 - Java memory model: Podsumowanie najważniejszych informacji o modelu pamięci.
Dzień #42 - Java 8 date & time - wprowadzenie, LocalDate, LocalTime...
Java 8 date & time: Wprowadzenie do nowego API do pracy z datami i czasem w Javie 8.
Wprowadzenie: Podstawowe informacje o API dat i czasu.
LocalDate, LocalTime, LocalDateTime: Omówienie klas LocalDate, LocalTime i LocalDateTime.
Manipulacja datami: Techniki manipulacji datami i czasem.
Dzień #43 - OffsetDateTime, ZonedDateTime, Period
OffsetDateTime: Omówienie klasy OffsetDateTime.
ZonedDateTime: Omówienie klasy ZonedDateTime.
Period: Jak używać klasy Period.
Dzień #44 - Duration, Instant, formatting and parsing
Duration: Jak używać klasy Duration.
Instant: Omówienie klasy Instant.
Formatting and parsing: Techniki formatowania i parsowania dat i czasu.
Test 16 - Date & Time: Sprawdzian wiedzy o API dat i czasu.
Zadania 13 - Date & Time - z rozwiązaniami: Zadania praktyczne dotyczące dat i czasu.
Notatki 16 - Date & Time: Podsumowanie najważniejszych informacji o API dat i czasu.
Dzień #45 - Lambda - wstęp, pierwsze lambdy, predykaty
Lambda: Wprowadzenie do wyrażeń lambda w Javie.
Czym jest lambda?: Definicja i zastosowanie wyrażeń lambda.
Pierwsze lambdy: Pierwsze kroki w używaniu wyrażeń lambda.
Predykaty: Omówienie interfejsu Predicate i jego zastosowań.
Test 17 - Simple Lambdas: Sprawdzian wiedzy o wyrażeniach lambda.
Zadania 14 - Lambda - z rozwiązaniami: Zadania praktyczne dotyczące wyrażeń lambda.
Notatki 17 - Lambda: Podsumowanie najważniejszych informacji o wyrażeniach lambda.
TYDZIEŃ 10
Dzień #46 - StringBuilder
Przydatne klasy z Core Java Api: Wprowadzenie do przydatnych klas z podstawowego API Javy.
StringBuilder: Omówienie klasy StringBuilder i jej zastosowań.
Dzień #47 - BigInt i BigDecimal
BigInt: Jak używać klasy BigInt do pracy z dużymi liczbami całkowitymi.
BigDecimal: Jak używać klasy BigDecimal do precyzyjnych obliczeń z liczbami zmiennoprzecinkowymi.
Dzień #48 - Optional
Optional: Wprowadzenie do klasy Optional, jej zastosowania i korzyści.
Test 18 - Przydatne klasy z Java API: Sprawdzian wiedzy o przydatnych klasach z Java API.
Zadania 15 - Core Java API - z rozwiązaniami: Zadania praktyczne dotyczące przydatnych klas z Java API.
Notatki 18 - Core Java API: Podsumowanie najważniejszych informacji o przydatnych klasach z Java API.
Dzień #49 - Refactoring (Refaktoryzacja, ang. refactoring) cz. 1
Refactoring Cz. 1: Wprowadzenie do refaktoryzacji kodu, jej celów i technik.
Dzień #50 - Refactoring (Refaktoryzacja, ang. refactoring) cz. 2
Refactoring Cz. 2: Kontynuacja tematu refaktoryzacji, omówienie zaawansowanych technik.
Notatki 19 - Refactoring: Podsumowanie najważniejszych informacji o refaktoryzacji.
TYDZIEŃ 11
Dzień #51 - Projekt cz.1
Kalkulator kredytu hipotecznego: Wprowadzenie do projektu końcowego.
Wstęp: Omówienie celów i założeń projektu.
Dane wejściowe: Jakie dane będą potrzebne do obliczeń.
Drukowanie danych wejściowych: Jak wyświetlać wprowadzone dane.
Dzień #52 - Projekt cz.2
Serwis liczący kredyt (Mortgage calculation service): Tworzenie serwisu do obliczania kredytu hipotecznego.
Serwis liczący raty (Rate calculation service): Tworzenie serwisu do obliczania rat kredytu.
Dzień #53 - Projekt cz. 3
Punkty czasowe (timepoint): Omówienie punktów czasowych w kontekście obliczeń kredytowych.
Serwis liczący punkty czasowe (timepoint calculation service): Tworzenie serwisu do obliczania punktów czasowych.
Dzień #54 - Projekt cz. 4
Serwis liczący kwoty składowe raty (amounts calculation service): Tworzenie serwisu do obliczania poszczególnych składników raty.
Serwis liczący pozostałą kwotę spłaty (residual calculation service): Tworzenie serwisu do obliczania pozostałej kwoty spłaty.
Dzień #55 - Projekt cz. 5
Drukowanie rozpiski rat (drukowanie tabelki): Jak wyświetlać harmonogram spłaty kredytu.
Stworzenie podsumowania: Tworzenie podsumowania wyników obliczeń.
Dokładność obliczeniowa: Omówienie kwestii związanych z dokładnością obliczeń.
TYDZIEŃ 12
Dzień #56 - Projekt cz. 6
Nadpłata z redukcją czasu trwania (reduce period) cz.1: Omówienie nadpłat kredytu i jak wpływają one na czas trwania kredytu.
Nadpłata z redukcją czasu trwania (reduce period) cz.2: Kontynuacja tematu nadpłat kredytu.
Dzień #57 - Projekt cz. 7
Rozdzielenie serwisu liczącego kwoty (amounts calculation service): Jak podzielić serwis obliczający kwoty na mniejsze części.
Dzień #58 - Projekt cz. 8
Nadpłata z zachowaniem czasu trwania (reduce rate): Jak nadpłaty wpływają na wysokość raty przy zachowaniu tego samego czasu trwania kredytu.
Podsumowanie i zabawa parametrami: Podsumowanie projektu i eksperymentowanie z różnymi parametrami kredytu.
Zadania 16 - Kalkulator Kredytu Hipotecznego - z rozwiązaniami: Zadania praktyczne dotyczące projektu kalkulatora kredytu hipotecznego.
Dzień #59 - Klasy zagnieżdżone w Javie, cz. 1
Klasy zagnieżdżone: Wprowadzenie do klas zagnieżdżonych.
Member inner classes (Main$Inner.class): Omówienie klas wewnętrznych.
Local inner classes: Jak tworzyć i używać lokalnych klas wewnętrznych.
Dzień #60 - Klasy zagnieżdżone, cz. 2
Anonymous inner classes: Jak tworzyć i używać anonimowych klas wewnętrznych.
Static nested classes: Omówienie statycznych klas zagnieżdżonych.
Multiple classes in one file: Jak definiować wiele klas w jednym pliku.
Test 19 - Klasy wewnętrzne i zagnieżdżone: Sprawdzian wiedzy o klasach zagnieżdżonych.
Notatki 20 - Inner Classes: Podsumowanie najważniejszych informacji o klasach zagnieżdżonych.
Ważna kwestia techniczna! Języki programowania żyją, są cały czas aktualizowane i wychodzą ich nowsze wersje. My o tym wiemy (inaczej nie przygotowywalibyśmy tych materiałów) i Ty też zauważysz to na pewnym etapie nauki. Pamiętaj, że Bootcamp Zajavka został przygotowany w taki sposób, żeby wprowadzić Cię w świat Javy i dać Ci możliwość zapoznania się z podstawowymi aspektami tego języka. Oznacza to, że w ramach Bootcampu nie będziemy skupiać się na nowinkach technicznych, które zostały wprowadzone w kolejnych, coraz nowszych wersjach Javy (później dowiesz się czym są wersje) - skupimy się na podstawach programowania i podstawach konstrukcji tego języka.
Dołącz do nas i rozpocznij swoją podróż ku zostaniu specjalistą Java!
Who this course is for:
- Osoby, który chcą nauczyć się programować w Javie
Instructors
Zajavka to kompletny, profesjonalny i pasjonujący roczny kurs programowania. Zajavkę stworzyliśmy z myślą o tych, którzy pragną rozpocząć swoją intensywną przygodę z programowaniem i w ciągu 12 miesięcy osiągnąć poziom profesjonalnego programisty Javy. Zacznij naukę od bootcampu od podstaw i kontynuuj ją w warsztatach, które krok po kroku, intensywnie i w ciągu kilku miesięcy przygotują Cię do pełnienia roli profesjonalnego programisty Javy.
Jestem programistą Java z ponad 9 letnim doświadczeniem komercyjnym. Zajmuję się głównie technologiami Java i JVM oraz tworzeniem stron aplikacji webowych wykorzystujących technologie Java, Spring, Kafka. Mam również doświadczenie w tworzeniu aplikacji opartych o React. Stawiam przede wszystkim na ciągły rozwój osobisty, zdobywanie nowych umiejętności i podnoszenie jakości swojej pracy. W swojej karierze zawodowej spędziłem dużo czasu ucząc innych, prowadząc szkolenia i nagrywając materiały wideo w celach edukacyjnych.
Cześć! Nazywam się Bartłomiej Borowczyk, ale bardziej znany jestem jako Samuraj Programowania - od nazwy kanału, który prowadzę na YouTube. Jestem absolwentem Uniwersytetu Warszawskiego (politologii, niestety), ale także studiów podyplomowych związanych z programowaniem na Uniwersytecie Łódzkim (aplikacje internetowe) oraz w WSZiM w Sochaczewie (.NET, C# i MS SQL). Pierwszą stronę internetową stworzyłem w 2008 roku w systemie Joomla. Prowadzę kanały Samuraj Programowania ona YouTube zawierające materiały dotyczące nauki tworzenia stron internetowych i programowania w JavaScript.