Semester: summer 2025/26
Lectures: N/A, N/A (Petr Hnětynka)
Labs:
N/A, N/A
N/A, N/A
Page in SIS: NPRG021
Grading: Credit and exam
Lectures: N/A, N/A (Petr Hnětynka)
Labs:
N/A, N/A
N/A, N/A
Page in SIS: NPRG021
Grading: Credit and exam
Previous year: summer semester 2024 / 2025
Teaching
- students subscribed for the course are automatically added to the Teams team
- all the course materials will be available in the team
- slides, examples,…
Practicals/labs
- Sign yourself to a practical using the information system
- who is not signed to a practical within first three weeks of the semester will not receive “zápočet”
- Information for those who do not want to attend the practicals
- if you do not want to attend practicals, you can also sign yourself to the “virtual” practical
- for the “virtual"practical, there are the same requirements and deadline as for the “regular” ones
- if you repeat the course the requirements you fulfilled the previous
year can be accepted (but only in the scope of a single study)
- explicitly write about it to the teacher of the particular practical (within the first three weeks of the semester)
- if you failed to finish the home project program, the topic is not
automatically accepted
- but it is not necessary to think out a new one; you can propose the original one
Exam and “zápočet”
- Exam is a written test
- To obtain “zápočet” it is necessary to create a home project program and successfully pass the practical programming test
- During the semester, there will be multiple homeworks
- The homeworks will follow each other
- The homeworks completion is optional
- The homeworks will be submitted via ReCodEx
- If you complete the homeworks to 90%, you will have an extra point for the exam
- The home project has to non-trivially exploit a covered technology.
- The home project has to be appropriately complex.
- The topic of the project has to be agreed (by email) with the lecturer till 22nd May 2026. “Agreed” means that the topic is suggested by a student and confirmed by the lecturer.
- The project should be submitted ideally till the end of June; the latest
deadline is 18th September 2026.
- The project is submitted by email; only if it is necessary the project is shown personally.
- The project is submitted as a zip archive, which contains:
- sources,
- unit tests,
pom.xml
file for Maven- Ant or Gradle can be used too
- user documentation (as a plain-text or html or pdf) so the project can be launched and tested,
- developer documentation as javadoc (all methods commented, commented packages and modules, basic info on the overview page)
- explicitly specified version of Java in
pom.xml
(or in a corresponding file for the used build tool)
Course synopsis
- In-depth view of the Java language
- Reflection API
- Generics, annotations
- ClassLoaders
- GUI
- Distributed technologies: RMI,…
- Component model JavaBeans
- Enterprise: Jakarta EE, Spring, MP
- Other Java technologies: Java APIs for XML, JDBC, JMX,…
- Other languages compiled to Java bytecode (Kotlin,…)
- Android
Slides and examples shown during lectures and practicals
- they are available in the Teams team