25. Jan 2020 |

IT-süsteemide arenduse (IADB) õppe esimene semester

Vaata ka:

Või noh, tegelt kogu kooli kategooria on super 🙂


Esimene semester sai sel nädalal läbi. Ülehomme algab uus, kell 8 hommikul. Kirjutan lühidal siia ka, kuidas asjad läksid.

Algus on olnud üsna pöörane. 7 ainet (35 EAP) tehtud. Kaks neist olid pisemad. Matemaatika täiendusõpe (YMA0090) 3 EAP ja programmeerimise täiendusõpe (ITI0002 ) 2 EAP. Teised kõik suured 6 EAP:

  • Diskreetne matemaatika (IAX0010)
  • IT eetilised, sotsiaalsed ja professionaalsed aspektid (ICY0004)
  • Hulgad, seosed, süsteemid (ICY0024)
  • Sissejuhatus infotehnoloogiasse (ITI0101)
  • Programmeerimise algkursus (ITI0102)

Kirjutan praegu lühidalt aga täiendan tulevikus, kui midagi meenub.

Diskreetne matemaatika

See õppeaine tundus alguses märksa keerukam. Sisuliselt on aine läbimiseks vaja endale selgeks teha kümmekond arvutusprotseduuri. Näiteks loogikafunktsioonide minimeerimine Quine-McCluskey meetodil, Karnaugn kaardi abil, funktsiooni esitamine Reed-Mulleri baasis jne. Soovitan käia loengutes, praktikumides, lahendada ise näidisülesandeid ja kindlasti Moodle testid ära teha (10% hindest!) ja kodutöö hästi korralikult teha (10% hindest + saad kõik vajaliku selgeks).

Õppejõududel on väga hea õpik aine läbimiseks ning rohkelt õppematerjale. See aine on täiesti tehtav.

Loengud on esimestel kordadel kõvasti ülerahvastatud (kaks auditooriumit on täis). Pärast paari esimest loengut kolitakse ühte audikasse ja lõpuks ei jää sinnagi eriti kedagi. Põhitöö tehakse ära praksides. Loenguid saab nii otse kui ka järelvaatamisena videost vaadata. Ma ise vaatasin otse (sest nii püsib tempo peal) ja tegin seda raamatukogus.

Hulgad, seosed, süsteemid

Kontrolltööd ja eksam on avatud materjalidega. Ma seda alguses ei teadnud. Aga, isegi nii ei ole võimalik ilma õppimata ainest läbi saada, kui asjadest tegelikult aru ei saa. See on selline aine, kus asjadest aru saamine võib võtta natuke aega. Mõned asjad said selgeks alles pärast eksamit. Näiteks hakkasin kahtlema, kas väiksem naturaalarv on suuremas naturaalarvus elemendiks või on ta suurema naturaalarvu elemendi elemendiks 😀 Õige vastus on vist siin. Olen mõelnud, kas võiks kiirelt lahti kirjutada peamised keerukused, mis ette tulid. Aga noh, vaatab.

Hulgad, seosed, süsteemid on osalejate keskmise hinde poolest 2. kohal, kui reastada alates kõige madalamast. Allikas: TalTech ÕIS, 2017-2019.

Aine tehtud saamise võti on see, et orienteerud tähistes ja mõistetes ning oskad hulgateooria kirjutised enda jaoks ümber sõnastada “inimese keelde”. Näiteks tead, et seos on korteežide kogum, funktsioon on funktsionaalne seos, omadus on osahulk; iseenda elemendiks ei olda; iseenda osahulgaks ollakse jne.

Kindlasti üks huvitavamaid aineid aga kohati hakkas kontrolltöödeks ettevalmistamise koormus segama progemise ülesannete lahendamist. Loengud on huvitavad, hea huumorimeele ja näitelugudega õppejõud. Soovitan kasutada õppejõu tehtud õpikuid. Nendes on päris häid näiteid, mis aitavad asju mõista. Ma kasutaksin selle aine iseloomustamiseks sellist “gurmee aine” terminit, kuna seal oli lihtsalt umbes 20-30 tudengit päevaõppest (ÕIS näitab, et kokku deklareerunuid 87). Võrdluseks, progemise algkursusel oli 550 😀

