Zaawansowana Java
Informacje ogólne
Kod przedmiotu: | 1000-2M22ZJ |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Zaawansowana Java |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obieralne dla informatyki Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka |
Punkty ECTS i inne: |
6.00
|
Język prowadzenia: | (brak danych) |
Rodzaj przedmiotu: | monograficzne |
Skrócony opis: |
Celem tego przedmiotu jest zapoznanie studentów z zaawansowanymi aspektami języka Java oraz ich praktyczne użycie w rozbudowanym projekcie programistycznym. |
Pełny opis: |
Celem tego przedmiotu jest zapoznanie studentów z zaawansowanymi aspektami języka Java (refleksja, anotacje, classloadery, dynamic proxy) oraz ich praktyczne użycie w bibliotekach i frameworkach. W ramach wykładu zapoznamy się z budową kontenera servletów i postaramy się go zaimplementować w kilkuosobowych zespołach. Następnie przetestujemy go wydajnościowo, postaramy się ustalić wąskie gardła (bottleneck) naszego rozwiązania i poprawić jego wydajność (performance tuning). Nie będziemy używać gotowych rozwiązań i bibliotek, tylko wzorując się na istniejących implementować własne w Java SE. Podobnie dla specyfikacji jax-rs i jpa – zaimplementujemy uproszczoną wersję biblioteki wspierającej tworzenie serwisów restowych oraz oraz rozwiązania wpierającego mapowanie obiektowo relacyjne (ORM). Wszystko to z wykorzystaniem git, testów jednostkowych, integracyjnych i CI/CD. W części laboratoryjnej sprawdzimy jak sztuczna inteligencja oparta na sieci neuronowej lub algorytmie genetycznym daje sobie radę w walce na https://www.codingame.com/multiplayer/bot-programming z programami opartymi na heurystykach, Minimaxie lub metodzie Monte Carlo. |
Literatura: |
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 |
Efekty uczenia się: |
Wiedza: * Zna szczegółowo wybrane narzędzie lub język programowania [K_W02, K_W09, K_W10]. Umiejętności: * Umie pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02) * Umie samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09). * Umie ocenić, na podstawowym poziomie, przydatność rutynowych metod i narzędzi informatycznych oraz wybrać i zastosować właściwą metodę i narzędzia do typowych zadań informatycznych (K_U18). * Umie planować i organizować pracę indywidualnie i w zespole, także o charakterze interdyscyplinarnym; zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów (K_U29). Kompetencje społeczne: * Student jest gotów do krytycznej oceny posiadanej wiedzy i odbieranych treści (K_K01). * Student jest gotów do pracy z zachowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02). * Student jest gotów do uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03). |
Metody i kryteria oceniania: |
Zaliczenie wykładu: poprzez zespołowe napisanie serwera webowego zbliżonego do kontenera servletów, biblioteki wspierającej tworzenie serwisów restowych oraz biblioteki wspierającej mapowanie obiektowo relacyjne. Zaliczenie laboratorium: poprzez napisanie kilku małych programów (5-6) grających na https://www.codingame.com/multiplayer/bot-programming |
Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)
Okres: | 2023-10-01 - 2024-01-28 |
Przejdź do planu
PN WT ŚR CZ WYK
LAB
PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Jakub Sitek | |
Prowadzący grup: | Jakub Sitek | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Wykład - Egzamin |
Właścicielem praw autorskich jest Uniwersytet Warszawski.