Pokračování výuky jazyka Java Java 2
Předmět Programování v Java II navazuje na předmět Programování v Java I a rozvíjí dovednosti studentů v programování a využití běžně používaných technologií z ekosystému jazyka Java.
Ke stažení
Organizace předmětu a Podmínky Absolvování
Bodované úlohy na cvičeních - minimálně 10 z 25
Od prvního cvičení (týden 17. - 21.2.2025) se budou cvičení bodovat. Tedy na cvičení bude nutno vždy vyřešit úkol, za který budou přiděleny body obdobně jako v Java I. V semestru je 13. týdnů, na posledním se bude psát zápočtový test, jedno cvičení odpadne díky Velikonocím a sportovnímu dni, (čtvrteční cvika dvě odpadnou díky státnímu svátku) a na jdenom cvičení proběhne test praktických znalostí. Tedy 9-10 cvičení, na každém z nich bude možno získat 3 body. Celkem tedy 30. Zapsat lze pouze 25 bodů, ale vyšší počet vyřeší případnou běžnou frekvenci absence kvůli nemoci a nebude nutno řešit náhrady cvičení. V případě dlouhodobější nemocenské bude vše řešeno individuálně.
Domácí úkoly minimálně 0 bodů z 10
Každému bodovanému cvičení odpovídá jeden domácí úkol, za který je možno získat 1 bod. Domácí úkoly slouží k procvičování, jejich autorství není možno přesně ověřit, proto je zde rozděleno pouze omezené množství bodů.
Test praktických znalostí minimálně 7 bodů z 15
V týdnu od 31.3. - 4.4.2025 proběhne test praktických znalostí, na kterém se u počítače na učebně bude tvořit kód dle zadání (programovací test).
Témata:
- Logování, logování vyjímek, efektivita logiování
- Lombok
- java record
- enum, switch, pattern mathing
- Functionla Interfaces
- JPA entity a JPA entity s vazbami
- CriteriaQuery
Semestrální projekt 10-25
Semestrální projekt se bude odevzdávat do systému kelvin nebo edison (bude upřesněno) a obhajovat individuálně v průběhu zkouškového období, termíny budou zveřejněny. Témata projektů bude vytvoření REST API serveru pro ukládání dat z hry, případně z GUI vytvořeného v rmci jiných předmětů.
Zápočtový test 10-25
Zápočtový test proběhne v posledním týdnu semestru a ověří teoretické znalosti formou elektronického testu v LMS.
Semestrální projekt
Vytvořte webovou aplikaci (back end v Javě - Spring/Quarkus) s rozhraním REST, front end v libovolné webové technologii nebo JavaFX.
Podrobný popis zde
Termín odevzdání je do 21.6.2026 nebo před obhajobou projektu.
Kombinované studium
Podmínky pro studenty kombinované formy jsou stejné. Jen neají bodované cvičení (tutoriály) a tudíž je jiná rozložení bodů ve zbývajících úkolech.
- Domácí úkoly (0-20) - domácích úkolů je 5 po 4 bodech
- Test praktických znalostí (10-25) - proběhne 25.4.2025 v 7:15 v době tutoriálu
- Semestrální projekt (10-30)
- Zápočtový test (10-25)
Požadované nástroje
- Java 25
- Maven 3.9.12 (3.9.11)
- SceneBuilder 25.0.x
- IDE - Eclipse 2025-12 nebo IntelliJ idea2025.3 (nutná Ultimate pro web development)
Verze je dobré dodržet aby nedošlo k problémům.
Java 25
Java 25 - K dispozici jako OpenJDK nebo jako Oracle JDK.
Java instalace pod Ubuntu
#Installation in command line
sudo apt update
sudo apt -y install openjdk-25-doc openjdk-25-jdk openjdk-25-jdk-headless openjdk-25-jre openjdk-25-jre-headless openjdk-25-source
#check success
java -version
Java instalece pod Windows
- Stažení instalátoru Oracle JDK
- Double click na instalátor
- Next, Next, Next ...
Maven 3.9.14
Maven 3.9.14 - ke stažení maven.
Maven instalace pro Ubuntu
sudo apt update
sudo apt install maven
#download and extraction most recent version
wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.14-bin.tar.gz
tar -xvf apache-maven-3.9.14-bin.tar.gz
#on the end of file $HOME/.bashrc add:
PATH="$HOME/apache-maven-3.9.14/bin:$PATH"
#run new terminal window and chceck version of maven
mvn -version
Maven instalace pro Windows
- Stažení balíku ze stránek
- Rozbalení do požadovaného umístění
- Nastavení cesty pro spouštění: Settings->About->Advanced System Settings->Environment Variables...
- Pro uživatele editovat proměnnou Path a přidat složku bin v rozbalené složce mavenu.
- Test v nové konzoli: mvn -version
SceneBuilder 25.0.x
Ke stažení zde.
Instalace pomocí instalátoru. Ve windows doubleclick ve Ubuntu např.:
sudo dpkg -i SceneBuilder-25.0.0.deb
Eclipse 2025-12
Eclipse - Instalátor ke stažení zde. Při instalaci zvolte variantu for "Java Developers" nebo " Eclipse IDE for Enterprise Java and Web Developers
Eclipse IDE for Enterprise Java and Web Developers". Nebo si stáhněte přímo balíček s Eclipse for Java Developer nebo balíček s Eclipse IDE for Enterprise Java and Web Developers.
Stažený balík rozbalte a vytvořte si ikony v systémovém menu pro spouštění. Pro windows jw tostupný také instalátor (Next, Next, Next)
Do eclipsu si doinstalujte z Eclipse Marketplace tyto pluginy:
- e(fx)clipse - https://marketplace.eclipse.org/content/efxclipse
- Edhanced Class Decompiler - https://marketplace.eclipse.org/content/enhanced-class-decompiler
- SonarLint - https://marketplace.eclipse.org/content/sonarlint
- volitelně WindowBuilder - https://marketplace.eclipse.org/content/windowbuilder
V Window -> Preferencies -> JavaFX si nastavte cestu k SceneBuilderu
Lombok 1.18.42
Stáhněte si Lombok. V adresáři kde jste si Lombok stáhli spusťte příkaz (ve Windows stačí dvojklik myší na soubor):
- java -jar lombok.jar
Pomocí tlačítka "Specify location ..." vyberte umístění eclipsu a tlačítkem "Install/Update" nainstalujde podporu pro Lombok do Eclipsu.
Vytvožření spouštěcí menu ikonky pro Eclipse v Ubuntu
#in folder $HOME/.local/share/applications create file eclipse-2025-12.desktop
#With content:
[Desktop Entry]
Version=1.0
Name=2025-12 Eclipse Java
Comment=Eclipse 2025-12 My favorite development tool for my favorite language :-)
Exec=/path/to/my/eclipse/java-2025-12/eclipse/eclipse
Icon=/path/to/my/eclipse/java-2025-12/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Programming;Application;
Name[en_US]=Eclipse Java 2025-12
Videotutoriál instalace všech nástrojů pod Windows
-
- Instalace všech nástrojů pod Windows
Videotutoriál instalace všech nástrojů pod Ubuntu
-
- Instalace všech nástrojů pod Ubuntu
Předběžný nezávazný plán přednášek a cvičení
| Týden | Přednáška | Cvičení | Domácí úkol |
|---|---|---|---|
| 1 17.2.-21.2. |
maven |
maven | maven |
| 2 24.2.-28.2. |
logging |
modules | modules |
| 3 3.3.-7.3. |
lombok |
logging |
logging |
| 4 10.3.-14.3. |
jpa |
lombok |
lombok |
| 5 17.4.-21.4. |
jpa ql |
JPA | JPA |
| 6 24.3.-28.3. |
rest |
JPA - vazby |
JPA - vazby |
| 7 31.3.-4.4. |
Concurrency |
praktická písemka | load JSON |
| 8 7.4.-11.4. |
Java NIO | spring, rest | spring+rest |
| 9 14.4.-18.4. |
networking |
spring, teameleaf | networking |
| 10 21.4.-25.4. |
velikonoce |
concurency | cryptography |
| 11 28.4.-2.5. |
reflection security cryptography |
concurency
|
|
| 12 5.5.-9.5. |
unit testy |
unit testy |
|
| 13 12.5.-16.5. |
zápočťák - teoretický test |
David Ježek