Programmeerimise algkursus

See on päris krõbe aine ja sain selle üsna napilt tehtud. Kursus võtab hästi palju aega. Kursusele oli registreerunud umbes 550 tudengit (päevaõppes ja kaugõppes). Osade jaoks oli see ilmselt väga lihtne, teiste jaoks (nagu mina) üsna raske. Mõtlen kindlasti kursuse uuesti teha, et APIt ja OOPi puudutav osa ka ära teha. Sel korral jäin seal täiesti hätta.

📌 Õppeaine Youtube’i kanal on leitav siit, et saaksid huvi korral vaadata, mida seal tegime.

Aine seisneb suures osas iseseisvalt ülesannete lahendamises. Igal nädalal on 2 ülesannet, millest üks on lihtsam ja teine raskem. Lahenduste korrektsust kontrollivad ja tagasisidet annavad automaattestid, mida võid kasutada lõputult. Selleks, et ülesanne saada arvestatud, peab test andma vähemalt 50% tulemusest. Õppejõud (Ago Luberg – lihtsalt super õppejõud!) ja abiõppejõud on alati kättesaadavad kursuse Discordis, kui kuskile takerduma peaks. Probleemid tavaliselt korduvad ja vahest aitab lihtsalt Discordi kerimine, et vaadata, kas keegi on sama keerukuse otsa juba sattunud. Õppematerjaliks on Pydoc (ja loomulikult kogu internet). Saan aru, et progemises sellise eesti keelse õppematerjali olemasolu ei ole üldse levinud.

📌 Soovitan: Alguses kõik ülesanded 100% peale ära pusida. Esimesed asjad annavad lihtsalt nii palju punkte võrreldes ajaga, mis neisse tuleb panna. Hiljem mingisugust minesweeperi algoritmi või OOPi asju ilmselt pusid hulga kauem. Algkursus on natuke eksitav nimi. Ma olen varasemalt teinud TÜ programmeerimise alused kursuse (3 EAP), mis oli palju lihtsam. Aga jah, eks heale tasemel jõudmiseks ongi vaja aega sisse panna.

Nii praksid kui loengud on esimestel kordadel kõvasti ülerahvastatud. Hiljem see pisut muutub. Kuna loengud ja praksid kantakse videona ka üle, siis ei ole kohalkäimisel tegelikult eriti mõtet rohkem kui see, et saab vajadusel abiõppejõududelt nõu küsida. Praksides on peamine kodutööde vastamine, mis võtab meeletu aja (võid mitu tundi järjekorras oodata).

Sissejuhatus infotehnoloogiasse

Loe Marko blogist. Õppejõud professor Tanel Tammet.  Väga huvitav sissejuhatav aine. Aine kodulehe (sh loenguvideod ja materjalid leiab siit). Igal nädalal 2 loengut ja loengutes käsitletud teemade kohta testid. Eksami kordamisküsimused ja vahetööde küsimused on mul siin olemas.

Loengud on esimestel kordadel kõvasti ülerahvastatud (2 auditooriumit on täis). Pärast paari esimest loengut kolitakse ühte audikasse ja lõpuks ei jää sinnagi eriti kedagi. Loenguid saab nii otse kui ka järelvaatamisena videost vaadata.

IT eetilised, sotsiaalsed ja professionaalsed aspektid

Loe Marko blogist. Õppejõud Kaido Kikkas. See on sisuliselt kohustuslik aine, mis annab 6 EAP ja midagi eriti tegema ei pea. Eksam on üks lehekülg esseed kirjutada.

