University of Warsaw - Central Authentication System
Strona główna

Advanced Java

General data

Course ID: 1000-2M22ZJ
Erasmus code / ISCED: (unknown) / (unknown)
Course title: Advanced Java
Name in Polish: Zaawansowana Java
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: (in Polish) Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka
Elective courses for Computer Science
ECTS credit allocation (and other scores): 6.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: (unknown)
Type of course:

elective monographs

Short description:

The aim of this course is to familiarize students with the advanced aspects of Java and their practical use in an extensive programming project.

Full description:

The aim of this course is to familiarize students with advanced aspects of Java (reflection, annotations, classloaders, dynamic proxy) and their practical use in libraries and frameworks.

As part of the lecture, we will learn about the construction of a servlet container and we will try to implement it in teams of several people. Then we will test it efficiently, we will try to determine the bottlenecks of our solution and tune it’s performance. We will not use ready-made solutions and libraries, but implement our own in Java SE following the example of the existing ones.

Similarly, for the jax-rs and jpa specifications - we will implement a simplified version of the library supporting the creation of rest services and a solution supporting object-relational mapping (ORM).

All of this with the use of git, unit testing, integration and CI / CD.

In the laboratory part, we will check how artificial intelligence based on a neural network or a genetic algorithm can cope with the fight at https://www.codingame.com/multiplayer/bot-programming with programs based on heuristics, Minimax or the Monte Carlo method.

Bibliography:

JSR 340: Java Servlet 3.1 Specification

JSR-000370 Java API for RESTful Web Services 2.1 Specification Final Release

JSR 338: JavaTM Persistence 2.2

Learning outcomes:

Knowledge

The students know in detail a selected tool or programming language [K_W02, K_W09, K_W10].

Skills

The students are able to complete programming projects in a selected tool or programming language [K_U05].

Competences

The students are able to acquire and develop on their own the knowledge concerning a selected tool or programming language [K_K04].

Assessment methods and assessment criteria:

Credit for the lecture:

by team writing a web server similar to a servlet container, a library supporting the creation of rest sites and a library supporting object-relational mapping.

Laboratory credit:

by writing several small programs (5-6) playing on https://www.codingame.com/multiplayer/bot-programming

Classes in period "Winter semester 2023/24" (past)

Time span: 2023-10-01 - 2024-01-28
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Jakub Sitek
Group instructors: Jakub Sitek
Students list: (inaccessible to you)
Examination: Course - Grading
Lecture - Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)