Ze względu na obowiązkowy udział w spotkaniu przedwyborczym z JM ks. Rektorem dwóch osób z komisji egzaminacyjnej egzamin komisyjny rozpocznie się wcześniej, tj. o godz. 9:30. Proszę o przybycie kilka minut przed godziną 9:30, aby można było rozpocząć punktualnie.
Archiwa kategorii: Zaawansowane Techniki Programowania 2023
ZTP2023: uwaga! zmiana terminu egzaminu komisyjnego
W związku z Uchwałą Nr 15/2024 Uniwersyteckiej Komisji Wyborczej UKSW z 15.03.2024 w sprawie zwołania zebrania kolegium elektorów Uniwersytetu na dzień 18 marca 2024 r. o godz. 11.00, informuję, że ze względu na obowiązkowy udział w tym zebraniu dwóch osób z komisji egzaminacyjnej, egzamin komisyjny z ZTP zostaje przełożony na 22 marca (piątek) w godz. 10:00-12:00, w s. 316, bud. 21.
ZTP2023: egzamin komisyjny
Egzamin komisyjny z ZTP odbędzie się 18 marca (poniedziałek) w godz. 10:00-12:00, w auli 108, bud. 21. Do egzaminu są dopuszczone tylko te osoby, które uzyskają zgodę Prodziekana ds. studenckich. Formuła egzaminu taka sama jak w pierwszym terminie:
- Egzamin jest pisemny. Proszę zabrać ze sobą kartki papieru i długopisy oraz legitymacje studenckie. Proszę być punktualnie. Prace osób spóźnionych mogą nie podlegać ocenie.
- Szczegółowe zasady udziału są opisane na stronie www: Zasady zaliczenia wykładu, ale nie ma części praktycznej, to znaczy, nie będzie kartki z kodem programu, dla którego należy podać komunikaty wypisywane w oknie konsoli.
- Opuszczenie sali w trakcie egzaminu jest jednoznaczne z zakończeniem egzaminu.
- Zwracam uwagę na zasadę: Na egzaminie nie wolno sięgać do telefonów komórkowych. Telefony w czasie egzaminu muszą być wyciszone i schowane np. w torbie czy plecaku. Telefony nie mogą być w tym czasie trzymane przy sobie, tj. np. w kieszeni spodni czy bluzy. Niestosowanie się do tej zasady skutkuje natychmiastowym zakończeniem egzaminu przez studenta i opuszczeniem sali.
ZTP2023: Wyniki z egzaminu w terminie drugim
Lista ocen osób, które uczestniczyły w egzaminie w drugim terminie. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- ***235 12+ ε 3
- ***274 12.5 3
- ***327 0 2
- ***466 14 3
- ***475 12+ ε 3
- ***478 12+ ε 3
- ***482 9 2
- ***526 4 2
- ***531 10 2
- ***536 6 2
- ***587 9.5 2
- ***595 12.5 3
- ***807 8 2
- ***867 10 2
- ***986 5 2
W razie niejasności, proszę o kontakt mailowy.
Prace będą do wglądu w poniedziałek (26 lutego), w godz. 11:15-12:00 (lub do ostatniej zainteresowanej osoby) w pok. 1247, bud. 12.
ZTP2023: terminy w sesji poprawkowej
- Poprawa oceny z zajęć lab.: 20 lutego (wtorek) w godz. 16:45-20:00, sala 119 w bud. 21. Osoby zainteresowane proszę o przyjście na egzamin ZTP i udział w egzaminie. Jeżeli poprawa da pozytywny wynik, praca egzaminacyjna zostanie sprawdzona. Proszę też o mail z potwierdzeniem chęci udziału. Wystarczy krótki tekst w rodzaju „Zgłaszam swój udział w poprawie ZTP lab.” i podpis. Zgłoszenia są potrzebne, abym wiedział ile przygotować zadań. Zgłoszenia można nadsyłać do niedzieli (18.02) wieczorem.
- Egzamin z ZTP, drugi termin: 20 lutego (wtorek) w godz. 11:30-13:30, aula Schumana. Formuła egzaminu taka sama jak w pierwszym terminie:
- Egzamin jest pisemny. Proszę zabrać ze sobą kartki papieru i długopisy oraz legitymacje studenckie. Proszę być punktualnie. Prace osób spóźnionych mogą nie podlegać ocenie.
- Szczegółowe zasady udziału są opisane na stronie www: Zasady zaliczenia wykładu, ale nie ma części praktycznej, to znaczy, nie będzie kartki z kodem programu, dla którego należy podać komunikaty wypisywane w oknie konsoli.
- Zwracam uwagę na zasadę: Na egzaminie nie wolno sięgać do telefonów komórkowych. Telefony w czasie egzaminu muszą być wyciszone i schowane np. w torbie czy plecaku. Niestosowanie się do tej zasady skutkuje natychmiastowym zakończeniem egzaminu przez studenta i opuszczeniem sali.
ZTP2023: Wyniki z egzaminu w terminie pierwszym
Lista ocen osób, które uczestniczyły w egzaminie w pierwszym terminie. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- ***235 9.5 2
- ***274 8 2
- ***466 11 2
- ***468 15 3.5
- ***475 2 2
- ***478 8 2
- ***482 6 2
- ***511 18 4
- ***512 12 + ε 3
- ***526 6.5 2
- ***531 8 2
- ***536 8 2
- ***553 16 3.5
- ***587 7.5 2
- ***595 10 2
- ***639 16 3.5
- ***658 18 4
- ***659 14 3
- ***807 5 2
- ***810 22.5 5
- ***867 2 2
- ***986 9 2
W razie niejasności, proszę o kontakt mailowy.
Prace będą do wglądu we czwartek (8 lutego), w godz. 12:00-12:30 (lub do ostatniej zainteresowanej osoby) w pok. 1247, bud. 12.
ZTP2023: Wyniki z egzaminu zerowego
Lista osób, które otrzymały ocenę pozytywną z zajęć lab. ale nie zostały zwolnione z egzaminu za bardzo dobre wyniki i osiągnęły co najmniej 50% pkt. na egzaminie zerowym. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- ***238 17.5 4
- ***272 19 4
- ***172 23 5
- ***479 20.5 4.5
- ***533 22.5 5
- ***543 13.5 3
- ***548 14.5 3.5
- ***560 19.5 4.5
- ***561 13 3
- ***563 18.5 4
- ***578 14.5 3.5
- ***579 14 3
- ***585 12 + ε 3
- ***594 13 3
- ***627 19.5 4.5
- ***637 20.5 4.5
- ***677 15 3.5
- ***729 15 3.5
Lista osób, które otrzymały ocenę pozytywną z zajęć lab., nie zostały zwolnione z egzaminu za bardzo dobre wyniki i uczestniczyły w egzaminie zerowym, ale liczba zdobytych na egzaminie punktów nie przekroczyła progowej wartości 50% możliwych do zdobycia. Wiersze zawierają trzy ostatnie cyfry nr indeksu.
- ***235
- ***466
- ***468
- ***475
- ***478
- ***482
- ***511
- ***512
- ***526
- ***531
- ***536
- ***553
- ***595
- ***658
- ***867
W razie niejasności, proszę o kontakt mailowy.
ZTP2023: Lista osób zwolnionych z egzaminu
Lista zawiera trzy ostatnie cyfry numeru indeksu osób zwolnionych z egzaminu za bardzo dobre wyniki na zajęciach lab.
- ***065
- ***245
- ***378
- ***467
- ***487
- ***497
- ***501
- ***534
- ***545
- ***614
Osoby te z egzaminu z wykładu otrzymują ocenę taką, jaką otrzymały z zajęć lab. tj. 5 (bardzo dobry), która zostanie wpisana do protokołu USOS jako ocena zdobyta w pierwszym terminie.
W razie niejasności proszę o kontakt mailowy.
ZTP2023: Informacje organizacyjne na koniec semestru
Poprawa jednej oceny z zajęć lab.
- Dn. 17 stycznia (środa) w pracowni komputerowej 119, bud. 21, w godz. 11:30 – 14:45 odbędą się zajęcia lab., na których będzie można uzyskać ocenę, która zastąpi jedną z ocen uzyskanych na zajęciach lab. w semestrze.
- Zajęcia lab. w dn. 17 stycznia nie są obowiązkowe. Są to zajęcia tylko dla osób, które chcą skasować jedną ze swoich ocen i zastąpić ja nową oceną zdobytą na tych zajęciach. Np. jeżeli ktoś ma trzy zera z zajęć, co oznacza, że otrzyma ocenę negatywną z lab., może przyjść, aby zdobyć lepszą ocenę, która zastąpi jedno z tych zer.
- Przed rozpoczęciem zajęć wszystkim uczestnikom kasowana jest jedna, wskazana przez nich ocena z zajęć lab. w semestrze. Jeżeli jest to ocena inna niż zero punktów, wskazane punkty są tracone bezpowrotnie.
- Na zajęciach będzie do zrobienia jedno zadanie, za które można zdobyć do 10 pkt. Zadanie obejmuje materiał całego semestru. Warunki realizacji są takie same jak na zajęciach w semestrze, tj. praca samodzielna bez korzystania z zasobów internetu (za wyjątkiem strony https://cplusplus.com/ oraz platformy learningowej UKSW).
- Zajęcia w tej sali są wspólne dla zainteresowanych z wszystkich trzech grup.
W razie niejasności proszę o pytania mailem.Warunki zwolnienia z egzaminu za bardzo dobre wyniki z lab. zostaną ustalone dopiero po zakończeniu semestru, kiedy będą znane wszystkie wyniki z lab.
Egzamin zerowy
- Dn. 25 stycznia (czwartek) w sali wykładowej 205, bud. 21, w godz. 16:45 – 18:15 planowany jest egzamin zerowy z ZTP.
- Egzamin jest pisemny. Proszę zabrać ze sobą kartki papieru i długopisy oraz legitymacje studenckie. Proszę być na miejscu kilka minut wcześniej, ponieważ sala zostanie otwarta już w trakcie przerwy, tak aby punktualnie o godz. 16:45 można było rozpocząć egzamin.
- Szczegółowe zasady udziału są opisane na stronie www: Zasady zaliczenia wykładu, ale uwaga: (1) egzamin nie ma części praktycznej, to znaczy, nie będzie kartki z kodem programu, dla którego należy podać komunikaty wypisywane w oknie konsoli, (2) wszystkie osoby, które mają szansę na ocenę pozytywną z lab. na koniec semestru są oczekiwane na egzaminie.
- Ocenie podlegają prace egzaminacyjne tylko tych osób, które na koniec semestru, tj. 26 stycznia (piątek) będą miały z zajęć lab. dostateczną liczbę punktów oraz spełnią warunki gwarantujące ocenę pozytywną.
- Oceny pozytywne uzyskane z tego egzaminu są wpisywane do protokołu jako zdobyte w pierwszym terminie.
- Oceny negatywne nie są nigdzie wpisywane i są zapominane.
- Jeżeli będą takie osoby, które zostaną zwolnione z egzaminu za bardzo dobre wyniki lab., to proponowana im ocena zastąpi ocenę z egzaminu zerowego. Jednak decyzja o zastosowaniu w tym roku zwolnień z egzaminu za bardzo dobre wyniki jeszcze nie została podjęta.
- Brak zainteresowania (niedostateczna liczba studentów na sali) spowoduje odwołanie egzaminu zerowego.
Zwracam uwagę na zasadę: Na egzaminie nie wolno sięgać do telefonów komórkowych. Telefony w czasie egzaminu muszą być wyciszone i schowane np. w torbie czy plecaku. Niestosowanie się do tej zasady skutkuje natychmiastowym zakończeniem egzaminu przez studenta i opuszczeniem sali.
ZTP2023: Zadania przed lab.7
Założenia
Przyjmijmy, że mamy zbiór punktów w przestrzeni n-wymiarowej, przy czym współrzędne pojedynczego punktu są reprezentowane w postaci wektora liczb rzeczywistych o długości n. Mówimy, że punkt A dominuje nad punktem B, jeżeli dla każdej współrzędnej A(i) odpowiadająca jej współrzędna B(i) jest mniejsza lub równa, oraz istnieje co najmniej jedna taka współrzędna j dla której A(j)>B(j). Można też wtedy powiedzieć, że B jest zdominowane przez A. Jeżeli natomiast dla pary punktów taki warunek nie jest spełniony, tj. ani A nie dominuje nad B, ani B nad A, wtedy uważamy punkty A i B za nieporównywalne względem siebie.
W zbiorze punktów punkt niezdominowany to taki, który może tylko dominować lub być nieporównywalnym z wszystkimi pozostałymi punktami.


Zadanie #1
Wygeneruj zbiór 100 losowych punktów w przestrzeni n-wymiarowej, po czym znajdź w nim zbiór punktów niezdominowanych. Algorytm znajdowania punktów niezdominowanych polega na porównaniu każdego punktu ze wszystkimi pozostałymi (nie dokonujemy porównania punktu z samym sobą). Jeżeli dla aktualnie sprawdzanego punktu z żadnego porównania nie wyniknie, że jest zdominowany, to znaczy, że jest niezdominowany. Kopię znalezionego punktu niezdominowanego należy zapisać w kontenerze pomocniczym. Na koniec sprawdzania kontener pomocniczy zawiera wyłącznie punkty niezdominowane.
Algorytm można zrealizować z pomocą dwóch kontenerów zawierających zestawy tych samych 100 punktów oraz kontenera pomocniczego, który początkowo jest pusty. Punkty z pierwszego kontenera są punktami sprawdzanymi, a punkty z drugiego – punktami z którymi dokonywane jest sprawdzenie. Do kontenera pomocniczego trafiają kopie tych punktów z kontenera pierwszego, które okazały się niezdominowane. Realizacja czynności odbywa się za pomocą dwóch pętli for – zewnętrznej (punkty z pierwszego kontenera) i wewnętrznej (punkty z drugiego kontenera).
Po zaimplementowaniu algorytmu spróbuj zaimplementować go ponownie, ale tym razem bez używania pętli for, while, repeat, natomiast stosując algorytmy STL oraz własne lub biblioteczne obiekty funkcyjne. Sprawdź, czy uzyskałeś ten sam wynik.
Zadanie #2
Wygeneruj zbiór 100 punktów losowo rozłożonych na okręgu (w przestrzeni 2-wymiarowej) o promieniu 1 (zobacz Zadania przed lab. 6: zadanie #2), po czym znajdź w nim zbiór punktów niezdominowanych. W kontenerze uporządkuj rosnąco niezdominowane punkty pod względem ich pierwszej współrzędnej. Wykorzystując algorytm adjacent_difference (slajdy 121 i 122, wykład 9) policz odległości euklidesowe miedzy sąsiednimi punktami (tj. między punktami 1 i 2, 2 i 3, 3 i 4, itd.). Uwaga: w obiekcie funkcyjnym służącym do obliczenia odległości euklidesowej miedzy dwoma punktami skorzystaj z algorytmu inner_product, tak jak to jest pokazane na slajdzie 121 wykładu 9. Policzone odległości zapisz do pomocniczego kontenera, a na koniec policz średnią odległość między punktami oraz wariancję tej odległości.
Przy pisaniu kodu programu unikaj pętli for, while, repeat, a zamiast nich stosuj algorytmy STL oraz własne lub biblioteczne obiekty funkcyjne.
Wskazówka: kod zawierający przykładowy fragment rozwiązania zadania 2 – wykorzystanie algorytmu inner_product do policzenia odległości euklidesowych miedzy sąsiednimi punktami: ZTP_Zad2przedLab7.cpp
Hint:
Zadanie dotyczące znajdowania zbioru punktów niezdominowanych może pojawić się na lab.7. Na zajęciach można będzie wykorzystać fragmenty własnego kodu opracowanego w domu.
