12. Jan 2021 |

IADB IT-süsteemide arendus – 3. semestri lõpp

Täna (11.01.2021) oli  mul selle semestri viimane eksam. Üldine tunne on selline nagu semester oleks olnud ainult rongiõnnetus aga kui lähemalt vaadata, siis ei olnud midagi hullu.

Tehtud sai kolm kohustuslikku ainet. Ühes kohustuslikus aines ebaõnnestusin ja lisaks tegin ühe kohustusliku aine VÕTAga. Seega selle semestri tulemuseks on 18 EAP + 6 EAP VÕTAga = 24 EAP. Loodetavasti ei pea ainepunktide eest veel maksma hakkama 🙂

Koguarvestuses 78/108 EAP kohustuslikest ainetest on praeguseks tehtud.

Sel semestril

Õpingutega tehtud (ja semestri koormusarvestuses 18 EAP)

  1. Andmebaasisüsteemide alused (ICA0005, 6 EAP)
  2. Algoritmid ja andmestruktuurid (ICD0001, 6 EAP)
  3. Veebitehnoloogiad (ICD0007, 6 EAP)

VÕTAga tehtud (ja semestri koormusarvestuses 6 EAP)

  • Tõenäosusteooria ja matemaatiline statistika  (ICY0006, 3 EAP) – selle tegin VÕTA abil kasutades Tartu Ülikoolis läbitud kursust Statistiline analüüs (MTMS.01.085/1, 4.5 EAP). Kohustuslik aine õppekavas.
  • Ärisuhtlus ja suhtlemispsühholoogia (ICY0013, 3 EAP). Õppekavas valikaine aga annab EAPsid selle semestri koormusarvestuse jaoks.

Ebaõnnestunud (ja ei ole semestri koormusarvestuses)

  • Programmeerimine C# keeles (ICD0008, 6 EAP) – selle pean sügisel uuesti tegema. Eriti, kuna tegemist on ühega praktika eeldusainetest.

Andmebaasisüsteemide alused

Väga kasulik aine. Peamiselt olemi-suhte diagrammide joonistamine. Loe lähemalt Marko blogist.

Praktiline näide ka, et kohe sain seda probleemi lahendades aru, miks andmebaasist 3M kande kustutamine võtab aega 🙂 Indeksid on ju vaja uuesti teha.

Üks mõte oleks, et õppematerjal oleks mõistlik telefonis tarbivale kujule viia. Üks hea ja kasulik materjal selles valdkonnas (bookmark endale) on RIA Relatsiooniliste andmemudelite koostamise juhend.

Algoritmid ja andmestruktuurid

Õppematerjali leiab siit.

Minu areng on ilmselge. Lahendus, mida ma õppetöö ajal kirjutasin pea kaks nädalat (ja tõesti väga kõvasti pead murdsin), kirjutasin eksamil tunnikesega valmis. Hea edasiminek algoritmilises mõtlemises.

4. kodutöö juures olin üsna murelik, kas aine üldse tehtud saan. Töö sisuks oli puu teisendamine ühelt kujult teisele: prefix → Node tree (ei pruugi olla binary tree) → postfix. Aga suur nuputamine tasus lõpuks ära.

Õppejõud on väga hea ja elas mu pingutusele hästi kaasa ja andis kasulikke vihjeid lahenduse osas. Taaskord oli abi Lorentsi “süsteemide selitamise” loengutest (et ennast motiveerida).

Iseseisva töö teema valimine oli ka huvitav, kui veel täpselt ei tea, mida teema sõnastuses need sõnad üldse tähendavad 😀 Aga tehtud ta sai ja päris kenasti.

Veebitehnoloogiad

Php, MySQL ja näpuotsaga JavaScripti. Minu areng on olnud ilmselge, sest varem ehitatud veebirakendustes ma tahaks nii palju ümber teha 🙂 Praktiline, kasulik ja soovitan kõigile. Kui ma oleksin sellise aine olemasolust teadlik olnud, siis ma oleksin selle juba ammu-ammu enne TalTechi astumist võtnud.

Mõnes õppekavas on see esimese semestri aine, mis minu arust on natuke vara. Seda on palju lihtsam teha, kui Python ja Java on läbitud ning andmebaaside aine käib paralleelselt. Loe lähemalt Marko blogist.

Programmeerimine C# keeles

Selles aines tegin endale Youtube’i timestampitud C# playlisti (sel põhjusel, et see on mugavam kui Echo360) ja õppematerjal on õppejõu Gitlabis.

Väga hea aine ja mul tõesti on soov selles valdkonnas hea/tugev olla (heaks saada).

Kui ma olen püüdnud mõelda, kus läks keeruliseks, siis ilmselt üks koht kindlasti on üleminek test-driven arenduselt sellele teisele, kus teste pole ja ülesanne on natuke üldisem. Seni (Java, Python, veebitehnoloogiad) on ülesanded seisnenud selles, et kirjutada koodi, mis läbib testid (ehk siis vastaks mingitele tingimustele) ja juhend/nõuded on üsna täpselt vormistatud.

C# eksamile pääsemise tingimuseks oli kaitstud kolm kodutööd, mille iseloomustus on üsna üldine.  Kodutööd moodustavad 50% hindest (millest omakorda 50% on tähtajaks esitamine, 50% on koodi kaitsmine):

  1. Menu system for console applications
  2. Implement basic battleship game boards, allow 2 players to place bombs on them
  3. Build a console game – “Battleship”. Implement saving games and board layouts and settings into EF Core based database.

Kaks esimest ma tegin tähtajaks ära ja kolmandat pusisin ka. Lõpuosas ma pole veel aru saanud, kas see Razor Pages versioon (ehk siis brauseris mängimine) oli ka kodutöö või mitte.

Ma arvan, et minu jaoks natuke keeruliseks läks seal, kus andmebaas hakkas ehituma “ise” koodi põhjal (ORM?, mitte ise koostatud SQL skriptiga (mis omakorda on valmis kirjutatud ERDi põhjal)). Selle abstraktsiooniga kaasa ei jõudnud mõelda tol hetkel. Eriti kui C# osas on mõistmine kohati habras (nt mis on Delegates, Func, Action, States, ICollections jne). Sinna juurde veel see ka, et EF arusaamine ka habras.

Aga eks ma pean ise natuke aktiivsem ilmselt olema abi küsimisega. Seda ma tean juba varasemast ja mulle on seda varem ka öeldud juhendajate poolt, et ma ei kipu eriti küsima ja siis aega kulub rohkem.

Update: .NET sai siin HN teemas palju kiita ja siin arutelu, et miks see nii populaarne ei ole.

Ja üks asi veel

Arvutigraafikat (ICD0002, 6 EAP), mille valisin sel semestril vabaaineks ja mis osutus täiesti valeks asjaks (kirjutasin siin), ma ei hakanud tegema. Ebavajalik ja ajakulukas. Tõenäoliselt tuleb see ka MA aga kuna tegemist on vabaainega, siis vist muretsemiseks põhjust pole rohkem kui et keskmist hinnet langetab.

Kohustuslikud ained, mis on veel jäänud teha praeguse seisuga

Programmeerimine C# keeles (6EAP) – sügisel uuesti
Hajussüsteemide ehitamine (6EAP) – kevad
Tarkvaratehnika (6EAP) – kevad
Füüsika mittefüüsikutele (3EAP) – sügis
Keskkonnakaitse ja säästev areng (3EAP) – sügis
Veebirakendused Java baasil (6EAP) – sügis

Valikaineid ja vabaaineid on ka veel muidugi vaja teha.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.