~~NOCACHE~~ ~~REVEAL theme=simple&disableLayout=0&transition=none&controls=1&show_progress_bar=1&build_all_lists=0&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024x768~~ ====== Kurs Java ====== * semestr letni 2025/26 * zajęcia: wtorki, godz. 8:30-10:00, sala A.0.06 (PK4) * konsultacje: wtorki, godz. 10:00-12:00, sala B.2.17 * e-mail: grochu@is.umk.pl ===== Zaliczenie zajęć ===== * zaliczenie 50% zadań realizowanych w trakcie laboratoriów * projekt zaliczeniowy * ocena końcowa - średnia ważona z oceny z zadań (waga 0.5) oraz oceny z projektu (waga 0.5) ===== Rozwiązania zadań ===== * zadania będą realizowane w trakcie laboratoriów * rozwiązania zadań oraz kody realizowane na zajęciach należy umieszczać w prywatnym repozytorium GitHub (link w mailu) * zadania nieukończone w trakcie zajęć można przesłać najpóźniej w ciągu tygodnia od daty zajęć, na których zadanie było realizowane * ocena zadań będzie umieszczana w pliku ''oceny.md'' w repozytorium ===== ===== * rozwiązanie muszą być przygotowane samodzielnie, bez pomocy innych osób. W razie wątpliwości, prowadzący może poprosić o dodatkowe wyjaśnienia lub rozmowę w celu ustalenia stopnia samodzielności rozwiązania ===== Projekt zaliczeniowy ===== * termin zgłaszania tematu: 15 maja 2026 r. * termin realizacji: 15 czerwca 2026 r. * zaliczenie projektu - osobiście w trakcie rozmowy z prowadzącym, podczas której należy przedstawić projekt, omówić jego działanie, a także odpowiedzieć na pytania dotyczące projektu i jego realizacji * [[projekty|Wymagania i propozycje tematów projektów]] ===== Literatura ===== * Herbert Schildt, //Java. Kompendium Programisty//, Wydanie XII, Helion 2023 * [[https://intellipaat.com/blog/tutorial/java-tutorial/|Java Tutorial – Learn Java from Scratch]] ===== Laboratoria - plan ===== - [[01_hello|Witaj świecie]] - pierwszy program, wprowadzenie do środowiska Java, InteliJ, sprawy organizacyjne - [[02_skladnia|Wstęp do języka Java]] - podstawowe konstrukcje, typy danych, operatory, instrukcje sterujące - Programowanie obiektowe - klasy, obiekty, dziedziczenie, polimorfizm - Współbieżność - wątki, synchronizacja - GUI - tworzenie interfejsów graficznych, obsługa zdarzeń, AWT, Swing, JavaFX - Programowanie sieciowe - Aplikacje webowe - Spark, Spring, MVC (?) - Aplikacje mobilne dla systemu Android (?) - Testy jednostkowe - JUnit - Biblioteki zewnętrzne - Projekt zaliczeniowy - prezentacja i omówienie projektów - inne (?) ===== Kilka przydatnych odnośników ===== * [[https://github.com/IS-UMK/java26-mg]] - repozytorium z kodami z zajęć ===== Narzędzia ===== * [[https://www.jetbrains.com/idea/|IntelliJ IDEA]] The Leading IDE for Professional Development in Java and Kotlin * [[https://code.visualstudio.com/|Visual Studio Code]] * [[https://github.com/|GitHub]]