Continue learning Java Java 2
Programming in Java II builds on Programming in Java I and develops students' skills in programming and using commonly used technologies from the Java ecosystem.
Downloads
Course Organisation and Conditions of Graduation
Scored assignments on exercises - minimum 10 out of 25
Starting with the first exercise (week of 2/17 - 2/21/2025), exercises will be scored. Thus, the exercises will always require a problem to be solved, for which points will be assigned similarly to Java I. There are 13 weeks in the semester, the last one will have a credit test, one exercise will be dropped due to Easter and Sports Day, (Thursday's two exercises will be dropped due to a public holiday) and one exercise will have a practical knowledge test. So 9-10 exercises, each of them will be possible to get 3 points. Only 25 points can be recorded, but the higher number will solve any normal frequency of absences due to illness and will not have to deal with substitute exercises. In the event of prolonged sickness, everything will be dealt with on an individual basis.
Homework minimum 0 points out of 10
Each scored exercise corresponds to one homework assignment for which 1 point may be earned. The homework is for practice and cannot be accurately verified, so only a limited number of points are awarded.
Practical knowledge test with a minimum of 7 points out of 15
During the week of 31.3.-4.4.2025, a practical knowledge test will be held, where you will create code according to the assignment (programming test) at the computer in the classroom.
Themes:
- Logging, exception logging, efective logging
- Lombok
- java record
- enum, switch, pattern mathing
- Functionla Interfaces
- JPA entity a JPA entity with relation
- CriteriaQuery
Semester Project 10-25
The semester project must be submitted via the Kelvin or Edison system (to be specified) and defended individually during the exam period; dates will be announced. Project topics will involve creating a REST API server for storing data from a game or from a GUI developed in other courses.
Credit Test 10-25
The credit test will take place in the last week of the semester and will test theoretical knowledge in the form of an electronic test in the LMS.
Semester project
Create a web application (back end in Java—Spring/Quarkus) with a REST API, and a front end using any web technology or JavaFX.
Detailed description here
The deadline for submission is June 21, 2026, or prior to the project defense.
Part-time study
The requirements for part-time students are the same. The only difference is that they do not have graded tutorials, so the point distribution for the remaining assignments is different.
Homework assignments (0–20) – there are 5 homework assignments, each worth 4 points
Practical knowledge test (10–25) – will take place on April 25, 2025, at 7:15 a.m. during the tutorial
Semester project (10–30)
Midterm exam (10–25)
Translated with DeepL.com (free version)
Required tools
- Java 25
- Maven 3.9.12 (3.9.11)
- SceneBuilder 25.0.x
- IDE - Eclipse 2025-12 nebo IntelliJ idea2025.3 (required Ultimate for web development)
-
It is a good idea to keep to the versions to avoid problems.
Java 25
Java 25 - Can be dowloaded OpenJDK or on Oracle JDK.
Instalation under 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 installation under Windows
- Download the Oracle JDK installer
- Double click on the installer
- Next, Next, Next ...
Maven 3.9.6
Maven 3.9.6 - for download on maven.
Maven installation for 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 installation for Windows
- Download the package from the website
- Unzipping to the desired location
- Setting the path to run: Settings->About->Advanced System Settings->Environment Variables...
- For users, edit the Path variable and add a bin folder in the unzipped maven folder.
- Test in new console: mvn -version
SceneBuilder 25.0.x
Download here.
Installation using the installer. In windows doubleclick in Ubuntu for example:
sudo dpkg -i SceneBuilder-25.0.0.deb
Eclipse 2025-12
Eclipse - Download the installer here. When installing, select the option for "Java Developers". Or download the Eclipse for Java Developer package directly here.
Unzip the downloaded package and create icons in the system menu to run it. For windows, the installer is also available (Next, Next, Next)
Install the following plugins into eclipse from the Eclipse Marketplace:
- 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
- Optional WindowBuilder - https://marketplace.eclipse.org/content/windowbuilder
In Window -> Preferences -> JavaFX set the path to SceneBuilder
Lombok 1.18.42
Download Lombok here. In the directory where you downloaded Lombok, run the command (in Windows, just double-click on the file):
- java -jar lombok.jar
Use the "Specify location ..." button. Select the eclipse location and use the "Install/Update" button to install Lombok support in Eclipse.
Creating a start menu icon for Eclipse in 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
Video tutorial on installing all tools under Windows
-
- Installing all tools under Windows
Video tutorial on installing all tools under Ubuntu
-
- Installing all tools under 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