Loengud on esimestel kordadel kõvasti ülerahvastatud (2 auditooriumi on täis). Semestri lõpus ei ole loengutes eriti kedagi.

Praegu siin pooleli aga kirjutan edasi.

18. Dec 2019 |

Last day at school this year and… I am confused

TL;DR In order to create some buffer that allows me to study useful things (computer sciences) at a feasible pace I need to study… other things. And it is only my fault.

I am writing it only to clear my thoughts

All my life I have liked going to school and I still do. Initially, my idea was to come to TalTech and to study things that I need. I have written about the need here and everything in the study programme seemed to fit. And NOT to study things that I already have learnt.

I have a master’s degree in business administration and have worked 7 years in an international company. So there is no actual need (at least I feel this way) to study English (12 EAP!!!), basic economics (6EAP!!!), business communication (3EAP), entrepreneurship (3EAP) etc. It is simply a waste of my time without any benefit.

There is a VÕTA solution, that would allow me to get previously mentioned subjects “done”. The snag is that VÕTA does not help meeting the semester’s EAP requirement. And my problem is that I am not simply capable of learning ONLY computer-subjects at the pace that is needed (30EAP worth of “something from the programme” every semester) if I decide not to create a buffer with unnecessary subjects.

So, from next semester I will start learning English to create some buffer. Because otherwise, I would have to pay 40€ every semester for every EAP that I am missing from cumulative EAP requirement.

Curious

I prepared such overview of IADB17/17 subjects. Maybe I am getting it wrong but there are two illustrative KPIs for subjects:

  • The average grade
  • Positive results / declarations ratio

I am curious who suggested that Logic is the only recommended elective course on the 2nd semester’s standard study plan? Nothing else is not even mentioned there 😀 By forementioned KPIs it seems to be the hardest subject on the programme. And for spring semester there are plenty of other things to choose from.

4. Dec 2019 |

Quick school update

Not much time to post, therefore just some quick notes.

I admire my Russian coursemates. It must be so much more difficult for them with this language barrier. I did no see it at Tartu University that much.

I tend to be amused by people’s ability to listen to (for example) set theory lecture (which is quite intensive) and solve OOP puzzles on Python at the same time in early morning lectures 😀 What a brain must it be.

Kakk is a real influencer. To get Django to work with all the pip installations I finally installed Linux (Ubuntu, dual boot next to Win10). Pip and Django installation was just ~20 characters of command lines to the terminal. Compared to the mess on Win10 and its Ubuntu terminal 😀 So now all my coding takes place on Linux part of my computer.

I just did my first AOC task and got the first points. So being a nerd is now official I assume.

Algorütm (in Estonian) is a really good podcast. I got shivers listening to Alvar Lumberg and Sergei Anikin on fire talking about Transferwise’s architecture.

21. Nov 2019 |

Audience of Testlio CEOs’ lecture in 2015

Audience of Kristel Kruustük and Marko Kruustük
Audience for the lecture by Kristel Kruustük and Marko Kruustük – founders of Testlio.

Kakk mentioned the importance of alt tags so this is the first picture I added those. This is just a funny picture from 4 years ago. Audience for the lecture by Kristel Kruustük and Marko Kruustük – founders of Testlio. I belive they now would have this classroom packed (like Python Code Clubs are on Wednesdays).

16. Nov 2019 |

Pentabonacci and other N-bonacci numbers

I had Python test on friday and one of the tasks was related to calculating pentabonacci numbers. I was not able to solve it because I did not know the meaning of the word. But it is actually really simple task that can be solved with a list and sum of list elements. You can find some information here and on GeeksForGeeks (by the way, it is really good explanation!)

14. Nov 2019 |

Järjehoidja endale – IT-ametite päev

