PO 2023
Prace domowe:
zadanie o szybkości Javy - 1p., treść jest tutaj, do 5 kwietnia 23:59.
28 marca - 2p., Treść jest dostępna tutaj (plik
homework.md
). Proszę je oddawać w moodle do 3 kwietnia 23:59.14 kwietnia - 2p., Treść jest dostępna tutaj (plik
homework.md
). Proszę je oddawać w moodle do 24 kwietnia 23:59.
Przykładowe rozwiązanie tutaj.
9 maja - 2p., Treść jest dostępna tutaj (plik
homework.md
). Proszę je oddawać w moodle do 15 maja 23:59.21 maja - Treść jest dostępna tutaj (plik
homework.md
). Proszę je oddawać w moodle do 12 czerwca 23:59.
Laboratorium:
- lab 1 i 2 -
Java
, stos, sterta, graf
Kod, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 3 i 4 -
UML
Link do diagramu: tutaj.
Oryginalna treść zadania o Bilbie jest tutaj. Nas interesuje jedynie zaprojektowanie hierarchii klas w UML (tzn klasy z nazwami, atrybutami i metodami - bez opisów). NIE ROBIMY IMPLEMENTACJI.
Zdjęcia tablicy z zajęć: tutaj.
Slajdy o modelowaniu obiektowym: tutaj.
- lab 5 i 6 -
Java
ciąg dalszy
Link do wspólnego kodu: tutaj.
- lab 7 i 8 - Debugowanie, testy jednostkowe w
junit
Kod nad którym będziemy pracować, jest tutaj.
Dodatkowy link do scenariusza o debugowaniu: tutaj.
- lab 9 i 10 - Zadanie o wyrażeniach arytmetycznych
Kod, który pisaliśmy na zajęciach jest dostępny tutaj.
- lab 11 i 12 - Klasy abstrakcyjne, interfejsy, typy wyliczeniowe, wstęp do wyjątków, zadanie z kolokwium z 2019r. (Błyskawica)
Kod, który pisaliśmy na zajęciach jest dostępny tutaj.
- lab 13 i 14 - Kończenie wyjątków, omówienie zadania zaliczeniowego, wstęp do typów generycznych
Kod, który pisaliśmy na zajęciach jest dostępny tutaj.
- lab 15 i 16 - Typy generyczne, wariancja, para, Optional, SOLID (na razie tylko SOL), Heroes 3
Kod na zajęcia jest tutaj.
Kod po zajęciach jest tutaj.
- lab 19 i 20 - Kolekcje, Stream, DRY, KISS, YAGNI, Lombok, Heroes 3 kontynuacja
Dokumentacja Lomboka: https://projectlombok.org/features/
Fanowska dokumentacja gry: http://h3.heroes.net.pl/
Algorytm obliczania zadawanych obrażeń: https://mightandmagic.fandom.com/wiki/Damage_(Heroes)
Kod na zajęcia jest tutaj.
Interaktywny tutorial GITa, który skupia się na zarządzaniu branchami link.
Materiały o gicie do IPP tutaj.
Kod do scenariusza o funkcjach lambda jest tutaj.
lab 23 i 24 - GIT kontynuacja, omawianie zadania zaliczeniowego.
lab 25 i 26 - Java Stream, Wzorce projektowe: budowniczy i dekorator.
Dodatkowe materiały o wzorcach projektowych: https://refactoring.guru/design-patterns/catalog
- lab 27 i 28 - JavaFX, Maven
Scenariusz o Mavenie jest tutaj.
PO 2020/2021
- lab 1 -
UML
podstawy
Diagram, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 2 -
UML
zaawansowany
Diagram, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 5 - Klasy podstawy
Kod, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 6 - Referencje
Kod, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 7 - Interfejsy, dziedziczenie, typy enumeracyjne
Kod, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 8 - Większy projekt
Treść zadania jest dostępna tutaj.
Kod, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 9 - Optional, List, testy jednostkowe
Kod, nad którym pracowaliśmy na zajęciach jest dostępny tutaj.
- lab 10 - Typy generyczne, kolekcje
Kod, nad którym pracowaliśmy na zajęciach, oraz treść zadania są dostępne tutaj.
- lab 11 - Przeciążanie, wyjątki
Kod, nad którym pracowaliśmy na zajęciach, oraz treść zadania są dostępne tutaj.
- lab 12 - Maven, Lombok, Spring, Wzorce projektowe
Kod projektu jest dostępny tutaj.
- lab 13 - Rekordy vs lombok.Value, antywzorzec singleton, wildcards, kolekcje
Kod projektu jest dostępny tutaj.
Punkty z prac domowych:
1p. zadanie o szybkości
1p. laby 2 - schemat UML
1p. laby 4 - java imperatywna (vs funkcyjna)
1p. laby 6 - java referencje
2p. laby 10 - java typy generyczne, kolekcje
2p. laby 11 - java wyjątki
6p. zadanie dodatkowe
Ostatnie zadanie obejmuje tematykę adnotacji oraz refleksji. Zadanie składa się z 3 części:
- 3p. Bazowa część zadania - napisanie własnej adnotacji i użycie prostych refleksji.
- 3p. Rozszerzenie - bardziej zaawansowane refleksje oraz varargs.
- 3p. Rozszerzenie - użycie profilera do zmierzenia wydajności kodu.
Za zadanie można zdobyć maksymalnie 6 punktów, wynik liczymy wzorem min(6, baza + rozszerzenie_1 + rozszerzenie_2)
.
Termin oddania zadania to 23 czerwca 23.59, proszę je wstawić na moodle w zakładce Zadanie 13 do uznania prowadzącego ćwiczenia
.
Treść zadania jest dostępna tutaj.
A gdzie miejsce na:
kolekcjewzorce projektowestrumienie(i całą resztę programowania funkcyjnego)- refleksje
- adnotacje
bibliotekę standardowązałączanie zewnętrznych bibliotekmavena/gradle/ant- profiler
lombokajunit- ...