Paaristöö
Esimese töö kaitsmine
- Avage oma kodutöö 1 IntelliJ's (vm. IDEs, et seda oleks
võimalik muuta).
- Kui teil pole oma esimese kodutöö viimast seisu bitbucket'is
(või github'is), siis looge commit
"Seis praktikumi alguses" ning laadige see üles. Vajadusel
vaadake eelmise praktikumi materjale.
- Õppejõud määrab teile paarilise selleks praktikumiks.
- Seletage oma paarilisele programmi tööpõhimõtet (nii, et
paariline tõesti aru saaks).
- Avage kodutöö viimane esitus Moodle's ja näidake paarilisele
töö esitamise aega, õppejõu viimast kommentaari töö kohta (peab
sisaldama "ok") ning programmi lahendamisaega serveris. NB! kõik
automaattestid peavad läbi minema, allikad peavad olema
viidatud.
- Paariline teeb samuti kõik eelnevad sammud, misjärel võrrelge
lahendamisaegu Moodle's.
- Tehke paarilisele vähemalt kaks konkreetset ettepanekut
koodi parendamiseks (raamatu "Clean Code" vaimus, vt. Moodle).
Võimalikud aspektid:
- kasutatud algoritmi arusaadavus
- koodi töökiirus
- koodistiil ja programmi loetavus
- kommentaaride ja viidete lisamine, eemaldamine või
parandamine
- Paarilise rollis viige sisse programmi muudatused, millega
olete nõus, kontrollige, et need töötavad (s.h. läbivad kõiki
teste) ja et paariline on rahul.
- Tehke uus commit "Partneri
Nimi ettepanekul parendatud kood" ning
laadige see bitbucket'isse (või github'i), paariline teeb oma
koodiga sama.
- Näidake koos paarilisega oma viimane commit
bitbucket'is (või github'is) õppejõule ette.
- Õppejõud vestleb ja küsib küsimusi teie paarilise töö kohta
(loodetavasti saite sellest täielikult aru - vajadusel minnakse
uuele ringile).
- Õppejõud kannab hinded ÕISi.
Teise töö kaitsmine
- Avage kodutöö 2 programm täienduste tegemiseks.
- Kui teil pole oma teise kodutöö viimast seisu bitbucket'is,
siis looge commit "Seis praktikumi
alguses" ning laadige see üles.
- Avage kodutöö viimane esitus Moodle's ja näidake paarilisele
töö (nii programmi kui ka tabeli) esitamise aega ning õppejõu
viimast kommentaari (peab sisaldama "ok"). NB! kõik
automaattestid peavad läbi minema, allikad peavad olema
viidatud.
- Selgitage oma lahenduse tööpõhimõtet.
- Avage mõõtmistulemuste graafik ja võrrelge seda paarilise
graafikuga.
- Leidke koostöös paarilisega kolmas
versioon kahendpistemeetodist, mis erineks teie mõlema
poolt pakutud versioonidest, ja realiseerige see.
Võimalikud versioonid:
- kahendotsimine tsükli abil otse järjestamismeetodi sees
- kahendotsimine eraldi rekursiivse meetodi abil
- kahendotsimine eraldi mitterekursiivse meetodi abil
- Arrays.binarySearch kasutamine
- ...
- Testige uus lahendus ja võrrelge seda kiiruse osas enda
eelmise lahendusega. Pange ühte arvutisse kokku enda
versioon, paarilise vana versioon ning loodud uus versioon ja
tehke mõõtmised nende kolme meetodi võrdlemiseks. Lisage andmed
tabelisse ja graafikule.
- Mõlemad partnerid peavad oma arvutis tööle panema kõik kolm
versiooni kahendpistemeetodist.
- Tehke uus commit "Partneri
Nimi abil loodud lahendus" ning laadige
see üles, paariline teeb oma koodiga sama.
- Näidake oma viimane commit ning uuendatud tabel ja
graafik kolme kahendpistemeetodi realisatsiooni võrdlemiseks
õppejõule ette.
- Õppejõud vestleb ja tunneb huvi erinevate variantide kiiruste
vastu.
- Õppejõud kannab hinded ÕISi.
Jaanus Pöial