Hea video IT õppimisest neile, kes veel mõtlevad. Ago juhib hästi tähelepanu sellele, kuidas natuke eksitavalt kommunikeeritakse IT õppimise “lihtsust”. Samas, minu arust natuke liiga palju räägib “suurtest palkadest” ja “lahedatest kontoritest”, mis kumbki väga ei päästa, kui töö ikka üldse ei meeldi 🙂 Väljalangemiste asi on minu jaoks muidugi ikka müstika (23-24% juures paistab graafikul olevat). Et kas või kuidas saavad mingid asjad mingil hetkel osutuda ületamatult raskeks VÕI kas tegelikult ka inimesed lähevalt lihtsalt tööle poole õpingu pealt. Samas ma ei taju hästi ka enda puhul hetkel, kui realistlik selle õppekava läbimine üldse on. Aga noh, mõtlen, et kui asjadega tegeleda, siis ju peaks olema küll.

Inimeste lugusid oli küll huvitav kuulata selles videos. Lauri Greenbaum SEBst meeldis sellise suurkorporatsiooni protsesside vaatega ning tegelikult ka näiteks Marek Õunpuu – kuidas kuu ajaga saad Omniva Java junior arendajaks (ja samal ajal see 23-24% väljalangemine IT õppes). Ühtlasi soovitan Algorütm podcasti, mis natuke annab veel IT töö ja hariduse teemale vaatenurga kolme tippjuhi poolelt.

18. Oct 2019 |

Finding descriptive statistics about IT studies in TalTech

Good statistics about school and subjects are really difficult to find even though we are quite often talked about the importance of high-quality data. But I found some here: ÕIS – Üldinfo – Statistika – Õppekavad – Õppeainete statistika. Quite… huh.

This is the picture of autumn semester results in the year 2018/2019 on my curriculum IADB17/17. These all are not the first-year subjects! I highlighted the subjects that I study in this first year’s first semester. I wonder what is going on with the basics of programming (ITI0102) where there are 441 students in the beginning but only 271 in the end (out of which 95% get a positive result). Our teacher Ago commented that the drop-out is ~30% and it is significant among session students (which is something I understand).

Also, an interesting finding for me is that the subject named “Sets, relations, systems” (of which I have already written here) seems to be the real gourmet subject. Out of hundreds of students, only 26 have decided to study it. And it also has the second-lowest average grade out of this selection of subjects.

I still have not found anything to use for the graduation rate.

Random things that need sharing

The canteen of IT College has its own Spotify playlist. Because why not. And I like these soundproof phone booths in TalTech Library. I like that doors open themselves. Very effective solution for minimizing the spread of viral infections though minimizing the contact with highly likely contaminated surfaces (like door handles).

12. Oct 2019 |

10,000-Hour Rule – key to success in coding?

Practice will make you better. Don’t expect it to make you perfect.

Malcolm Gladwell, the author of “Outliers” explains the key to success in any field is simply a matter of practicing a specific task that can be accomplished with 20 hours of work a week for 10 years (which makes 10 000 hours).

I started using Toggl to track the time that I spend on different tasks. It is a very good tool for this. For better reporting, I used TalTech as a client and subjects as projects. My tasks mainly include maintaining my online stores and doing work for school. So for reporting it is good to use TalTech as a client filter. This week I see that have spent 12 hours and 46 minutes on Python after school. It is Saturday at the moment so I expect it to reach 15+ hours coding weekly. At some point this week it made 10x what I have spent on a second subject in school.

Week 6 at school – most of the time it is coding after school only.

If we say, that I started coding this week, then 12.75 hours would make 0.13% of my learning path (10 000 hours). So I say, doing it feels like a lot. Like I am always in PyCharm. But thinking that professionals do it 8 hours a day which makes 40 hours a week – it is more than 3 times what I have done this week 😀

Toggl is far from… or not

Toggl is not the one to blame. Update from week 7 is that I very often forget to turn Toggl on or off. But I think, despite the gaps in tracking I got around 35 hours of independent after school work. Most of it for “Sets, relations, systems” (all Thurdsay and Friday) because I had the test on Friday evening. Python got its 14 hours this week.

Read more:

Vox, Wikipedia