====== Programowanie obiektowe ====== :!: Terminy egzaminów [[http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=programowanie_obiektowe#egzaminy|...więcej informacji]] *I termin: 03.02.2020 (poniedziałek) 16:30-18:30 B1-H24 *II termin: 10.02.2020 (poniedziałek) - 14:00-16:00 C2 224 *III termin: 13.02.2020 (czwartek) - 14:00-16:00 C2 429 :!: Zaliczenia ćwiczeń - kolokwium dodatkowe Planowane na 4.02.2020 godzina 14.00 C1 511A ===== Tekst wykładów ===== *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w1-java-wprowadzenie.pdf|Wykład 1: Wprowadzenie,​ ogólny opis języka]] ​ *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w2-3-java-skladnia.pdf|Wykład 2-3 Elementy składni, rozmieszczenie obiektów w pamięci, klasa String, tablice]] ​ *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w4-5-java-klasy.pdf|Wykład 4-5 Klasy, pola, metody, konstruktory,​ klonowanie]] ​ *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w6-java-interfejsy-klasy-wewnetrzne.pdf|Wykład 6 Intefejsy, klasy wewnętrzne,​ wyliczenia]] *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w7-java-wyjatki.pdf|Wykład 7 Wyjątki]] *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w8-java-generics.pdf|Wykład 8 Typy generyczne]] *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w9-java-lambdas.pdf|Wykład 9 Wyrażenia lambda i strumienie]] *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w10-java-threads.pdf|Wykład 10 Wątki]] *[[http://pszwed.kis.agh.edu.pl/wyklady_java/w11-java-gui.pdf|Wykład 11 GUI]] Zakres materiału: *powyżej [[https://education.oracle.com/product/pexam_1Z0-808]] *częściowo pokrywa [[https://education.oracle.com/java-se-8-programmer-ii/pexam_1Z0-809]] ===== Kolokwia i sprawdziany ===== [[http://pszwed.kis.agh.edu.pl/wyklady_java/lab/2019-programowanie-obiektowe-oceny.pdf|Punkty z laboratorium]] [[sprawdzian_21_01-2020|Kolokwium]] [[po:galeria_choinek|Galeria choinek 2017]] ===== Repozytoria git ===== Dla każdego uczestnika zajęć zostało założone repozytorium git. Lista loginów i repozytoriów jest dostępna jako [[http://pszwed.kis.agh.edu.pl/wyklady_java/lab/2019-programowanie-obiektowe-git.pdf|plik PDF]]. Lista jest zabezpieczone hasłem (takim, jak do wykładów). Hasła do repozytoriów zostaną podane podczas zajęć. Proszę o nabycie pewnej sprawności technicznej przy korzystaniu z repozytorium,​ ponieważ będziecie Państwo przekazywali kod: * podczas //​kartkówek//​ (10-15 min na napisanie jednej funkcji uzupełniającej realizowane wcześniej zadania) * kolokwium Jeśli przesyłanie plików nie zadziała - konieczne będzie przepisywanie kodu na kartkę ​ :-( === Inicjalizacja lokalnego repozytorium i połączenie z repozytorium zdalnym === Wykonaj następujące kroki w oknie terminala: - przejdź do katalogu programowania obiektowego (katalog nadrzędny ponad Lab1, Lab2,...) - użyj komendy ''​cd <​programowanie-obiektowe>'' ​ - ''​git init'' ​ (zainicjuje repozytorium w bieżącym katalogu) ​ - ''​git add *''​ (doda pliki i foldery znajdujące w w bieżącym katalogu i podkatalogach) - ''​git commit -m "​jakiś komunikat z krótkim opisem dodanych plików"''​ (pliki zostaną umieszczone w lokalnym repozytorium,​ czyli trafią w skompresowanej postaci do podkatalogu .git ​ - ''​git remote add origin <​nazwa-twojego-repozytorium>'' ​ - ''​git push origin master''​ (Zostaniesz poproszony o podanie nazwy użytkownika i hasła; w zależności od konfiguracji może być ono zapamiętane lokalnie. Następnie pliki powinny być przekazane na serwer.) === Przekazywanie plików === Od tego czasu będziesz mógł przekazywać pliki do repozytorium wykonując trzy polecenia: - ''​git add *'' ​ - ''​git commit -m "​komunikat"''​ - ''​git push origin master''​ Alternatywnie,​ można przekazywać pliki z poziomu IntelliJ (lub Netbeans) za pomocą opcji VCS (Team) -> Commit changes. Być może trzeba będzie potwierdzić,​ że katalog nadrzędny ''<​programowanie-obiektowe>''​ jest objęty kontrolą wersji (komunikat //VCS root detected//​). === Tworzenie kopii lokalnej repozytorium === Aby pobrać pliki z repozytorium na lokalny komputer (np. domowy) użyj komendy\\ ''​git clone <​nazwa-twojego-repozytorium>​ [opcjonalnie:​katalog]'' ​ === Pobieranie plików ze zdalnego repozytorium === Po zalogowaniu się na komputerze w laboratorium użyj komendy: ''​git pull origin master'',​ aby uaktualnić lokalne pliki (pobrać zmiany z repozytorium). To samo można wykonać z poziomu IDE: VCS (Team) -> Remote -> Pull === Problemy ? === Konflikty dla pliku tekstowego -> użyj ''git mergetool'': *[[https://stackoverflow.com/questions/161813/how-to-resolve-merge-conflicts-in-git]] Wybór jednego z plików powodujących konflikt: *[[https://medium.com/@joshsaintjacque/resolving-merge-conflicts-in-binary-files-79df5aacd86f]] ===== Egzaminy ===== ** Uprzejmie informuję, że do egzaminu można podejść bez uzyskania zaliczenia z ćwiczeń ** * Po pierwsze nie jestem w stanie efektywnie sprawdzić, czy ktoś ma zaliczenie, zwłaszcza przy kapryśnym funkcjonowaniu wirtualnego dziekanatu * Po drugie, i tak pozytywna ocena końcowa może być wystawiona pod warunkiem uzyskania pozytywnych ocen z laboratorium i egzaminu ​ ==== Zasady ==== * Egzamin organizowany jest w formie testu jednokrotnego wyboru (ale są pytania typu: //Które stwierdzenie jest nieprawdziwe...//​) * Do wyboru jest jedna z czterech odpowiedzi. * Wartość oczekiwana testu wynosi 0. Stąd: * Za poprawną odpowiedź przydzielany jest 1 pkt * Za niepoprawną -1/3 pkt * Za brak odpowiedzi 0 pkt ​ * Test obejmuje 36 pytań. ​ * Podczas egzaminu nie można korzystać z materiałów i pomocy, telefonów komórkowych i sprzętu komputerowego. ​ ==== Terminy ==== *I termin: 03.02.2020 (poniedziałek) 16:30-18:30 B1-H24 *[[http://​pszwed.kis.agh.edu.pl/wyklady_java/java-2020-termin-i.pdf|Wyniki...]] *Możliwość oglądania prac - czwartek 06.02.2020 godzina 13.00 *II termin: 10.02.2020 (poniedziałek) - 14:00-16:00 C2 224 *[[http://​pszwed.kis.agh.edu.pl/wyklady_java/java-2020-termin-ii.pdf|Wyniki...]] *III termin: 13.02.2020 (czwartek) - 14:00-16:00 C2 429 ==== Ocena końcowa ==== Ocena końcowa jest obliczana jako średnia ważona (około //(1-k)// ocena z egzaminu i //k// z zaliczenia). ​ Współczynnik //k =0.5//. Np. jeżeli ktoś uzyskał 5.0 z zaliczenia i 4.5 z egzaminu, oceną końcową będzie 5.0