Information below is not for the current semester.
The current semester can be found here.
Semester: summer 2018/19
Lectures:
Mon 9:00, S3 (Petr Hnětynka)
Tue 10:40 (in English), S3 (Petr Hnětynka)
Labs:
Mon 12:20, SU1
Tue 15:40, SU2
Thu 10:40, SU2
Page in SIS: NPRG021
Grading: Credit and exam
Lectures:
Mon 9:00, S3 (Petr Hnětynka)
Tue 10:40 (in English), S3 (Petr Hnětynka)
Labs:
Mon 12:20, SU1
Tue 15:40, SU2
Thu 10:40, SU2
Page in SIS: NPRG021
Grading: Credit and exam
Practicals/labs
- Practicals are in the Unix computer lab
- 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 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 first three weeks of the semester)
- if you did not write 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
- implementations of exercises from the practicals can be obtained
HERE
- WARNING: commonly there are incomplete implementations
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
- Next, there will be three home-works
- It is necessary to obtain at least 150 of points from them
- Homeworks will be posted in ReCodEx and announced during the lecture
- Practicals attendance is mandatory! If you miss more than 3 practicals, you have to obtain at least 210 from the home-works
- The home project has to non-trivially exploiting a covered technology.
- The project has to be appropriately complex.
- The topic of the project has to be agreed (by email) with the lecturer till Friday 24th May 2019. “Agreed” means that the topic is suggested by a student and confirmed by the lecturer.
- The project should be submitted till the end of June; the latest
deadline is Friday 20th September 2019 12:00 (noon).
- 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,
build.xml
file for ant (allows compilation, javadoc generation, and execution of the project),- Maven or Gradle can be used too
- user documentation (as a plain-text or html or pdf) so the project can be launched and tested,
- explicitly specified version of Java, which is necessary for
compilation and execution (ideally specified directly in
build.xml
Course synopsis
- GUI
- In-depth view of the Java language
- Reflection API
- Generics, annotations
- ClassLoaders, Security
- Distributed technologies: RMI,…
- Component model JavaBeans
- Java Enterprise Edition: Servlets, EJB, Spring,…
- Java Micro Edition: Java for mobile and embedded systems, CLDC, MIDP, MEEP
- RTSJ
- Other Java technologies: Java APIs for XML, JDBC, JMX,…
- Other languages compiled to Java bytecode (Kotlin,…)
- Android