Sissejuhatus infotehnoloogiasse: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Ivari (arutelu | kaastöö)
 
12. rida: 12. rida:


Õppejõud: [http://www.facebook.com/tanel.tammet Tanel Tammet]<br>
Õppejõud: [http://www.facebook.com/tanel.tammet Tanel Tammet]<br>
Kontakt: tanel.tammet@ttu.ee, 6203457, ICT 426<br>
Kontakt: tanel.tammet@taltech.ee, ICT 426<br>
olemas on ka [[iti0101 2020| 2020 aasta arhiiv]] kõigi eelmise aasta materjalidega.
olemas on ka [[iti0101 2025| 2025 aasta arhiiv]] kõigi eelmise aasta materjalidega.
</td>
</td>
</tr>
</tr>
</table>
</table>


== <font color="red">NB!</font> Lambda serverarvuti on värskelt parandatud! ==


<!--
Serveri rikkisolek tähendas, et vahel leht avaneb OK, vahel mitte. Kui mitu korda proovida, enamasti korra õnnestus.  
== Alates 26. novembrist loengud ainult on-line ==
 
Viiruseleviku takistamiseks hakkavad kõik loengud alates 26. novembrist ja edasi toimuma ainult on-line. Füüsiliselt VI korpuse auditooriumi palun mitte tulla.


Viimase kursusepäeva, 17. detsembri konsultatsiooni ja loengu järelvaadatavad lingid:
Praegu peaks kõik olema korras, aga testime.


* Kell 12: konsultatsiooni [http://dijkstra.cs.ttu.ee/~tammet/loeng/konsultatsioon_17_dets_2020.mp4 järelvaadatav link]


* Kell 14: Kuidas saada heaks programmeerijaks? [http://dijkstra.cs.ttu.ee/~tammet/loeng/freudenthal_programmeerijaks.mp4 järelvaadatav link]
-->
<!--
<!--
* 10. detsembri kell 12:00 Innar Liivi andmekaeve loengu [https://zoom.us/j/96415125318?pwd=Wm9va3NQUGo5THR5RENhb3pIYWwxQT09 Zoomi live link] (Meeting ID: 964 1512 5318 Passcode: 769540)
== <font color="red">NB!</font> Palun registreeru praegu! ==


* 10. detsembri kell 14:00 Kalle Tominga andmevoogude loengu [https://us04web.zoom.us/j/77686549428?pwd=Y1dTMHorN012OEdXRExqUWFLZjVPUT09 Zoomi live link]
Palve kõigile tudengitele: registreeruge palun selle nädala loengusse siit lingilt:
-->
<!--
3. detsembri loengud toimuvad Helmese MS Teamsi kaudu ja Transferwise Zoomi kaudu on-line striimituna ja salvestused on järelvaadatavad siin lehel allpool "Videosalvestused" peatükis.


3. detsembri
https://fienta.com/et/tallinn-tehisaru-tootuba-tehisintellektist-ja-suurtest-keelemudelitest
[https://transferwise.zoom.us/j/91834464283?pwd=QUVUUi9Ib3d2UlVLMzVjNG03K3BCQT09 Transferwise loengu link kell 14:00]


Järelvaatamiseks
Registreerumise mõte: ülikool on eesti.ai-ga kokku leppinud, et me registreerime taolisi avalikult ligipääsetavate AI-loengute/seminaride osalemisi.  
[https://teams.microsoft.com/l/meetup-join/19%3ameeting_MjNiOGFjYzgtM2ZlMS00ZmU1LTliNzYtMDg0OGZkMDY1MmM2%40thread.v2/0?context=%7b%22Tid%22%3a%2243ef9df5-e7b8-484e-b451-47c8867b6219%22%2c%22Oid%22%3a%221c53a7ce-153e-4022-a677-37b601ed4d04%22%2c%22IsBroadcastMeeting%22%3atrue%7d kell 12:00 Helmese loengu link] NB! Esimesed 23 minutit ei olnud loengus heli, pärast seda on heli olemas: scrolli sinnani.
Oktoobris teeme järgmise jne. Loengu enda jaoks pole registreerumisi vaja, tegu siis puhtalt ülikooli ja eesti.ai kokkuleppega.
-->
<!-- Striimi vaatamise suuniste osas on õppejõul vähe kogemusi: teatud shanss, et esialgu läheb midagi viltu. Kui nii, siis üritame jooksvalt olukorda parandada. Probleemide korral võid kohe kirjutada tanel.tammet@ttu.ee või kirjutada https://www.facebook.com/tanel.tammet/ messengeri, aga reageerimine võib võtta veidi aega. Miks MS Teams: see on Taltechi on-line loengute soovituslik keskkond, nii et õpime seda kasutama. Õppejõud on ise harjunud kasutama zoomi ja skype. -->
<!--
Striimi vaatamiseks:
* Ürita kõigepealt ühineda [https://teams.microsoft.com/l/team/19%3a14934105ce95452a8c610f32079fd1cc%40thread.tacv2/conversations?groupId=2261763c-b2c8-4a23-ac46-3e827b4a8901&tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 sissejuhatus infotehnoloogiasse tiimiga]. Selle juures võib olla abi "Team code"st <b>a8uqje4</b> mis on ette nähtud otse-ühendamiseks ilma minupoolse lisategevuseta. Ei ole ka võimatu, et sul on vaja sisse logida Taltechi kontoga: selgub jooksvalt, mida sul vaja teha. 
* [https://teams.microsoft.com/l/meetup-join/19%3a14934105ce95452a8c610f32079fd1cc%40thread.tacv2/1606391942752?context=%7b%22Tid%22%3a%223efd4d88-9b88-4fc9-b6c0-c7ca50f1db57%22%2c%22Oid%22%3a%22e3e55dca-e89b-46ae-b8ee-1d158e79281d%22%7d siin on link 14:00 meetingu striimile] [https://teams.microsoft.com/l/meetup-join/19%3a14934105ce95452a8c610f32079fd1cc%40thread.tacv2/1606384806638?context=%7b%22Tid%22%3a%223efd4d88-9b88-4fc9-b6c0-c7ca50f1db57%22%2c%22Oid%22%3a%22e3e55dca-e89b-46ae-b8ee-1d158e79281d%22%7d siin on link meetingu striimile]
* Planeerin teha loengut peamiselt oma screeni kuvamisega, mida siis seletan ja lisaks räägin: ei planeeri eriti kuvada ennast.
* Meetile vahele-küsimine ja vahele-kommenteerimine on väga teretulnud! Ürita seda, kui mõni mõte tekib või miski kahtlane.
* Nagu öeldud, on backup variant hilisem salvestuse vaatamine (loodetavasti ei lähe salvestamine rikki :)
-->
-->


60. rida: 42. rida:
* Tutvustada edaspidiseid teemasid/loengukursusi stuudiumi vältel.  
* Tutvustada edaspidiseid teemasid/loengukursusi stuudiumi vältel.  


== Live feed ==
== Videosalvestused ==


[https://echo360.org.uk/section/ba7f2cf4-d4b1-4f10-8f6a-a779a7b38a54/public Siin lehel] on loengu ajal live videofeedi link. 100% garantiid, et ok töötab, ei ole. Otsi loetelust selle päeva värk ja proovi järgi!
Loengu ajal on live feed ja video salvestatakse järelvaatamiseks. Põhilink on [https://echo360.org.uk/section/5b13d01a-9b98-466c-8682-85cf6b5d97d6/public siin].


== Videosalvestused ==
Konkreetsete videoalvestuste lingid leiad edaspidi lisaks allpool nädalate loengupresentatsioonide järel.


<!-- Esimeste loengute järel ilmuvad siia lingid videosalvestustele. -->
== Maht, aeg, tulemus ==


[https://echo360.org.uk/media/70dbf0a6-067b-4704-9933-74e88656a611/public 2. september]
Kaks järjestikkust loengut nädalas neljapäeviti kuuenda korpuse auditooriumis U06A-229.  


[https://echo360.org.uk/media/8ea466d3-76f8-4b9b-978a-4c0e15a21e66/public 3. september: sessiooniõppe sissejuhatav loeng]: enamvähem sama, kui päevaõppe sissejuhatav loeng ülal.
* Neljapäeval kell 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega.  
* Neljapäeval kell 13:45: nii tavaloengud kui süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Ka siin antakse vahel koduülesandeid.


[https://echo360.org.uk/media/7ccc40a8-c05b-48d1-bd7a-75b9bf00ebaf/public 9. september]
Reedel, 4. septembril kell 12:15 - 13:45 on eraldi sissejuhatav loeng rühmadele IADB10A, IADB10B ruumis ICO-314: loengu annab Otto Mättas.


[https://echo360.org.uk/media/35d37fc1-1ba9-4894-8e15-1ba00b3d30f5/public 16. september]
Erinevate õppejõudude ja nende ainete tutvustamine on üks kursuse osa.
Septembris annavad enamiku loengutest erinevad õppejõud, mitte Tanel. Oktoobris ja edasi annab enamiku loenguid Tanel, külalisõppejõude on veidi harvem.


[https://echo360.org.uk/media/2011c695-818a-4914-b480-f8f083c77d14/public 23. september]
Kursus lõpeb eksamiga. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet.


[https://echo360.org.uk/media/c013d454-f727-4b85-bc0b-a0249e13ecc9/public 30. september]: teise loengu alguses ei ole siin natuke aega heli, aga ei maksa kohkuda, heli ilmub varsti uuesti.
Kursuse käigus on iga nädal vaja võrgus täita valikvastustega paarikümne küsimusega mikro-kontrolltöö ühe nädala materjalide kohta, aega selleks on
loengujärgse esmaspäeva hommikust järgmise loengupäeva (reede) lõpuni. Koduülesanded ja harjutused - kui neid antakse - on kontrolltöö üheks osaks.


[https://echo360.org.uk/media/cc79a2ee-5d3d-493f-ba9e-2e34e22c8dfa/public 7. oktoober]: Ivo ja Taneli loengud.
Kursuse hinne arvutatakse nii: eksamipunktid (0...100) + kontrolltööde summaarne tulemus. Positiivsed hinded algavad 50 punktist. Kaks viga kontrolltöös on üks veapunkt, neli kaks veapunkti jne, tegemata kontrolltöö on viis veapunkti. Tudengi kõigi kontrolltööde miinuspunktide summast lahutatakse keskmine kontrolltööde miinuspunktide summa, vahe ongi summaarne tulemus.


[https://echo360.org.uk/media/06bda39c-4291-481b-a18e-eae513af1e0b/public 14. oktoober]: Taneli ja Ivari loengud. Ivari loengu videos ei ole seekord ekraanipilti kõrval: palun võta ise lahti Ivari loengumaterjalid ja vaata neid paralleelselt videole.
== Kontrolltööd ja koduülesanded ==


[https://echo360.org.uk/media/b227d033-7528-486e-b4ad-bb6bc1d8f65f/public 21. oktoober]: Rekursioon ja ajuteadus.
Siin on nüüd ka [[IT sissejuhatuse kontrolltööde tulemused september 2026]]


[https://echo360.org.uk/media/4c3899eb-5c76-4d89-915b-30f20d719555/public 28. oktoober]: masinõpe ja e-riik. NB! e-riigi loengul ei ole videos materjale kõrval: vaata ise paralleelselt kõrvale loengumaterjale [https://www.dropbox.com/s/pa6t4jpqx1k37vq/E-riigi%20arendamine_2020.pdf?dl=0 E-riigi arendamine_2020.pdf]
* [http://turing.cs.ttu.ee/~tanel.tammet/cgi-bin/qshow7.py Kontrolltöö 7, seitsmenda nädala teemadel].
* [http://turing.cs.ttu.ee/~tanel.tammet/cgi-bin/qshow8.py Kontrolltöö 8, kaheksanda nädala teemadel].


[https://echo360.org.uk/media/56798d58-fd08-4b43-8d16-fd8d810a9418/public 4. november: lahenduvus ja tehisintellekt]. Teise loengu alguses ei ole siin natuke aega heli, aga ei maksa kohkuda, heli ilmub varsti uuesti.
<font color="red">NB!</font>Serveri vahepealse rikkisoleku tõttu jäävad mõlemad kontrolltööd üles kuni pühapäeva õhtuni (1 november), kaasa arvatud.  


[https://echo360.org.uk/media/c290a4cf-bd0d-424d-9fa1-c3946e21a85f/public 11. november: algoritmid ja tabelarvutus].  
<!--
NB! Kontrolltöö kaks 6502 assembleri küsimust käivad siintoodud programmitooriku kohta, mida saad parandamise järel käivitada [http://skilldrick.github.io/easy6502/ easy6502 lehel]. Tahame, et see programm värviks suure osa (mitte lihtsalt ühe pikseli) algselt üleni mustast pildikastist paremal mingit muud värvi.
Ühes küsimuses pead leidma, et mis käsk (üksainus ilma argumentideta käsk: on olemas paar erinevat õiget varianti, vali üks neist) tuleb panna käsu "mõistatus" asemele, et värvimine toimuks. Järgmises küsimuses pead valima sobiva kirjelduse väljundile, mis siis näed (st mis on esialgse üleni musta pildikasti asemel).
<pre>
  LDA #$00
  STA $01
  LDA #$05
  STA $02
  LDY #$00
  LDA #$03
loop:
  mõistatus
  STA ($01),Y
  CPY #$00
  BNE loop 
  BRK
</pre>


[https://echo360.org.uk/media/cd53c8b4-a44e-4955-b9e6-a32216ed41f5/public 18. november: andmeteadus, P2P ja bitcoin]
Kontrolltöö kaks C näiteprogrammi on siin.
Esimene:
<pre>
int square(int num) {
    return num * num;
}
</pre>


[https://echo360.org.uk/media/956ca7fb-7935-44b3-b9cb-8abc73d667f7/public 25. november: andmebaasid, projektid ja raha]
Teine:
<pre>
#include <stdio.h>
#include <stdlib.h>


<!--
int main(int argc, char **argv) {
Enamik 2020 aasta loenguid enne 26. novembrit on vaadatavad kahelt eraldi lingilt
  int n;
* [https://echo360.org.uk/section/9d252f65-139a-4cd7-849f-a4c94553e635/public loengud kell 12].
  int i,sum=0;
* [https://echo360.org.uk/section/9cc58bc3-1b4f-47b5-80fd-f0717b38c3c3/public loengud kell 14].
 
Pane tähele, et vanemad loengud on alguses ja uuemad lõpupoole, ning seni toimumata loengute videoslotid on esialgu tühjad.
  n=atoi(argv[1]);
  printf("Tere! Sain sisendi %d\n",n); 
 
  for(i=0; i<=n; i=i+1)
    sum = sum + i;
 
  printf("summa on %d\n",sum);
}
</pre>


Loengud alates 26. november:
* [https://web.microsoftstream.com/video/c38b775d-f2d3-44f4-84b6-fcd5586bc506 26. nov. kell 12: it äri ja projektid] ja [https://web.microsoftstream.com/video/9ee48890-f2ab-4af5-a12f-26ab1a555e63 kell 14: P2P, bittorrent, bitcoin]. Viimane, kella 14 video ei ole õppejõu enda salvestatud ja ei alga päris algusest, kuigi sisaldab enamikku. Kella 14 loengu täisvideo paistab olema kaduma läinud (uurime edasi). <font color="red">NB!</font>. Kui sul nende linkidega tekib probleeme, siis alternatiivselt saad tõmmata terved MP4 failid korraga: [http://dijkstra.cs.ttu.ee/~tammet/loeng/it_sissejuhatus_26_nov_12.mp4 kell 12 loeng] ja [http://dijkstra.cs.ttu.ee/~tammet/loeng/it_sissejuhatus_26_nov_14.mp4 kell 14 loeng]
* [https://teams.microsoft.com/l/meetup-join/19%3ameeting_MjNiOGFjYzgtM2ZlMS00ZmU1LTliNzYtMDg0OGZkMDY1MmM2%40thread.v2/0?context=%7b%22Tid%22%3a%2243ef9df5-e7b8-484e-b451-47c8867b6219%22%2c%22Oid%22%3a%221c53a7ce-153e-4022-a677-37b601ed4d04%22%2c%22IsBroadcastMeeting%22%3atrue%7d 3. dets kell 12 Helmese loengu link] (NB! Esimesed 23 minutit ei olnud Helmese loengus heli, pärast seda on heli olemas: scrolli sinnani) ja [https://vimeo.com/487169260 3. dets kell 14 Transferwise loengu järelvaadatav link]
* [https://www.dropbox.com/s/bnbkmqy087ff8gh/Loeng%202020-12-10.mp4?dl=0 10. dets kell 14 Kalle Tominga andmevoogude loengu link]: see on vaja downloadida, sest preview on ainult 15 minutit.
* 17 detsembri  [http://dijkstra.cs.ttu.ee/~tammet/loeng/konsultatsioon_17_dets_2020.mp4 kell 12 konsultatsiooni järelvaadatav link] ja [http://dijkstra.cs.ttu.ee/~tammet/loeng/freudenthal_programmeerijaks.mp4 kell 14 Freudenthali loengu järelvaadatav link]
-->
-->
Kontrolltöö mõte on iganädalane süvenemine materjalidesse ja (vahel) väikeste harjutuse tegemine, et teemadest OK aru saada.
Kontrolltööd/koduülesanded on lihtsa veebivormi kujul ja ilmuvad siia lõiku tüüpiliselt järgmisel päeval peale loengut (reedel) ja jäävad üles vähemalt järgmise loengupäeva (neljapäev) lõpuni.
Lisaks ülesannetele küsime samal vormil ka küsimusi ja kogemusi, mida järgmises loengus (ja mujal) läbi mõelda ja arvestada.
Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu.
Palun täida korrektselt alguse väljad tudengikood, nimi ja email: nende järgi lähevad tulemused sulle arvesse.
Kontrolltöö salvestamise järel sa ei näe, mis läks õigesti ja mis ei, ega mitu punkti said. Küll aga öeldakse sulle vastuseks, kas salvestamine
õnnestus või ei. Kui sa ei näe tulemust "Sinu vastus on salvestatud, aitäh!", siis on sul mõni väli täitmata, võrguühendus katkes vms: sel juhul palun kontrolli vormi sisu ja salvesta uuesti.


== Maht, aeg, tulemus ==
Süsteem lubab - tehniliselt - sul salvestada vastuseid mitu korda, aga arvesse läheb ainult esimene.


Kaks järjestikkust loengut nädalas kuuenda korpuse auditooriumis U06A-229. Septembris ülekanne paralleelselt ruumis U06A-201. <!-- Kuni pole teisiti märgitud, toimuvad kõik loengud auditooriumites U06A-201 ning U06A-229 järgmistel aegadel: -->
Vahetulemused pannakse üles ca kord kuus.


* Neljapäeval kell 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega. Õppejõud Tanel Tammet.
== Loengute plaan ja materjalid ==
* Neljapäeval kell 13:45: süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Erinevad õppejõud. Ka siin antakse vahel koduülesandeid.


Sessiooniõppe sissejuhatav loeng on reedel, 3 septembril kell 14:00 IT Kolledzhi ruumis ICO 316


Kursus lõpeb eksamiga. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet.
Kursusel ei ole ühtegi konkreetset õpikut. Järgnevas on toodud iga loenguga seotud materjalid eraldi.


Kursuse käigus on iga nädal vaja võrgus täita valikvastustega paarikümne küsimusega mikro-kontrolltöö ühe nädala materjalide kohta, aega selleks on loengupäevast kuni järgmise loengupäevani (siis tulevad uued materjalid).
Kursus jaguneb mitmeks blokiks, mis toimuvad kuigivõrd segiläbi:


Nädala kontrolltööd publitseeritakse loengupäeva õhtul või järgmise päeva hommikul.
* Erinevad IT teemad, millest osa annab Tanel, osad teised õppejõud.
* Ajaloopõhine tehnoloogiaülevaade: kuidas asjad töötavad, miks ja kuidas on nad selliseks arenenud.


Samuti antakse kursuse käigus teha väikeseid harjutusi: need tuleb teha iseseisvalt ja tulemused vastata samades mikro-kontrolltöödes.  
Loengute plaan on esialgne, töö käigus ilmub siia kindlasti muutusi. Seega, täpselt adekvaatsed ja õiged on need materjalid, mille loeng on kas juba läbi või tuleb järgmisena: kõik tuleviku-loenguid puudutavad materjalid on vanad, ning saavad loengu kättejõudmise ajaks mingil määral modifitseeritud ja täiendatud.  


Kursuse hinne arvutatakse nii: eksamipunktid (0...100) + kontrolltööde summaarne tulemus. Positiivsed hinded algavad 50 punktist. Kaks viga kontrolltöös on üks veapunkt, neli kaks veapunkti jne, tegemata kontrolltöö on viis veapunkti. Tudengi kõigi kontrolltööde miinuspunktide summast lahutatakse keskmine kontrolltööde miinuspunktide summa, vahe ongi summaarne tulemus.


== Kontrolltööd ja koduülesanded ==
=== 1. nädal. Sissejuhatus baasvärkidesse: arvuti ja info. Algoritmid ja keerukus. ===


Selleks semestriks on kontrolltööd lõppenud! Viimane kontrolltöö oli kaheteistkümnenda nädala kohta: P2P, ledger ja bitcoin.
3. september.
<!-- [[2021 it sissejuhatuse kontrolltööde vahetulemused: september]] -->
[[2021 it sissejuhatuse kontrolltööde vahetulemused: november]]: siin on tööd algusest kuni (kaasa arvatud) 11. nädalani: keerukus ja tabelarvutus. Veebilehtede tulemust ei ole veel siia sisse arvestatud (st vahetulemuses on justkui kõik oleks selle edukalt teinud).


Lähiajal lisame siia viimase kontrolltöö tulemused, veebilehtede tulemuse ja tshekkame numbrid korra üle.
* Kell 12:00: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted. Loengu annab [https://github.com/ottomattas Otto Mättas].
:Loengumaterjal: [[Media:itsissejuhatus1a24.pptx|itsissejuhatus1a24.pptx]], [[Media:itsissejuhatus1a24.pdf|itsissejuhatus1a24.pdf]].


* Kell 13:45: Algoritmid ja keerukus. Ülevaade kursusest. Loengu annab [https://taltech.ee/kontaktid/tarkvarateaduse-instituut/marko-kaaramees Marko Kääramees].
:Loengumaterjal: [[Media:Algoritmid_2024.pdf|Algoritmid_2024.pdf]].
<!--
<!--
NB! Kontrolltöö täitmise käigus on sul vaja lahendada üks väike Prologi ülesanne ja kaks rekursiivse puu joonistamise ülesannet:
* Kell 14:00: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
 
:Loengumaterjal: [[Media:itsissejuhatus1b24.pptx|itsissejuhatus1b24.pptx]], [[Media:itsissejuhatus1b24.pdf|itsissejuhatus1b24.pdf]]
* Prologi ülesande saad teha kas peast ise või (soovitav) kasutades [https://swish.swi-prolog.org/ SWI Prologi veebirakendust].  
* Rekursiivse puu ülesandeks võta Ecki [https://math.hws.edu/eck/js/xTurtle/xTurtle.html xTurtle] leht, vali ülalt menüüst "Tutorial 7: recursion" ja modifitseeri kontrolltöös toodud õpetuse järgi programmi koodiaknas programmi <tt>SUB Tree(size,level)</tt> sisu.  
-->
-->
<!--
Kontrolltöö viimaseks ülesandeks teha ise hästi lihtne veebileht. Ülesannet arvestatakse punktidena kolmekordselt (nagu kolme tava-küsimust). Puuduliku lehe eest saab vähem punkte. Leht peab vastama järgmistele nõuetele ja pead sisestama selle lehe urli viimase küsimuse vastuse lahtrisse. Sisestada tuleb täisurl, ehk, ta peab algama http-ga või https-ga, nagu näiteks https://taltech.ee/


:* Leht peab olema internetis vabalt kättesaadav, mitte näiteks asuma sinu läptopis või nõudma parooli.
* [https://echo360.org.uk/media/a8019ef7-cbd7-4ec1-8003-6453d1e7883e/public Loenguvideo]
:* Leht peab jääma kättesaadavaks vähemalt oktoobri lõpuni.
:* <b>Lehel peab kusagil olema sinu tudengikood</b> (sama, mis sisestad kontrolltöö ülemisse lahtrisse: piisab ainult numbritest). Selle asukoht, kujundus jms ei ole oluline.
:* Leht peab olema html keeles, mitte plaintekst või pilt või pdf fail vms.
:* Leht peab olema üleni sinu enda tehtud: ära copy-paste kusagilt midagi.
:* Sa ei tohi kasutada ühtegi nö valmissüsteemi, mis sellise lehe genereeriks, näiteks Facebooki, Wikipediat, blogi vms.
:* Lehel peab olema vähemalt üks tabel (table tag), millel on mingi sisu, ja vähemalt üks pealkiri (h1,h2,h3,h4 vms tag)
:* Lehel peab olema natuke juttu (vähemalt 100 tähemärki)
:* Lehel peab olema vähemalt üks pilt (img tag ja selle src atribuudis pildi url: soovitus kasutada täisurli)
:* Lehel peab olema vähemalt üks link https://taltech.ee/ lehele (kasuta a tagi ja selle href atribuuti)
:* Tagid tuleb kirjutada väikeste tähtedega.
:* Kõigis muudes punktides on sul lehe sisu osas vabad käed! Millest seal lehel kirjutad ja mis pildi sinna paned või kas leht on ilus/kole/lihtne/keeruline, tulemust ei mõjuta.


Lehe tegemiseks loe [https://www.w3schools.com/html/default.asp w3schools'i html tutoriali] esimesi peatükke ja vaata vasakult menüüst eraldi "HTML Headings", "HTML links", "HTML images" ja "HTML tables" peatükke.
* Eksamiks (esialgselt, muutub peale loengut): pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Algoritmid: mis on algoritmide keerukus, mida tähendab suur-O (a la O(n**2)) notatsioon, mis on sorteerimisalgoritmi parim keerukus halvimal juhul, mis on erinevus merge sorti, quick sorti ja selection sorti vahel: algoritmi ja keerukuse mõttes, mis operatsioonid on massiividel kiiremad / aeglasemad kui listil.


Kui sa juhtumisi pääsed ligi mõnele veebiserverile, siis on väga ok panna leht sinna serverisse üles.


Kui sa ei ole varem veebilehte teinud, siis soovitan teha seda [https://pages.github.com/ github pages] abil: sa pead tegema [https://github.com/ githubi] konto, logima sinna sisse ja siis järgima õpetust, järgnevas on kaks head õpetust välja valitud:
Lisaks esimesele loengule:
* [https://help.github.com/en/github/working-with-github-pages/creating-a-github-pages-site Ametlik õpetus], mis on suhteliselt lihtne, aga mitte kõige lihtsam.
:* katseta [https://math.hws.edu/eck/js/datareps/xDataReps.html datareps] lehel erinevaid esitusi, püüa neist aru saada ja guugelda vajadusel juurde
* [https://www.ostraining.com/blog/coding/github-pages/ See on eriti lihtne õpetus]
:* vaata korra [https://upload.wikimedia.org/wikipedia/commons/1/1b/ASCII-Table-wide.svg ascii tabelit]
;* uuri veidi [https://www.unicode.org/charts/ kooditabeleid] [https://home.unicode.org/ unicode] veebisaidil
:* loe läbi mõni nendest [https://en.wikipedia.org/wiki/Paul_Graham_(programmer) Paul Grahami] ([https://en.wikipedia.org/wiki/Y_Combinator Y combinatori] asutaja) esseedest: [http://www.paulgraham.com/nerds.html Why nerds are unpopular?], [http://www.paulgraham.com/lesson.html The lesson to unlearn], [http://www.paulgraham.com/think.html How to think for yourself].
:* [https://external-preview.redd.it/ihLiGBXOGFBWd_2UV9XyZM2hXQviZHmcFh1OAmCEnxE.png?auto=webp&s=9591f04e3a857441f63247c65830ac3e41047e5a valdkonnad]


Mõistlik on ehitada leht kõigepealt valmis oma läptopis lihtsa tekstiredaktoriga (programmeerimiseks sobivad redaktorid on ka lehe tegemiseks head) ja kontrollida ta üle oma brauseriga: ava brauserist oma lehe fail (failinime lõpuks pane .html). Kui kõik paistab ok, alles siis pane ta githubi või oma serverisse üles.
Täiendavalt algoritmide teemal:
:* sorteerimisalgoritmide visualiseeringud [http://www.sorting-algorithms.com/ siin] ja [http://gizmodo.com/this-visualization-of-15-different-sorting-algorithms-i-987297677 siin] <!-- ja [http://aarondufour.com/tools/visualizer/ siin] -->
:* Eriliselt tore ja ilus [https://bost.ocks.org/mike/algorithms/ visualiseeringutega jutt] mitmete algoritmidega
:* Väga paljude algoritmide ja andmestruktuuride [https://visualgo.net/ visualiseeringud]
:* [https://en.wikipedia.org/wiki/Big_O_notation Suur O] wikipedias ja [https://www.bigocheatsheet.com/ lihtne cheatsheet]
:* [https://en.wikipedia.org/wiki/Travelling_salesman_problem Travelling salesman problem], lahenduse [https://www.fourmilab.ch/documents/travelling/anneal/ visualiseering]
 
=== 2. nädal:Tehisintellekt: sissejuhatus ja loomulik keel ning keelemudelid ===
 
10. september.
 
* Kell 12:00:  Tehisintellekt üldpildina ehk sissejuhatus. Räägib Tanel Tammet.
:Loengumaterjal: [https://turing.cs.ttu.ee/~tanel.tammet/ai_sissejuhatus_2026.pdf ai_sissejuhatus_2026.pdf] või [https://turing.cs.ttu.ee/~tanel.tammet/ai_sissejuhatus_2026.pptx ai_sissejuhatus_2026.pptx]


Pane tähele, et saad kõik vajaliku teha githubi veebiaknas teksti redigeerides, sul ei ole vaja kasutada giti käsurea programmi või github desktoppi või Jekylli vms.
* Kell 13:45:[https://taltech.ee/uudised/nuud-tenuuris-tanel-alumae Tanel Alumäe] räägib loomuliku keele tehnoloogiast ja suurtest keelemudelitest: [[Media:Keelemudelid_2026.pdf|Keelemudelid_2026.pdf]]  
Sarnasel viisil saab lehe teha ka näiteks [https://about.gitlab.com/product/pages/ gitlab pages] abil, see on samuti väga ok variant.
-->
<!--
<font color="red">NB!</font> Kontrolltöö teises pooles on mitu ülesannet elektroonikaskeemide kohta: nende ülesannete jaoks installeeri endale [http://math.hws.edu/TMCM/java/index.html Ecki simulaatorid].  Need simulaatorid on kirjutatud Javas ja päris vanad, aga töötavad endiselt OK. [[Ecki laborite allalaadimine ja katsetamine|Siit leiad õpetuse, kuidas neid installeerida ja katsetada]]. Konkreetselt on sul vaja [http://math.hws.edu/TMCM/java/classes/xLogicCircuits.jar xLogicCircuits.jar] käima saada: teisi simulaatoreid me siin kontrolltöös ei vaja. Javaga asud niikuinii lähisemestritel tegelema ja selle installeerimine ja kasutamine on vajalik oskus: installeerimine ja jar faili käimapanek ongi üks sisuline osa kontrolltöö ülesandest. Muide, osade simulaatorite jaoks on olemas ka  [https://math.hws.edu/eck/js/ uued javascripti variandid], mis töötavad kenasti brauseris.
Väga soovitav -aga mitte kohustuslik - on ise lisaks harjutada: süvene 4-biti liitjasse, kuni sa temast korralikult aru saad. Loengu käigus tegime mõlemi teemaga algust, aga nüüd loe ise süvenemisega läbi, proovi ja tee mõlemist osast vähemalt üks harjutus, kus tuleb ise elektroonikaskeem ehitada:
:*[http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits]
:*[http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits]


Analoogilised ülesanded tulevad ka eksamisse.  
* [https://echo360.org.uk/media/8133788c-c6a7-44a5-8c96-c72e77d97e6b/public Loenguvideo]
-->
<!--
Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu.


Palun täida korrektselt alguse väljad matriklinumber, nimi ja email: nende järgi lähevad tulemused sulle arvesse. "Matriklinumber" on sinu tudengikood, a la 205384iadb.
* Eksamiks, esialgselt (muudetakse peale loengut): Mis on tugev (üldine) ja mis nõrk (kitsas) AI. Mis on tehisintellekti talved ja umbes millal olid tehisintellekti populaarsuse tõusud ja langused, ja mis olid eri tõusulainete puhul olulisemad meetodid. Mis on minimax ja alpha-beta meetod, mis on tehis-närvivõrkude põhikomponendid, mida teevad suured keelemudelid. Mis ülesanded robootikas praegu õnnestuvad ja mis mitte. Mis on Turingi test ja AGI. Keelemudelitest: Mis on N-gramm mudelid ja mis numbrilist väärtust nendega arvutatakse? Mis on sõnavektorid? Mis moel genereerib suur keelemudel (LLM) vastust? Mis on zero-shot ja mis on one-shot tüüpi ülesanne LLM jaoks? Kas LLM sisaldab konkreetset teadmiste baasi? Mis on LLM-i peenhäälestamine?


Kontrolltöö salvestamise järel sa ei näe, mis läks õigesti ja mis ei, ega mitu punkti said. Küll aga öeldakse sulle vastuseks, kas salvestamine
õnnestus või ei. Kui sa ei näe tulemust "Sinu vastus on salvestatud, aitäh!", siis on sul mõni väli täitmata, võrguühendus katkes vms: sel juhul palun
kontrolli vormi sisu ja salvesta uuesti.


Süsteem lubab - tehniliselt - sul salvestada vastuseid mitu korda, aga arvesse läheb ainult esimene.
Täiendavalt üldise tehisintellekti teemal:
* [https://course.elementsofai.com/ee/ Elements of AI]
* Masinõpe [https://en.wikipedia.org/wiki/Machine_learning vikipeedias]
* [http://en.wikipedia.org/wiki/Chinese_Room Hiina tuba] ehk AI filosoofia tuntuim mõtteharjutus.
* [https://logictools.org õppejõu õppe-veebisüsteem klassikalise symbolic AI loogikafookusega osa jaoks]
* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
* Häid kirjutisi: [https://www.geoffreylitt.com/2026/07/02/understanding-is-the-new-bottleneck arusaamisest], [https://blog.florianherrengt.com/ai-removing-middle-class-software-engineering.html progemise keskklassi kadu] ja [https://news.ycombinator.com/item?id=49271994 selle arutelu], [https://blog.senko.net/code-was-never-the-hard-part-is-an-insult-to-all-programmers mis on progemise keerukad osad]
* [https://arxiv.org/abs/2507.09369 AI inimhävitamisvõimaluste taksonoomia]
* [https://en.wikipedia.org/wiki/Rodney_Brooks Rodney Brooksi] jutt [https://rodneybrooks.com/why-todays-humanoids-wont-learn-dexterity/ humanoidrobotitest ja robotkätest]ja [https://rodneybrooks.com/category/dated-predictions/ ennustused]
* Olulised podcastid: [https://lexfridman.com/ai/ Lex Fridman], [https://www.samharris.org/podcasts/making-sense-episodes Sam Harris], [https://www.preposterousuniverse.com/podcast/ Sean Carroll], [https://www.dwarkesh.com/podcast Dwarkesh Patel], [https://open.spotify.com/show/02e6PZeIOdpmBGT9THuzwR?si=db75901c64e649c0 mlst], [https://www.latent.space/podcast latent space]
* [https://en.wikipedia.org/wiki/Fran%C3%A7ois_Chollet Francois Chollet] (kuula [https://creators.spotify.com/pod/profile/ycombinator/episodes/How-Franois-Chollet-Is-Building-A-New-Path-To-AGI-e3h1jve/a-acia0b8 podcastiepisoodi]) ja [https://arcprize.org/arc-agi ARC-AGI] teema. Mh [https://liusida.github.io/ARC/ katseta ise lahendada] ja oe ARCi lehelt [https://arcprize.org/blog blogi] ja vaata kolmanda ARCi põlvkonna [https://three.arcprize.org/ demo].
* [https://arxiv.org/abs/2507.09369 AI inimhävitamisvõimaluste taksonoomia], [http://turing.cs.ttu.ee/~tanel.tammet/ai_ylevaade_2026.pdf v2.pdf], [http://turing.cs.ttu.ee/~tanel.tammet/ai_ylevaade_2026.pptx v2.pptx]


Vahetulemused pannakse üles ca kord kuus.


Kontrolltöö ilmub siia peatükki lingina loengupäeva õhtuks või järgmise päeva hommikuks ja jääb üles järgmise loengupäevani, kuni tulevad uued küsimused.
Täiendavalt loomuliku keele teemal:
-->
* [https://web.stanford.edu/~jurafsky/slp3/ Speech and Language Processing]: tõenäoliselt parim õpik loomuliku keele töötluse teemal (vabalt veebist loetav).
* [https://sgnt.ai/p/embeddings-explainer/ arusaamise alguseks: embeddingud]
* [https://ynarwal.github.io/how-llms-work/ kuidas llmid töötavad]
* LLMi ise-ehitamise jaoks on tõenäoliselt parimad [https://karpathy.ai/ Andrey Karpathy õppevideod] koos [https://karpathy.ai/zero-to-hero.html nullist tausta] ja kogu vajaliku  pythoni koodiga:  [https://github.com/karpathy/nanochat nanochat] ja vanem [https://github.com/karpathy/nanoGPT nanogpt] ja veel niisama: [https://karpathy.ai/microgpt.html microgpt]
* [https://zainhas.github.io/blog/2026/inside-claude-code-architecture/?cmid=db80ac83-874f-4a90-90a9-561b9a95c5c7#claude-code-v2188--architecture-deep-dive kuidas claude code on ehitatud]


== Loengute plaan ja materjalid ==
=== 3. nädal: Masinõpe ja veebirakendused ===


17. september


Kursusel ei ole ühtegi konkreetset õpikut. Järgnevas on toodud iga loenguga seotud materjalid eraldi.
* Kell 12:00: [https://healthandfood.taltech.ee/liige/evelin-halling/ Evelin Halling] räägib masinõppest. Evelin õpetab ka masinõppe kursust.
: Loengumaterjal 2025: [[Media:ML_Introduction_c.pdf|ML_Introduction_c.pdf]]


Kursus jaguneb kaheks blokiks: esimene kolmandik sissejuhatus ja ajaloopõhine tehnoloogiaülevaade, järgmised kaks kolmandikku erinevad tehnoloogiad, arvutiteadus ja äri.
* Kell 13:45. [https://www.linkedin.com/in/martin-verrev/?originalSubdomain=ee Martin Verrev] teeb loengu veebirakenduste ehitamisest. Martin on sellel teemal pikemalt õpetanud [https://courses.cs.taltech.ee/pages/Kasutajaliidesed_(ITI0209))_2023 tervet kursust]. Martini slaidid on siin: https://tinyurl.com/ITI01012603 <!-- ; lisaks Taneli [[Media:Itsissejuhatus10a20.ppt|varasemad slaidid]], -->


Loengute plaan on esialgne, töö käigus ilmub siia kindlasti muutusi. Seega, täpselt adekvaatsed ja õiged on need materjalid, mille loeng on kas juba läbi või tuleb järgmisena: kõik tuleviku-loenguid puudutavad materjalid on vanad, ning saavad loengu kättejõudmise ajaks mingil määral modifitseeritud ja täiendatud.
* [https://echo360.org.uk/media/a0a0e87e-5b1f-47ed-a599-ad65eff18920/public Loenguvideo]


<!--
* Eksamiks esialgselt: Masinõppe peamised tüübid ja nende sobivamad rakendusvaldkonnad. Mida õppimise käigus mudelis muudetakse. Kuidas mudeli andmestikku tüüpiliselt jaotatakse ja mis on peamised tööd andmestikuga. Veebirakendused: mis on veebirakendustes front-end, back-end, mis on GET ja POST vahe, mis on SPA (single page application) ja nö klassikalise veebirakenduse vahe, mis on ja milleks kasutatakse: html, css, javascript, json, "ajax".
Senised loengud peaksid olema vaadatavad [https://echo360.org.uk/section/72b980e1-bec7-4b3f-a3fe-3f9e93c9d90d/public sellelt lingilt]


NB! Ei ole mingit garantiid, et loengud jäävad üles mitmeks kuuks või et kõik loengud võrku ilmuvad.
Täiendavalt masinõppe teemal:
-->


=== 1. nädal. Sissejuhatus: arvuti ja info, ajaloo algus ... 1940 ===
:* https://aidoc.pages.taltech.ee/
:* Elements of AI eestikeelsed [https://course.elementsofai.com/ee/4 masinõppe] ja [https://course.elementsofai.com/ee/5 närvivõrkude] blokid.
:* [https://aegeorge42.github.io/ Neural networks from scratch]
:* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
:* Eelmisest inspireeritud [https://playground.tensorflow.org/ modernsem jätk] ja [https://deeperplayground.org/ selle jätk].


2. september.
Veebirakenduste teemal vaata veel:


* Kell 12: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
:* http://www.w3schools.com/.
:Loengumaterjal: [[Media:itsissejuhatus1a21.ppt|itsissejuhatus1a21.ppt]], [[Media:itsissejuhatus1a21.pdf|itsissejuhatus1a21.pdf]].
:* [https://codeburst.io/the-2018-web-developer-roadmap-826b1b806e8d Tehnoloogiastack]
:* [https://coder-coder.com/learn-web-development/ Väike sissejuhatus kogu värgi õppimiseks]
:* [http://www.w3c.org/ Ametlikud veebitehnoloogiate standardid].
:* [[Veebirakendused]] kursus.
:* [[lihtsaid cgi programminäiteid]] ja [http://lambda.ee/wiki/Cgi_examples lisaks funktsioneerivate näidetena]


* Kell 13:45: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
:Loengumaterjal: [[Media:itsissejuhatus2a.ppt|itsissejuhatus2a.ppt]], [[Media:itsissejuhatus2a.pdf|itsissejuhatus2a.pdf]]


* Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid.
=== 4. nädal: A.I. assistendid ja andmebaasid ===


<!-- * Neljapäeval: loeng jäi ära. Õppekavade ja teaduskonna ülevaade: erinevad õppejõud. -->
24. september


Lisaks esimesele loengule:
* Kell 12:00 [https://koppel.ee Tarmo Koppel] räägib LLMi kasutamisest ettevõtetes ja A.I. assistentidest
:* vaata väikest [http://www.youtube.com/watch?v=cYw2ewoO6c4&NR=1 Turingi masina videot]
: Loengumaterjal 2025 aastast: [[Media:Tarmo_koppel.pdf|Tarmo_koppel.pdf]]. Loengus tehtud A.I. kasutuse-küsitluse [[Media:260924_AI_kasutus_TalTech_IT_tudengid.pdf|kokkuvõte]].
<!--
<!--
:* loe juttu ja [http://math.hws.edu/eck/cs120/s01/lab1/ mängi andmete esitamise appletiga]. Vajab javat ja sul brauseri all tõenäoliselt käima ei lähe. Seega kas: (a) loe [[Ecki laborite allalaadimine ja katsetamine | siit, kuidas Ecki laborid oma masinasse panna]] ja lae alla ning katseta laboriga [http://math.hws.edu/TMCM/java/classes/DataReps.jar DataReps.jar] mille jutu leiad [http://math.hws.edu/TMCM/java/labs/DataRepsLab.html#reps siit allosast Data Representations] alt (b) või säti brauser lubama valitud applette: [http://www.java.com/en/download/help/jcp_security.xml loe siit]
: Google AI studioga rakenduse ehitamise juhend: [[Media:GoogleAIstudioBuildApps.docx|GoogleAIstudioBuildApps.docx]] või sama [[Media:GoogleAIstudioBuildApps.pdf|GoogleAIstudioBuildApps.pdf]] variant.
-->
-->
:* loe läbi: Paul Graham: [http://www.paulgraham.com/nerds.html Why nerds are unpopular?]
:* [https://external-preview.redd.it/ihLiGBXOGFBWd_2UV9XyZM2hXQviZHmcFh1OAmCEnxE.png?auto=webp&s=9591f04e3a857441f63247c65830ac3e41047e5a valdkonnad]
:* some random notes [https://0x0f0f0f.github.io/blog/mindlanguagemachines/ on mind, language and machines]


<!--
* Kell 13:45 [https://staff.ttu.ee/~erki.eessaar/ Erki Eessaar] räägib andmebaasidest. Andmed, informatsioon, andmebaas, andmebaasisüsteem, SQL, NoSQL. SQLis (PostgreSQL) väike näide tabelite loomise ning andmete otsimise ja muutmise kohta.
:* loe läbi: Tanel Tammet: [http://www.metsas.ee/et/tekstid/tanelt/inimlikkus_on_loomalikkus Inimlikkus on loomalikkus]
: Loengumaterjal 2025 aastast: [[Media:Andmebaasidest_2026.pdf|Andmebaasidest_2026.pdf]] ja täiendavalt [[Media:Andmebaasidest_Demonstratsioon_s2026.xlsx|xlsx näitefail 2026]] ja [[Media:Andmebaasidest_Demonstratsioon_s2026.txt|sql näitefail 2026]]
-->
 
* [https://echo360.org.uk/media/37c2d2e2-577e-47d0-9ad7-8c6a59a41bf3/public Loenguvideo]
 
 
* Eksamiks: LLMdest: mis on LLMi kontekstiaken? Kui suur ta praegustel tippmudelitel umbes on? Andmebaasid: mis asi on andmebaas, andmebaasisüsteem, SQL, NoSQL. Mis on "imperatiivne" vs "deklaratiivne"?
 
 
Proovi järgi andmebaaside teemal; kui keeruline, tee algul läbi [https://mystery.knightlab.com/walkthrough.html walkthrough] ja/või [https://www.w3schools.com/sql/sql_intro.asp w3schools SQL tutorial].
:* [https://mystery.knightlab.com/ SQL murder mystery]
:* endale installeerimiseks ja katsetamiseks: [https://www.sqlite.org/index.html sqlite]
:* väike näide, kuidas pythonist [[sqlite kasutada]] ilma midagi installeerimata.
 
=== 5. nädal. Ajaloo algus ... 1940 ja arvuti riistvara ===
 
1. oktoober.
 
* Kell 12:00: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
:Loengumaterjal: [[Media:itsissejuhatus1b26.pptx|itsissejuhatus1b26.pptx]], [[Media:itsissejuhatus1b26.pdf|itsissejuhatus1b26.pdf]]
 
* Kell 13:45: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
:Loengumaterjal: [[Media:riistvara_komponendid.pptx|riistvara_komponendid.pptx]], [[Media:riistvara_komponendid.pdf|riistvara_komponendid.pdf]].
 
* [https://echo360.org.uk/media/f57597cd-742e-454b-bdad-2cd978c41ec2/public Loenguvideo]


* Eksamiks: Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid. Riistvarast: relee, lihtsad elektroonikaskeemid, mitme biti liitja ja lahutaja, lihtsad mälutüübid. Peaksid oskama ehitada väikese loogikavalemi järgi loogikakomponentidest elektroonikaskeemi, mis seda realiseerib, samuti koostada paaribitiste sisendite liitjat/lahutajat, samuti kolme eraldi biti liitjat ja trigerit.


Lisaks teisele loengule:
Lisaks esimesele loengule:
:* lausearvutuse [https://www.cs.ox.ac.uk/people/michael.wooldridge/teaching/soft-eng/lect07.pdf sissejuhatus] ja [http://intrologic.stanford.edu/chapters/chapter_02.html veidi keerulisem variant]
:* [http://www.pld.ttu.ee/~kruus/diskmat/index.html Kruusi diskreetse matemaatika kursus!]
:* [http://www.pld.ttu.ee/~kruus/diskmat/index.html Kruusi diskreetse matemaatika kursus!]
:* Paul Graham: [http://www.paulgraham.com/hs.html What you'll wish you'd known]
:* Paul Graham: [http://www.paulgraham.com/hs.html What you'll wish you'd known]
:* Sama asi diskreetse matemaatika kursuses: harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid ([[Media:itsissejuhatus_eksamnaide1.pdf|1]], [[Media:itsissejuhatus_eksamnaide2.pdf|2]], [[Media:itsissejuhatus_eksamnaide3.pdf|3]]) tee ülesandeid ise juurde ja kasuta [http://logictools.org/prop.html logictools.org/prop.html] enesekontrolliks. Vajuta algul "help" nuppu, siis näed, kuidas valemeid kirjutada. Tõeväärtustabeli jaoks vajuta '"Build" a truth table' nuppu.
:* Sama asi diskreetse matemaatika kursuses: harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid ([[Media:itsissejuhatus_eksamnaide1.pdf|1]], [[Media:itsissejuhatus_eksamnaide2.pdf|2]], [[Media:itsissejuhatus_eksamnaide3.pdf|3]]) tee ülesandeid ise juurde ja kasuta [http://logictools.org/prop.html logictools.org/prop.html] enesekontrolliks. Vajuta algul "help" nuppu, siis näed, kuidas valemeid kirjutada. Tõeväärtustabeli jaoks vajuta '"Build" a truth table' nuppu.
<!-- :* algus-1945: [http://www.maxmon.com/history.htm A history of computers] -->
:* Vaata veidi ühte [http://www.youtube.com/watch?v=cYw2ewoO6c4&NR=1 Turingi masina videot] ja siis katseta:[https://math.hws.edu/eck/js/turing-machine/TM.html Turingi masina simulaator] ja [http://morphett.info/turing/turing.html alternatiivne simulaator]
<!-- :* Eck lab: [http://math.hws.edu/TMCM/java/labs/xTuringMachineLab.html Turing machines]. -->
:* [https://math.hws.edu/eck/js/turing-machine/TM.html Turingi masina simulaator] ja [http://morphett.info/turing/turing.html alternatiivne simulaator]
:* Alustada: [[Media:loogikasissejuhatus_raamat.html|Loogika aine ja ajalugu]]
:* Alustada: [[Media:loogikasissejuhatus_raamat.html|Loogika aine ja ajalugu]]
:* [https://www.youtube.com/watch?v=JDogScg_pUI lõpmatuse osa] [http://www.youtube.com/results?search_query=dangerous+knowledge BBC dokumentaalsarjast]
:* [https://www.youtube.com/watch?v=JDogScg_pUI lõpmatuse osa] [http://www.youtube.com/results?search_query=dangerous+knowledge BBC dokumentaalsarjast]
259. rida: 306. rida:
:*** [https://en.wikipedia.org/wiki/Atanasoff%E2%80%93Berry_computer Atanasoffi elektronarvuti]
:*** [https://en.wikipedia.org/wiki/Atanasoff%E2%80%93Berry_computer Atanasoffi elektronarvuti]
:*** [http://en.wikipedia.org/wiki/Harvard_Mark_I Mark I]: esimene programmeeritav elektromehaaniline arvuti.
:*** [http://en.wikipedia.org/wiki/Harvard_Mark_I Mark I]: esimene programmeeritav elektromehaaniline arvuti.
:* Kuula [https://lexfridman.com/jim-keller/ Jim Kelleri episoodi "Moore’s Law, Microprocessors, Abstractions, and First Principles"]


=== 2. nädal: Keskajalugu 1940-1960 ja arvuti riistvara ===
Lisaks teisele loengule:
 
:* [https://nandgame.com/ nandgame]
9. september.
:* Kuula [https://lexfridman.com/jim-keller/ Jim Kelleri episoodi "Moore's Law, Microprocessors, Abstractions, and First Principles"]
 
* Kell 12: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
:Loengumaterjal: [[Media:Itsissejuhatus3o.ppt|Itsissejuhatus3o.ppt]], [[Media:Itsissejuhatus3o.pdf|Itsissejuhatus3o.pdf]].
 
* Kell 13:45: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
:Loengumaterjal: [[Media:Itsissejuhatus_proc_21a.ppt|Itsissejuhatus_proc_21a.ppt]], [[Media:Itsissejuhatus_proc_21a.pdf|Itsissejuhatus_proc_21a.pdf]].
 
* Eksamiks: transistor, Samuel, Shockley semiconductor, Fortran, Fairchild, Sage, Texas instruments, integraalskeem, cobol, lisp, pdp-1, system 360, moore's law, intel, amd, Engelbart, Unix, esimene mikroprotsessor. Relee, lihtsad elektroonikaskeemid, mitme biti liitja ja lahutaja, lihtsad mälutüübid. Peaksid oskama ehitada väikese loogikavalemi järgi loogikakomponentidest elektroonikaskeemi, mis seda realiseerib, samuti koostada paaribitiste sisendite liitjat/lahutajat, samuti kolme eraldi biti liitjat ja trigerit.
 
Lisaks esimesele loengule:
:* Paul Graham: [http://www.paulgraham.com/college.html Undergraduation] pluss järelmärkused: [http://www.paulgraham.com/undergrad2.html more advice for undergrads]
:* [http://www.columbia.edu/cu/computinghistory/tabulator.html IBM-i varased mehaanilised tabulaatorid]
:* [https://en.wikipedia.org/wiki/Magnetic-core_memory ferriitmälu]
:* [http://en.wikipedia.org/wiki/Fortran Fortran] ja [http://en.wikipedia.org/wiki/IBM_704 IBM 704] ja taustaks [http://en.wikipedia.org/wiki/List_of_vacuum_tube_computers raadiolampidega arvutite suur tabel]
:* [https://en.wikipedia.org/wiki/Manchester_computers Brittide varaseimad arvutid Manchesteris]
:* [http://pdp-1.computerhistory.org/pdp-1/ PDP-1 restoration project], ,[https://www.youtube.com/watch?v=Rmvb4Hktv7U Spacewar: esimene graafiline arvutimäng], [http://www.computerhistory.org/revolution/computer-games/16/189/2213 ja ajaloo-video],[http://www.masswerk.at/spacewar/ töötav versioon javascriptis] ja taustaks [http://en.wikipedia.org/wiki/First_video_game esimeste arvutimängude tabel]
:* [http://www.youtube.com/watch?v=USyoT_Ha_bA Ivan Sutherland's sketchpad video] vt ka [http://en.wikipedia.org/wiki/Sketchpad sketchpadi artikkel]
:* [http://sloan.stanford.edu/MouseSite/1968Demo.html Douglas Engelbart "mother of all demos"]
:* [http://en.wikipedia.org/wiki/Semi_Automatic_Ground_Environment SAGE]
:* [http://en.wikipedia.org/wiki/Counterculture_of_the_1960s Counterculture]
:* [http://en.wikipedia.org/wiki/Silicon_Valley Silicon Valley] vt ka [https://www.google.com/maps/d/viewer?mid=zc_2vLrMI9XY.kOvBnM9xQmuA&hl=en_US seda kaarti]
:* Whole earth catalog [http://en.wikipedia.org/wiki/Whole_Earth_Catalog wikis] ja [http://www.wholeearth.com/ skaneeritud sisu]
 
Lisaks teisele loengule riistvarast:
:* [https://lexfridman.com/jim-keller/ Jim Kelleri episood] A.I. podcastist
:* [http://www.pctechguide.com/cpu-architecture/principles-of-cpu-architecture-logic-gates-mosfets-and-voltage lühike lugu transistoride kasutamisest loogikalülituste ehitamiseks] ja vaata veidi täienduseks  [http://en.wikipedia.org/wiki/Logic_gate siit]  
:* [http://www.pctechguide.com/cpu-architecture/principles-of-cpu-architecture-logic-gates-mosfets-and-voltage lühike lugu transistoride kasutamisest loogikalülituste ehitamiseks] ja vaata veidi täienduseks  [http://en.wikipedia.org/wiki/Logic_gate siit]  
:* [https://www.electronics-tutorials.ws/combination/comb_7.html 4-bit adder tutorial in detail]
:* Ecki [https://math.hws.edu/eck/js/xLogicCircuits/xLogicCircuits.html loogikalülituste simulaator]. Kindlasti vaata ka [https://math.hws.edu/eck/js/xLogicCircuits/info.html infot] ja [https://math.hws.edu/eck/js/xLogicCircuits/xLogicCircuits.html?file=combinational.txt veidi keerukamaid näiteid] ja [https://math.hws.edu/eck/js/xLogicCircuits/xLogicCircuits.html?file=sequential.txt mälunäiteid].
:* Tore mõte on teha D.Ecki harjutusi, osad siit: [http://math.hws.edu/TMCM/java/index.html Eck laborid].  Need simulaatorid on väga vanad, aga töötavad endiselt OK. Vajavad javat ja kõige parem on nad alla laadida ja oma masinas käivitada: [[Ecki laborite allalaadimine ja katsetamine|siit leiad õpetuse, kuidas seda teha]]. Süvene 4-biti liitjasse, kuni sa temast korralikult aru saad. Seejärel loe ise läbi, proovi ja tee mõlemist osast vähemalt üks harjutus, kus tuleb ise elektroonikaskeem ehitada:
:* Alternatiivina on päris head ka [https://logic.ly/demo/ logic.ly demo] (also 4-bit adder) or try [https://simulator.io/samples 4-bit adder tutorial in detail: you can try out and edit half-built parts]. See also [https://www.geeksforgeeks.org/half-adder-in-digital-logic/?ref=lbp this]. Samuti [https://circuitverse.org/simulator on-line] ja [https://learn.circuitverse.org/ selle tutorial] ning [http://www.kolls.net/gatesim/ see allalaetav]
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits]
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits]
:* Head alternatiivsed simulaatorid katsetamiseks ja skeemide ehitamiseks:
:** [https://circuitverse.org/simulator on-line] ja [https://learn.circuitverse.org/ tutorial]
:** [http://www.kolls.net/gatesim/ allalaetav]
:* Minecraft: redstone ja arvutid
:* Minecraft: redstone ja arvutid
:** introd [http://www.youtube.com/watch?v=aLTX-sBbo_U siin] ja [http://www.youtube.com/watch?v=XN_MIX7M460 siin] ja [http://www.youtube.com/watch?v=QpvJ9wiywL4 loogikalülitused]
:** introd [http://www.youtube.com/watch?v=aLTX-sBbo_U siin] ja [http://www.youtube.com/watch?v=XN_MIX7M460 siin] ja [http://www.youtube.com/watch?v=QpvJ9wiywL4 loogikalülitused]
302. rida: 318. rida:
:* Veidi tutvuda nende saitidega:
:* Veidi tutvuda nende saitidega:
:** [http://www.quadibloc.com/comp/cp01.htm täiendavalt teemal transistoride kasutamisest loogikalülituste ehitamiseks]
:** [http://www.quadibloc.com/comp/cp01.htm täiendavalt teemal transistoride kasutamisest loogikalülituste ehitamiseks]
:** [http://www.karbosguide.com/books/pcarchitecture/start.html detailsemalt protsessorite ehitusest]
:** [http://www.lighterra.com/papers/modernmicroprocessors/ Optimeeringud tegelikes protsessorites]
:** [http://www.lighterra.com/papers/modernmicroprocessors/ Optimeeringud tegelikes protsessorites]
:* Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
:* Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
<!-- :** [https://www.heyrick.co.uk/armwiki/Introducing_the_ARM arm chipid] -->
:** [https://www.theregister.co.uk/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=1 arm chippide alguse lugu]
:** [https://www.theregister.co.uk/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=1 arm chippide alguse lugu]
:* Protsessori simuleerimine ja ise ehitamine:
:* Protsessori simuleerimine ja ise ehitamine:
313. rida: 327. rida:
:**[https://eater.net/8bit Build an 8-bit computer from scratch]
:**[https://eater.net/8bit Build an 8-bit computer from scratch]
:* [https://en.wikipedia.org/wiki/Microcontroller Mikrokontrollerid] ja [https://en.wikipedia.org/wiki/System_on_a_chip system on a chip]:
:* [https://en.wikipedia.org/wiki/Microcontroller Mikrokontrollerid] ja [https://en.wikipedia.org/wiki/System_on_a_chip system on a chip]:
:** [https://jaycarlson.net/microcontrollers/ mikrokontrollerite ülevaade] detailidega: kõik alla 1 dollari
:** [https://jaycarlson.net/microcontrollers/ mikrokontrollerite ülevaade] detailidega
:** [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] SOC
:** [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] SOC


=== 3. nädal: Keskajalugu 1970 ... 1990  ja masinalähedane programmeerimine ===
=== 6. nädal: Keskajalugu 1940-1960 ja masinalähedane programmeerimine ===
 
8. oktoober
 
* Kell 12:00: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
:Loengumaterjal: [[Media:Itsissejuhatus3o.ppt|Itsissejuhatus3o.ppt]], [[Media:Itsissejuhatus3o.pdf|Itsissejuhatus3o.pdf]].
 
* Kell 13:45:  Masinalähedane programmeerimine: assembler ja C.
:NB! Loengu powerpointi algus on hetkel põhiliselt kordamine: tegelik uus osa algab ca lk 21 ja seda kaetakse põhiliselt loengus interaktiivse demona, st materjalis on infot vähe. Väga soovitav on ise lisaks lugeda ja veidi harjutada Easy 6502 pisiõpikuga.
:Loengumaterjal: [[Media:Itsissejuhatus_progealused_20.ppt|Itsissejuhatus_progealused_20.ppt]], [[Media:Itsissejuhatus_progealused_20.pdf|Itsissejuhatus_progealused_20.pdf]].
 
* [https://echo360.org.uk/media/c7f3aed7-8bfb-4bdf-8d4e-41a401a7dfa9/public Loenguvideo]
 
* Eksamiks: transistor, Samuel, Shockley semiconductor, Fortran, Fairchild, Sage, Texas instruments, integraalskeem, cobol, lisp, pdp-1, system 360, moore's law, intel, amd, Engelbart, Unix, esimene mikroprotsessor. Riistvarast mälu tehnoloogia, cache ja mälu hierarhia, mis on assembler ja seos riistvaraga, mis on kompileerimine, linkimine, mis teeb loader.
 
Lisaks esimesele loengule:
:* Paul Graham: [http://www.paulgraham.com/college.html Undergraduation] pluss järelmärkused: [http://www.paulgraham.com/undergrad2.html more advice for undergrads]
:* [http://www.columbia.edu/cu/computinghistory/tabulator.html IBM-i varased mehaanilised tabulaatorid]
:* [https://en.wikipedia.org/wiki/Magnetic-core_memory ferriitmälu]
:* [http://en.wikipedia.org/wiki/Fortran Fortran] ja [http://en.wikipedia.org/wiki/IBM_704 IBM 704] ja taustaks [http://en.wikipedia.org/wiki/List_of_vacuum_tube_computers raadiolampidega arvutite suur tabel]
:* [https://en.wikipedia.org/wiki/Manchester_computers Brittide varaseimad arvutid Manchesteris]
:* [https://www.computerhistory.org/pdp-1/ PDP-1 restoration project], [https://www.youtube.com/watch?v=Rmvb4Hktv7U Spacewar: esimene graafiline arvutimäng], [http://www.computerhistory.org/revolution/computer-games/16/189/2213 ja ajaloo-video],[http://www.masswerk.at/spacewar/ töötav versioon javascriptis] ja taustaks [http://en.wikipedia.org/wiki/First_video_game esimeste arvutimängude tabel]
:* [https://www.youtube.com/watch?v=6orsmFndx_o Ivan Sutherland's sketchpad video] vt ka [http://en.wikipedia.org/wiki/Sketchpad sketchpadi artikkel]
:* [https://www.youtube.com/watch?v=yJDv-zdhzMY Douglas Engelbart "mother of all demos"]
:* [http://en.wikipedia.org/wiki/Semi_Automatic_Ground_Environment SAGE]
:* [http://en.wikipedia.org/wiki/Counterculture_of_the_1960s Counterculture]
:* [http://en.wikipedia.org/wiki/Silicon_Valley Silicon Valley] vt ka [https://www.siliconvalleymap.org/ seda kaarti]
:* Whole earth catalog [http://en.wikipedia.org/wiki/Whole_Earth_Catalog wikis]
 
 
Lisaks teisele loengule:
:* [https://nandgame.com/ tagasihüpe elektroonikasse: nandgame] ja [http://f.javier.io/rep/books/The%20Elements%20of%20Computing%20Systems.pdf raamatu fulltext], millel ta nö baseerub.
:* [http://skilldrick.github.io/easy6502/ easy 6502]: vaatame pikemalt loengus
:* [https://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/ Segaduses algajad]
:* Väga hea raamat riistvaralähedasest programmeerimisest: Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University
:** [http://csapp.cs.cmu.edu/ raamatu sait]
:** [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwjelpbAsPbdAhUIDywKHbCNA30QFjACegQICRAC&url=https%3A%2F%2Fpiazza.com%2Fclass_profile%2Fget_resource%2Fj7ly9riuca97on%2Fja86xbbpp0b73b&usg=AOvVaw2jvbidUujKI0bznBPL9hfL googeldades leitud täistekst]
:* Vaata, kuidas eri kompilaatorid [https://godbolt.org/ assemblerit genereerivad]
:* Loe veidi ja uuri [https://lwn.net/Articles/250967/ What every programmer should know about memory]
:* Väga vanade koduarvutite lag oli väiksem, kui praegustel: [https://danluu.com/input-lag/ Computer latency: 1977-2017]
 
=== 7. nädal: Keskajalugu 1970 ... 1990  ja andmetüübid masinalähedaselt  ===


16. september
15. oktoober


* Kell 12: Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
* Kell 12:00:  Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
:Loengumaterjal: [[Media:Itsissejuhatus4o.ppt|Itsissejuhatus4o.ppt]], [[Media:Itsissejuhatus4o.pdf|Itsissejuhatus4o.pdf]].
:Loengumaterjal: [[Media:Itsissejuhatus4o.ppt|Itsissejuhatus4o.ppt]], [[Media:Itsissejuhatus4o.pdf|Itsissejuhatus4o.pdf]].


* Kell 13:45: Masinalähedane programmeerimine: assembler ja C.  
* Kell 13:45: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.  
:NB! Loengu powerpointi algus on hetkel põhiliselt kordamine: tegelik uus osa algab ca lk 21 ja seda kaetakse põhiliselt loengus interaktiivse demona, st materjalis on infot vähe. Väga soovitav on ise lugeda ja veidi harjutada Easy 6502 pisiõpikuga.
: Loengumaterjal: [[Media:itsissejuhatus6b.ppt|itsissejuhatus6b.ppt]], [[Media:itsissejuhatus6b.pdf|itsissejuhatus6b.pdf]]  
** Loengumaterjal: [[Media:Itsissejuhatus_progealused_20.ppt|Itsissejuhatus_progealused_20.ppt]], [[Media:Itsissejuhatus_progealused_20.pdf|Itsissejuhatus_progealused_20.pdf]].
** Tööta läbi nii palju [http://skilldrick.github.io/easy6502/ Easy 6502 pisiõpikust] kui jõuad.
** Loe [https://blog.codinghorror.com/the-infinite-space-between-words/ The infinite space between words]
** Loe [https://www.freecodecamp.org/news/must-know-numbers-for-every-computer-engineer/ Latency numbers] ja soovitavalt lisaks [https://www.forrestthewoods.com/blog/memory-bandwidth-napkin-math/ palju detailsemalt]
<!-- [[Media:2019_09_17_Kyberkaitse.pdf|Küberkaitse]].  Sten Mäses. NB! Sisu on peamiselt videosalvestuses, .pdf on viimase taustaks.-->


* Eksamiks: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Riistvarast mälu tehnoloogia, cache ja mälu hierarhia, mis on assembler ja seos riistvaraga, mis on kompileerimine, linkimine, mis teeb loader. <!-- Küberkaitse termineid: turvateater, malware, cookie, phishing, social engineering. -->
* Eksamiks: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Lihtsad andmetüübid (täisarvud, ujukoma-arvud, üksiktähed, tõeväärtused), stringid, massiivid, puud, mis on pointer.  


Lisaks esimesele loengule:
Lisaks esimesele loengule:
338. rida: 388. rida:
:* [https://www.youtube.com/watch?v=2zfqw8nhUwA Apple 1984 Macintosh: reklaamklipp] ja [https://www.youtube.com/watch?v=8bepzUM1x3w Steve Jobs esitlemas] ja 1985 mac office [https://www.youtube.com/watch?v=V-SJQdREDKM lemmings] ja [https://en.wikipedia.org/wiki/Steve_Jobs#Apple_(1976%E2%80%931985) wiki]
:* [https://www.youtube.com/watch?v=2zfqw8nhUwA Apple 1984 Macintosh: reklaamklipp] ja [https://www.youtube.com/watch?v=8bepzUM1x3w Steve Jobs esitlemas] ja 1985 mac office [https://www.youtube.com/watch?v=V-SJQdREDKM lemmings] ja [https://en.wikipedia.org/wiki/Steve_Jobs#Apple_(1976%E2%80%931985) wiki]
:* [http://www.4004.com/ intel 4004 skeemid, simulaatorid ja ajalugu], [http://e4004.szyc.org/ simulaator]
:* [http://www.4004.com/ intel 4004 skeemid, simulaatorid ja ajalugu], [http://e4004.szyc.org/ simulaator]
:* [http://www.visual6502.org/JSSim/index.html MOS 6502 simulaator] ja [http://skilldrick.github.io/easy6502/ easy 6502 pisiõpik] ja [https://www.youtube.com/watch?v=YRnnjoiSV-U terminaator oli progetud 6502 assembleris] [https://www.youtube.com/watch?v=zgb763elfok klipp]
:* [http://www.visual6502.org/JSSim/index.html MOS 6502 simulaator] ja [http://skilldrick.github.io/easy6502/ easy 6502 pisiõpik] ja [https://www.pagetable.com/?p=64 terminaator oli progetud 6502 assembleris] [https://www.youtube.com/watch?v=zgb763elfok klipp]
:* [http://www.computerhistory.org/pdp-1/index.php?f=theme&s=4&ss=3 Spacewar: esimene graafiline arvutimäng],[http://www.masswerk.at/spacewar/ töötav versioon javascriptis]
:* [http://www.computerhistory.org/pdp-1/index.php?f=theme&s=4&ss=3 Spacewar: esimene graafiline arvutimäng],[http://www.masswerk.at/spacewar/ töötav versioon javascriptis]
:* [https://www.atarimuseum.de Atari muuseum]
:* [https://www.atarimuseum.de Atari muuseum]
344. rida: 394. rida:
:* [http://en.wikipedia.org/wiki/SRI_International SRI international]
:* [http://en.wikipedia.org/wiki/SRI_International SRI international]
:* [http://en.wikipedia.org/wiki/Bell_Labs Bell labs]
:* [http://en.wikipedia.org/wiki/Bell_Labs Bell labs]
:* [https://pdfroom.com/books/what-the-dormouse-said-how-the-60s-counterculture-shaped-the-personal-computer/Wx5aDmyG2BJ What the dormouse said raamatu täistekst] ehk "how the 60s counterculture shaped the personal computer"
:* [https://vdoc.pub/documents/what-the-dormouse-said-how-the-60s-counterculture-shaped-the-personal-computer-333q53kptb20 What the dormouse said raamatu täistekst] ehk "how the 60s counterculture shaped the personal computer"
:* Eric Raymond: [http://www.catb.org/~esr/faqs/hacker-howto.html How to become a hacker]
:* Eric Raymond: [http://www.catb.org/~esr/faqs/hacker-howto.html How to become a hacker]
:* [http://www.rickadams.org/adventure/ Colossal Cave (adventure)] teksti-seiklusmäng [https://quuxplusone.github.io/Advent/ online] ja veidi vigane [http://www.xenoveritas.org/static/advent/advent.html  javascripti versioon]. Vaata ka [http://www.web-adventures.org/ suuremat kollektsiooni vanade teksti-seiklusmängude] javascripti-versioonidest.
:* [http://www.rickadams.org/adventure/ Colossal Cave (adventure)] teksti-seiklusmäng [https://quuxplusone.github.io/Advent/ online] ja veidi vigane [http://www.xenoveritas.org/static/advent/advent.html  javascripti versioon]. Vaata ka [http://www.web-adventures.org/ suuremat kollektsiooni vanade teksti-seiklusmängude] javascripti-versioonidest.
:* [http://www.pong-story.com/odyssey.htm Magnavox odyssey]
:* [http://www.pong-story.com/odyssey.htm Magnavox odyssey]
:* [http://porkrind.org/a2/?disk=Karateka.do Apple II Karateka simu] (mängimiseks qwaszx(? või all paremal klahvid ?), tühik ja nooleklahvid). Vaata taustaks [https://en.wikipedia.org/wiki/Karateka_(video_game) Karateka], [https://en.wikipedia.org/wiki/Jordan_Mechner Jordan Mechner] ja [http://www.jordanmechner.com/projects/prince-of-persia/ Prince of Persia]
:* Popular Science [https://books.google.ee/books/about/Popular_Science.html?id=qR8DAAAAMBAJ&redir_esc=y täielik arhiiv]. Vaata [https://books.google.ee/books?id=bQEAAAAAMBAJ&hl=et&source=gbs_all_issues_r&cad=1 oktoober 1977] ja  [https://books.google.ee/books?id=fgEAAAAAMBAJ&hl=et&source=gbs_all_issues_r&cad=1 märts 1979]
:* [http://porkrind.org/a2/?disk=Karateka.do Apple II Karateka simu] (mängimiseks qwaszx(? või all paremal klahvid ?), tühik ja nooleklahvid). Vaata taustaks [https://en.wikipedia.org/wiki/Karateka_(video_game) Karateka], [https://en.wikipedia.org/wiki/Jordan_Mechner Jordan Mechner] ja [http://www.jordanmechner.com/projects/prince-of-persia/ Prince of Persia].  [https://github.com/jmechner/Prince-of-Persia-Apple-II/tree/master/01%20POP%20Source/Source Prince of Persia lähtekood] (Apple II 6502 assembler).


Lisaks teisele loengule:
Lisaks andmete esitusest:
:* [https://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/ Segaduses algajad]
:* [https://fabiensanglard.net/floating_point_visually_explained/ ujukoma-arvude seletus] ja [https://en.wikipedia.org/wiki/Floating-point_arithmetic detailsemalt wikipedias] ja [http://www.mrob.com/pub/math/floatformats.html ajaloost]
:* Väga hea raamat riistvaralähedasest programmeerimisest: Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University
:* [https://float.exposed/0x44bf9400 ujukoma-arvude esituse katsetamine/visualiseering]
:** [http://csapp.cs.cmu.edu/ raamatu sait]
:* [http://beza1e1.tuxen.de/strings.html how to implement strings]
:** [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwjelpbAsPbdAhUIDywKHbCNA30QFjACegQICRAC&url=https%3A%2F%2Fpiazza.com%2Fclass_profile%2Fget_resource%2Fj7ly9riuca97on%2Fja86xbbpp0b73b&usg=AOvVaw2jvbidUujKI0bznBPL9hfL googeldades leitud täistekst]
:* ja kuidas python [https://rushter.com/blog/python-strings-and-memory/  stringe optimeerib]
:* Vaata, kuidas eri kompilaatorid [https://godbolt.org/ assemblerit genereerivad]
:* [http://www.laurentluce.com/posts/python-list-implementation/ pythoni listid sisemiselt]
:* Loe veidi ja uuri [https://lwn.net/Articles/250967/ What every programmer should know about memory]
:* kataloog [https://treevis.net/ puude visualiseerimise viisidest]
:* Väga vanade koduarvutite lag oli väiksem, kui praegustel: [https://danluu.com/input-lag/ Computer latency: 1977-2017]
:* hulk eri andmetüüpide [https://www.cs.usfca.edu/~galles/visualization/Algorithms.html visualiseeringuid]
 
 
=== 8. nädal: Interneti funktsioneerimine ja lähiajalugu 1990-2009 ===


=== 4. nädal: Lähiajalugu 1990-2009 ja andmetüübid masinalähedaselt ===
22. oktoober


23. september.
* Kell 12:00: Interneti funktsioneerimine: loengu annab Ivo Müürsepp.
:Loengumaterjal: [[Media:ITI0101_Arvutivorgud_sissejuhatus_S25s.pdf|ITI0101_Arvutivorgud_sissejuhatus_S25s.pdf]]


* Kell 12: Lähiajalugu: kaheksakümnendate teine pool kuni 2009. IBM PC, Macintosh, uued vanad opsüsteemid, võrgundus ja veeb, market crash, iPhone, Android, Bitcoin, e-valimised.
* Kell 13:45:  lähiajalugu: kaheksakümnendate teine pool kuni 2009. IBM PC, Macintosh, uued vanad opsüsteemid, võrgundus ja veeb, market crash, iPhone, Android, Bitcoin, e-valimised.
:Loengumaterjal a osa:[[Media:Itsissejuhatus5oa.ppt|Itsissejuhatus5oa.ppt]], [[Media:Itsissejuhatus5oa.pdf|Itsissejuhatus5oa.pdf]].
:Loengumaterjal a osa:[[Media:Itsissejuhatus5oa.ppt|Itsissejuhatus5oa.ppt]], [[Media:Itsissejuhatus5oa.pdf|Itsissejuhatus5oa.pdf]].
:Loengumaterjal b osa:[[Media:Itsissejuhatus5ob.ppt|Itsissejuhatus5ob.ppt]], [[Media:Itsissejuhatus5ob.pdf|Itsissejuhatus5ob.pdf]].
:Loengumaterjal b osa:[[Media:Itsissejuhatus5ob.ppt|Itsissejuhatus5ob.ppt]], [[Media:Itsissejuhatus5ob.pdf|Itsissejuhatus5ob.pdf]].
:Loengumaterjal c osa:[[Media:Itsissejuhatus5oc1.ppt|Itsissejuhatus5oc1.ppt]], [[Media:Itsissejuhatus5oc1.pdf|Itsissejuhatus5oc1.pdf]].
:Loengumaterjal c osa:[[Media:Itsissejuhatus5oc1.ppt|Itsissejuhatus5oc1.ppt]], [[Media:Itsissejuhatus5oc1.pdf|Itsissejuhatus5oc1.pdf]].


* Kell 13:45: loeng andmetüüpidest masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.  
* Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis mille sees). Päiste detailide kohta ei küsita.
** Loengumaterjal: [[Media:itsissejuhatus6b.ppt|itsissejuhatus6b.ppt]], [[Media:itsissejuhatus6b.pdf|itsissejuhatus6b.pdf]]  
 
<!--
 
* Kell 14: kokkuleppimisel --><!-- e-riigi põhimõtted, ohud, analoogid. [https://et.wikipedia.org/wiki/Jaan_Priisalu Jaan Priisalu], [https://www.linkedin.com/in/priisalu/ linkedin].-->
Tutvuda lühidalt interneti funktsioneerimise teemal:
:* [https://www.submarinecablemap.com/ Veeluste internetikaablite zoomitav kaart] ja [https://he.net/3d-map/ veel detailsem zoomitav kaart]
:* [https://www.nytimes.com/interactive/2019/03/10/technology/internet-cables-oceans.html Kuidas veealused kaablid välja näevad]
:* https://en.wikipedia.org/wiki/Internet_protocol_suite
:* https://en.wikipedia.org/wiki/Internet_of_things
:* [https://www.youtube.com/watch?v=7Zf203Vmbig steampunk film pakettide liikumisest]
:* [https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm How does the internet work?]
:* Huvi korral loe mahukamast protokollinduse kursusest lisa: [[Andmeside protokollid]]
 
=== 9. nädal:  tekstitöötlus ja tabelarvutus ===
 
29. oktoober
 
Kummagi loengu annab [https://ivari.horm.ee/cv Ivari Horm]
 
* Kell 12:00: tekstitöötlus: <!--Loengumaterjalid: [https://study.risk.ee/wp-content/uploads/sites/3/2024/11/Teksti-toimetamine-2024.pdf Teksti Toimetamine]. Lisaks (mittekohustuslik) on [https://study.risk.ee/arvuti/tekstitootlus/redigeerimine/ siin allpool] lingid näitefailide algfailidele ja tulemustele.-->
 
* Kell 13:45: tabelarvutus: <!--[https://study.risk.ee/arvuti/tabelarvutus/pohimoisted/ Loengumaterjalide leht].
 
Eksamiks: Tekstitöötlus: lihttekst, WYSIWYG, kooditabel, ascii, unicode, utf-8, reavahetused, mis on tex, latex, markdown, nende plussid ja miinused, kus kasutatakse. Tabelarvutuse kohta küsimusi ei tule.-->
 
= <font color="red">NB!</font> Siit edasi läheb loengute järjekord muutmisele =
 
 
=== 6. nädal:  lähiajalugu 1990-2009 ja andmetüübid masinalähedaselt ===


* Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Lihtsad andmetüübid, stringid, massiivid, puud, mis on pointer.
9. oktoober


* Kell 12:15:  lähiajalugu: kaheksakümnendate teine pool kuni 2009. IBM PC, Macintosh, uued vanad opsüsteemid, võrgundus ja veeb, market crash, iPhone, Android, Bitcoin, e-valimised.
:Loengumaterjal a osa:[[Media:Itsissejuhatus5oa.ppt|Itsissejuhatus5oa.ppt]], [[Media:Itsissejuhatus5oa.pdf|Itsissejuhatus5oa.pdf]].
:Loengumaterjal b osa:[[Media:Itsissejuhatus5ob.ppt|Itsissejuhatus5ob.ppt]], [[Media:Itsissejuhatus5ob.pdf|Itsissejuhatus5ob.pdf]].
:Loengumaterjal c osa:[[Media:Itsissejuhatus5oc1.ppt|Itsissejuhatus5oc1.ppt]], [[Media:Itsissejuhatus5oc1.pdf|Itsissejuhatus5oc1.pdf]].


<!--Tekstitöötlus (word, powerpoint, libreoffice, Latex, markdown, ...). Ivari Horm.
* Kell 14:00: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.  
:Loengumaterjal: [http://study.risk.ee/arvuti/tekstitootlus/redigeerimine/ Slaidid ja demofailid].
: Loengumaterjal: [[Media:itsissejuhatus6b.ppt|itsissejuhatus6b.ppt]], [[Media:itsissejuhatus6b.pdf|itsissejuhatus6b.pdf]]
-->
<!--
* Eksamiks: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Tekstitöötlus: lihttekst, WYSIWYG, kooditabel, ascii, unicode, utf-8, mis on latex, markdown.
-->


Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:
* [https://echo360.org.uk/media/35cb9fd0-6bea-451c-ac93-d0b55316018f/public loenguvideo].  
:* [https://www.intereconomics.eu/contents/year/2017/number/1/article/the-global-productivity-slowdown-diagnosis-causes-and-remedies.html global productivity slowdown]
:* Peter Thiel: we wanted flying cars, instead we got 140 characters [https://som.yale.edu/blog/peter-thiel-at-yale-we-wanted-flying-cars-instead-we-got-140-characters ja hariduse eesmärkidest] ja [https://medium.com/@danwwang/why-is-peter-thiel-pessimistic-about-the-future-of-technology-d2897f9659bb kommentaare sellele]
:* biotechi [https://www.innovationgrowthlab.org/blog/innovation-slowing-down-if-so-what-can-be-done-about-it innovatsiooni aeglustumine ja kiirelt kasvavad kulud]
:* [https://aeon.co/essays/has-progress-in-science-and-technology-come-to-a-halt has progress in science and technology come to a halt?]
:* freakonomicsi [https://freakonomics.com/podcast/no-new-ideas/ podcast samal teemal]


Lisaks ajaloost:
* Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Lihtsad andmetüübid (täisarvud, ujukoma-arvud, üksiktähed, tõeväärtused), stringid, massiivid, puud, mis on pointer.  
:* [http://arvutimuuseum.ut.ee/ Arvutimuuseum Tartu ülikoolis]
:* [http://toastytech.com/guis/guitimeline.html GUI ajalugu]
:* [https://www.pinterest.com/pin/440649144769793165/ 101 arvutireklaami]
:* [https://www.youtube.com/playlist?list=PL92052A2D1E20A014 Arvutite ajaloolised tv-reklaamid]
<!-- :* [http://www.sciam.com/print_version.cfm?articleID=00010347-101C-14C1-8F9E83414B7F4945 The expert mind] -->
:* [[Media:teejuhtvorgundus_raamat.html |"Teejuht võrgumeediasse"]] toorik aastatest 1995-1996. Pakub eeskätt ajaloolist huvi.
:* Tutvu: [[Media:eestiajalugu.ppt|J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest]]
:* [https://www.youtube.com/watch?v=VtvjbmoDx-I Apple Macintoshi reklaamfilm: 1984]


Lisaks andmete esitusest:
Lisaks andmete esitusest:
:* [https://fabiensanglard.net/floating_point_visually_explained/ ujukoma-arvude seletus] ja [https://en.wikipedia.org/wiki/Floating-point_arithmetic detailsemalt wikipedias] ja [http://www.mrob.com/pub/math/floatformats.html ajaloost]
:* [https://fabiensanglard.net/floating_point_visually_explained/ ujukoma-arvude seletus] ja [https://en.wikipedia.org/wiki/Floating-point_arithmetic detailsemalt wikipedias] ja [http://www.mrob.com/pub/math/floatformats.html ajaloost]
:* [https://float.exposed/0x44bf9400 ujukoma-arvude esituse katsetamine/visualiseering]
:* [http://beza1e1.tuxen.de/strings.html how to implement strings]
:* [http://beza1e1.tuxen.de/strings.html how to implement strings]
:* ja kuidas python [https://rushter.com/blog/python-strings-and-memory/  stringe optimeerib]
:* ja kuidas python [https://rushter.com/blog/python-strings-and-memory/  stringe optimeerib]
409. rida: 476. rida:


Muud huvitavat:
Muud huvitavat:
:* [http://www.eurekalert.org/pub_releases/2006-06/uosc-fk062006.php Thirst for knowledge may be opium craving]
<!-- :* [http://www.eurekalert.org/pub_releases/2006-06/uosc-fk062006.php Thirst for knowledge may be opium craving] -->
:* [http://worrydream.com/LadderOfAbstraction/ ladder of abstraction]
:* [http://worrydream.com/LadderOfAbstraction/ ladder of abstraction]
:* [http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail Reality has a surprising amount of detail]
:* [http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail Reality has a surprising amount of detail]
:* Maciej Cegłowski loeng [https://www.youtube.com/watch?v=5Vt8zqhHe_c barely succeed: it is easier]
:* Maciej Ceg?owski loeng [https://www.youtube.com/watch?v=5Vt8zqhHe_c barely succeed: it is easier]
 
=== 7. nädal:  programmeerimiskeeled ja opsüsteemid ===
 
16. oktoober
 
* Kell 12:15: Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
:Loengumaterjal: [[Media:itsissejuhatus_keeled.ppt|itsissejuhatus_keeled.ppt]], [[Media:itsissejuhatus_keeled.pdf|itsissejuhatus_keeled.pdf]],
 
* Kell 14:00:  opsüsteemid
:Loengumaterjal: [[Media:Itsissejuhatus_opsyst.ppt|Itsissejuhatus_opsyst.ppt]],  [[Media:Itsissejuhatus_opsyst.pdf|Itsissejuhatus_opsyst.pdf]].


=== 5. nädal: Operatsioonisüsteemid ja programmeerimiskeeled ja nende realisatsioon ===
* [https://echo360.org.uk/media/84a2551d-1e05-4029-b08b-1e50bed777c8/public loenguvideo]. NB! Episoodides, kus käsureal on näha pikemad numbrid või ajamõõdud millisekundi täpsusega, ütleb õppejõud pidevalt numbreid valesti, samuti teeb vea java näiteid käivitades (seega java timingud täiesti valed): põhjuseks külmetus ja tugev nohu :) . Soovitus ise vaadata numbreid ja leida, kus õppejõud jälle midagi valesti ütles :)




<!--
* Eksamiks: Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python). Opsüsteemi roll, mis on distro, mis on Linux, mis on mac OS X, Android, protsessid, multitasking, paralleeltöö, wait/run, mis on interrupt, mis on virtuaalmälu.  
Programmeerimise alused, Turingi masin ja assembler ja seos riistvaraga ja abstraktsemad kihid.
** Loengumaterjal: [[Media:itsissejuhatus6a.ppt|itsissejuhatus6a.ppt]], [[Media:itsissejuhatus6a.pdf|itsissejuhatus6a.pdf]].
** Tööta läbi nii palju [http://skilldrick.github.io/easy6502/ Easy 6502 pisiõpikust] kui jõuad.
** Loe [https://blog.codinghorror.com/the-infinite-space-between-words/ The infinite space between words]
** Loe [https://gist.github.com/jboner/2841832 Latency numbers every programmer should know]
-->
* Kell 12: Operatsioonisüsteemid 
:Loengumaterjal: [[Media:Itsissejuhatus8a9.ppt|Itsissejuhatus8a9.ppt]], [[Media:Itsissejuhatus8a9.pdf|Itsissejuhatus8a9.pdf]].
* Kell 14: Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
** Loengumaterjal: [[Media:itsissejuhatus_keeled.ppt|itsissejuhatus_keeled.ppt]], [[Media:itsissejuhatus_keeled.pdf|itsissejuhatus_keeled.pdf]]
* Eksamiks: Opsüsteemi roll, mis on distro, mis on Linux, mis on mac OS X, Android, protsessid, multitasking, paralleeltöö, wait/run, mis on interrupt, mis on virtuaalmälu. Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python).


Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:
:* [https://www.intereconomics.eu/contents/year/2017/number/1/article/the-global-productivity-slowdown-diagnosis-causes-and-remedies.html global productivity slowdown]
<!-- :* Peter Thiel: we wanted flying cars, instead we got 140 characters [https://som.yale.edu/blog/peter-thiel-at-yale-we-wanted-flying-cars-instead-we-got-140-characters ja hariduse eesmärkidest] ja [https://medium.com/@danwwang/why-is-peter-thiel-pessimistic-about-the-future-of-technology-d2897f9659bb kommentaare sellele] -->
:* biotechi [https://www.innovationgrowthlab.org/blog/innovation-slowing-down-if-so-what-can-be-done-about-it innovatsiooni aeglustumine ja kiirelt kasvavad kulud]
:* [https://aeon.co/essays/has-progress-in-science-and-technology-come-to-a-halt has progress in science and technology come to a halt?]
:* freakonomicsi [https://freakonomics.com/podcast/no-new-ideas/ podcast samal teemal]


Soovitavat katsetamist opsüsteemidega:
Lisaks ajaloost:
:* [http://levinux.com/ levinux: eksperimenteerimiseks mõeldud mikro-linux]: "tiny virtual Linux server that runs from USB or Dropbox with a double-click (no install or admin rights required) on Macs, Windows or Linux PCs"
:* [http://arvutimuuseum.ut.ee/ Arvutimuuseum Tartu ülikoolis]
:* Linux windowsis - [https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux WSL] - [https://docs.microsoft.com/en-us/windows/wsl/ Microsofti õpetus]
:* [http://toastytech.com/guis/guitimeline.html GUI ajalugu]
Eriti soovitavat lugemist opsüsteemidest:
:* [https://www.pinterest.com/pin/440649144769793165/ 101 arvutireklaami]
:* [http://duartes.org/gustavo/blog/category/software-illustrated/ Duarte blog sisemisest elust], mh [http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory/ kuidas programmi mälus hoitakse], [http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory/ mälu haldamine], [http://duartes.org/gustavo/blog/post/how-computers-boot-up/ bootimine 1] ja [http://duartes.org/gustavo/blog/post/kernel-boot-process/ bootimine 2]
:* [https://www.youtube.com/playlist?list=PL92052A2D1E20A014 Arvutite ajaloolised tv-reklaamid]
Muidu soovitavat lugemist opsüsteemidest:
<!-- :* [http://www.sciam.com/print_version.cfm?articleID=00010347-101C-14C1-8F9E83414B7F4945 The expert mind] -->
:* Wikipedia artikkel [http://en.wikipedia.org/wiki/Operating_system opsüsteemidest]
:* [[Media:teejuhtvorgundus_raamat.html |"Teejuht võrgumeediasse"]] toorik aastatest 1995-1996. Pakub eeskätt ajaloolist huvi.
:* [http://en.wikipedia.org/wiki/Linux_distribution Linux distributions]
:* Tutvu: [[Media:eestiajalugu.ppt|J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest]]
:* päris hea [https://www.tutorialspoint.com/operating_system/index.htm opsüsteemide ehituse pisi-tutorial]
:* Ulrich Drepperi [http://people.redhat.com/drepper/cpucache-slides.pdf cache-lühiülevaade] ja [http://people.redhat.com/drepper/parallelprog.pdf paralleelsuse-ülevaade]
:* üldse mitte kohustuslik (algajatel raske mõista :-) [http://www.catb.org/~esr/writings/taoup/html/ The Art of Unix Programming]
:* [http://www.minix3.org/ Minix: Linuxi inspiratsiooniks olnud mini-UNIX] ja <b>[https://www.cs.vu.nl/~ast/intel/ loe seda!]</b> ja [https://hexus.net/tech/news/software/111857-intel-management-engine-runs-minix-3-os/ viimase taustaks] ja [https://www.blackhat.com/presentations/bh-usa-09/TERESHKIN/BHUSA09-Tereshkin-Ring3Rootkit-SLIDES.pdf lisaks]
:* [http://www.levenez.com/unix/ Unix history]
:* [http://en.wikipedia.org/wiki/Virtual_memory virtuaalmälu vikipeedias]
:* [http://en.wikipedia.org/wiki/Computer_multitasking multitasking vikipeedias]
:* [https://landley.net/writing/memory-faq.txt Väga detailne ülevaade mälu organiseerimisest]
<!--
:* [http://www.linuxchix.org/content/courses/kernel_hacking/ linuxchix kernel hacking]
-->


Tillukeste interpretaatorite ja kompilaatorite koodinäited:
Tillukeste interpretaatorite ja kompilaatorite koodinäited:
458. rida: 519. rida:
:* [http://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html pythonis kirjutatud pythoni interpretaator]
:* [http://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html pythonis kirjutatud pythoni interpretaator]
:* Keerukam: [https://ruslanspivak.com/lsbasi-part1/ põhjalik interpretaatori-kirjutamise veebiraamat] algajatele ja [https://craftinginterpreters.com/ veel põhjalikum veebiraamat] ja [https://github.com/AZHenley/teenytinycompiler lihtsa kompilaatori näide ja õpetus]
:* Keerukam: [https://ruslanspivak.com/lsbasi-part1/ põhjalik interpretaatori-kirjutamise veebiraamat] algajatele ja [https://craftinginterpreters.com/ veel põhjalikum veebiraamat] ja [https://github.com/AZHenley/teenytinycompiler lihtsa kompilaatori näide ja õpetus]


Tutvu veidi nende progekeelte populaarsus-võrdlustega:
Tutvu veidi nende progekeelte populaarsus-võrdlustega:


:* Tiobe [http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html programmeerimiskeelte populaarsusindeks] <!-- ja [https://www.techworm.net/wp-content/uploads/2018/01/tiobe.png selle graafik] -->
:* Tiobe [https://www.tiobe.com/tiobe-index/ programmeerimiskeelte populaarsusindeks] <!-- ja [https://www.techworm.net/wp-content/uploads/2018/01/tiobe.png selle graafik] -->
:* Githubi progekeelte [https://madnight.github.io/githut/  populaarsusindeks] <!-- [https://octoverse.github.com/  populaarsusindeks]  -->
:* Githubi progekeelte [https://madnight.github.io/githut/  populaarsusindeks requestide] ja [https://octoverse.github.com/2022/top-programming-languages repodes kasutatavuse] järgi.  <!-- [https://octoverse.github.com/  populaarsusindeks]  -->
:* [https://pypl.github.io/PYPL.html PYPL: populaarsus tutorialite Google-otsingute järgi]
:* [https://pypl.github.io/PYPL.html PYPL: populaarsus tutorialite Google-otsingute järgi]
:* Põhjalik [https://boyter.org/posts/an-informal-survey-of-10-million-github-bitbucket-gitlab-projects/ Githubi repode analüüs mh keelte kaupa]
<!-- :* Põhjalik [https://boyter.org/posts/an-informal-survey-of-10-million-github-bitbucket-gitlab-projects/ Githubi repode analüüs mh keelte kaupa] -->
:* Nõudluse järgi [https://www.codeplatoon.org/best-paying-most-in-demand-programming-languages-2020/ üks populaarsusindeks]  
:* Nõudluse järgi [https://www.devjobsscanner.com/blog/top-8-most-demanded-programming-languages/ üks populaarsusindeks] ja [https://www.codeplatoon.org/the-best-paying-and-most-in-demand-programming-languages/ teine].
 


Siis vaata veidi neid asju:
Siis vaata veidi neid asju:
476. rida: 535. rida:
:* [https://en.wikipedia.org/wiki/List_of_programming_languages Wikpedia list] ja [https://en.wikipedia.org/wiki/Comparison_of_programming_languages Wikipedia võrdlused]
:* [https://en.wikipedia.org/wiki/List_of_programming_languages Wikpedia list] ja [https://en.wikipedia.org/wiki/Comparison_of_programming_languages Wikipedia võrdlused]
:* [https://benchmarksgame-team.pages.debian.net/benchmarksgame/ Computer language benchmarks]
:* [https://benchmarksgame-team.pages.debian.net/benchmarksgame/ Computer language benchmarks]
<!-- :* lugeda [http://www.diycalculator.com/area51/databook.zip Diy calculator raamatut] ja [http://www.diycalculator.com/ tervet saiti] -->
<!-- :* uurida sarnast, alternatiivset pisimasina-simulaatorit: [http://computerscience.jbpub.com/ecoa/2e/student_resources.cfm MarieSim], -->
<!--
:* [https://users.encs.concordia.ca/~grogono/CourseNotes/epl.pdf ülevaade progekeelte arengust]
-->
:* vaata detailset ülevaadet [http://www.lighterra.com/papers/modernmicroprocessors/ parallelismist mikroprotsessorites]


Ja väga detailidesse minekuks on huvitav lugeda Javascripti interpretaatorite/kompilaatorite optimeeringutest:
Soovitavat katsetamist opsüsteemidega:
:* [https://mathiasbynens.be/notes/shapes-ics esimene osa]
 
:* [https://mathiasbynens.be/notes/prototypes teine osa]
:* [http://levinux.com/ levinux: eksperimenteerimiseks mõeldud mikro-linux]: "tiny virtual Linux server that runs from USB or Dropbox with a double-click (no install or admin rights required) on Macs, Windows or Linux PCs"
:* Linux windowsis - [https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux WSL] - [https://docs.microsoft.com/en-us/windows/wsl/ Microsofti õpetus]
Eriti soovitavat lugemist opsüsteemidest:
:* [http://duartes.org/gustavo/blog/category/software-illustrated/ Duarte blog sisemisest elust], mh [http://duartes.org/gustavo/blog/post/anatomy-of-a-program-in-memory/ kuidas programmi mälus hoitakse], [http://duartes.org/gustavo/blog/post/how-the-kernel-manages-your-memory/ mälu haldamine], [http://duartes.org/gustavo/blog/post/how-computers-boot-up/ bootimine 1] ja [http://duartes.org/gustavo/blog/post/kernel-boot-process/ bootimine 2]
Muidu soovitavat lugemist opsüsteemidest:
:* Wikipedia artikkel [http://en.wikipedia.org/wiki/Operating_system opsüsteemidest]
:* [http://en.wikipedia.org/wiki/Linux_distribution Linux distributions]
:* päris hea [https://www.tutorialspoint.com/operating_system/index.htm opsüsteemide ehituse pisi-tutorial]
:* Ulrich Drepperi [http://people.redhat.com/drepper/cpucache-slides.pdf cache-lühiülevaade] ja [http://people.redhat.com/drepper/parallelprog.pdf paralleelsuse-ülevaade]
:* [http://www.minix3.org/ Minix: Linuxi inspiratsiooniks olnud mini-UNIX] ja <b>[https://www.cs.vu.nl/~ast/intel/ loe seda!]</b> ja [https://hexus.net/tech/news/software/111857-intel-management-engine-runs-minix-3-os/ viimase taustaks] ja  [https://en.wikipedia.org/wiki/Intel_Management_Engine Intel Management Engine wikist].
:* [http://www.levenez.com/unix/ Unix history]
:* [http://en.wikipedia.org/wiki/Virtual_memory virtuaalmälu vikipeedias]
:* [https://zolutal.github.io/understanding-paging/ understanding paging]
:* [http://en.wikipedia.org/wiki/Computer_multitasking multitasking vikipeedias]
:* [https://landley.net/writing/memory-faq.txt Väga detailne ülevaade mälu organiseerimisest]
:* [https://blogsystem5.substack.com/p/windows-nt-vs-unix-design Windows NT vs UNIX design]
:* [https://pdos.csail.mit.edu/6.828/2018/xv6/book-rev11.pdf Hea väike tehniline raamat sise-ehitusest]
:* [https://people.eecs.berkeley.edu/~brewer/cs262/UNIX-annotated.pdf Unixi autorite väike varane ülevaade põhi-ideedest]
 
Muud huvitavat masintest, optimeerimisest ja progekeeltest, mitte niivõrd opsüsteemidest:


Muud huvitavat:
:* [https://jmmv.dev/2023/06/fast-machines-slow-machines.html fast machines slow machines]
:* [https://netfuture.org/2001/Nov1501_125.html "technology is our hope if we can accept it as our enemy, but as our friend, it will destroy us"]
:* [http://www.righto.com/2024/08/minuteman-guidance-computer.html minuteman guidance computer]
:* [http://www.righto.com/2023/02/bendix-central-air-data-computer-cadc.html bendix central air data computer]
:* [https://www.embedded.com/advanced-compiler-optimization-techniques/ sissejuhatus optimeerimisse]
:* [https://www.embedded.com/advanced-compiler-optimization-techniques/ sissejuhatus optimeerimisse]
:* [https://cacm.acm.org/magazines/2020/2/242347-optimizations-in-c-compilers/fulltext veel veidi sügavamalt optimeerimisest]
:* [https://cacm.acm.org/magazines/2020/2/242347-optimizations-in-c-compilers/fulltext veel veidi sügavamalt optimeerimisest]
:* [https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html gcc optimeerimisparameetrid]
:* [https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html gcc optimeerimisparameetrid]
:* [https://www.sqlite.org/whyc.html Why is SQLite written in C]
:* [https://www.sqlite.org/whyc.html Why is SQLite written in C]
:* [https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ Pikk raamat päris tarkvarast päris algajatele]
 
:* [http://inventwithpython.com/blog/2012/02/20/i-need-practice-programming-49-ideas-for-game-clones-to-code/ Toredad Pythoni pisi-mängud programmeerimise harjutustena]
=== 8. nädal: Robootika ja veebirakendused  ===
:* How Python works: [https://tenthousandmeters.com/blog/python-behind-the-scenes-1-how-the-cpython-vm-works/ esimene osa], [https://tenthousandmeters.com/blog/python-behind-the-scenes-2-how-the-cpython-compiler-works/ teine osa]
 
23. oktoober
 
* Kell 12:15:  [https://www.akadeemia.ee/member/kruusmaa/ Maarja Kruusmaa]: robootika alused. Vaata ka [https://taltech.ee/en/biorobotics biorobootika keskus]. Presentatsioon 2023 aastast: [[Media:Robootika alused compressed3.pdf|Robootika alused]]  
 
* Kell 14:00:  [https://www.linkedin.com/in/martin-verrev/?originalSubdomain=ee Martin Verrev] teeb loengu veebirakenduste ehitamisest. Martin on sellel teemal pikemalt õpetanud [https://courses.cs.taltech.ee/pages/Kasutajaliidesed_(ITI0209))_2023 tervet kursust]. Martini slaidid on [[https://drive.google.com/file/d/1ikFG0NbRN-Tu8m8Z4cdxNSkzktXvO3Fk/view?usp=sharing| siin]]; lisaks Taneli [[Media:Itsissejuhatus10a20.ppt|varasemad slaidid]],
 
* [https://echo360.org.uk/media/055cb699-1475-445c-903c-ca8c20369103/public  Loenguvideo]




<!-- loeng andmetüüpidest masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.
Veebirakenduste teemal vaata veel:
** Loengumaterjal: [[Media:itsissejuhatus6b.ppt|itsissejuhatus6b.ppt]], [[Media:itsissejuhatus6b.pdf|itsissejuhatus6b.pdf]] -->
:* http://www.w3schools.com/.
:* [https://codeburst.io/the-2018-web-developer-roadmap-826b1b806e8d Tehnoloogiastack]
:* [https://coder-coder.com/learn-web-development/ Väike sissejuhatus kogu värgi õppimiseks]
:* [http://www.w3c.org/ Ametlikud veebitehnoloogiate standardid].
:* [[Veebirakendused]] kursus.
:* [[lihtsaid cgi programminäiteid]] ja [http://lambda.ee/wiki/Cgi_examples lisaks funktsioneerivate näidetena]
 
<!--
<!--
* Eksamiks: turingi masin, relee, mälutüübid. Lihtsad andmetüübid (täisarvude, ujukoma-arvude, tähtede esitamine), stringid, massiivid, puud.
* Eksamiks esialgselt: Robotitest: tüüpilised andurid, tagasisidega ja ilma selleta juhtimine, miks on robotniidukid, aga mitte robotnõudekoristajad?
-->
-->
<!--
<!--
:Loengumaterjal: [[Media:Itsissejuhatus6o.ppt|Itsissejuhatus6o.ppt]], [[Media:Itsissejuhatus6o.pdf|Itsissejuhatus6o.pdf]].
* Kell 12:15:   sisu ilmub edaspidi. Võimalik variant: [[Media:arvutivorgud_ivo_2024.pdf|arvutivorgud_ivo_2024.pdf]]: see on 2024 aasta Ivo materjal.
-->
<!--
Lisaks tarkvarast:
:* [https://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/ Segaduses algajad]
:* Väga hea raamat riistvaralähedasest programmeerimisest: Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University
:** [http://csapp.cs.cmu.edu/ raamatu sait]
:** [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwjelpbAsPbdAhUIDywKHbCNA30QFjACegQICRAC&url=https%3A%2F%2Fpiazza.com%2Fclass_profile%2Fget_resource%2Fj7ly9riuca97on%2Fja86xbbpp0b73b&usg=AOvVaw2jvbidUujKI0bznBPL9hfL googeldades leitud täistekst]
:* Vaata, kuidas eri kompilaatorid [https://godbolt.org/ assemblerit genereerivad]
:* Loe veidi ja uuri [https://lwn.net/Articles/250967/ What every programmer should know about memory]
:* Ajalooteema meenutuseks proovi [http://porkrind.org/a2/?disk=Karateka.do Apple II Karateka simu] (mängimiseks qwaszx(? või all paremal klahvid ?), tühik ja nooleklahvid). Vaata taustaks [https://en.wikipedia.org/wiki/Karateka_(video_game) Karateka], [https://en.wikipedia.org/wiki/Jordan_Mechner Jordan Mechner] ja [http://www.jordanmechner.com/projects/prince-of-persia/ Prince of Persia]
Lisaks riistvarast:
:* [http://www.pctechguide.com/cpu-architecture/principles-of-cpu-architecture-logic-gates-mosfets-and-voltage lühike lugu transistoride kasutamisest loogikalülituste ehitamiseks] ja vaata veidi täienduseks  [http://en.wikipedia.org/wiki/Logic_gate siit] ja protsessorist [http://www.pctechguide.com/cpu-architecture/basic-structure-of-a-pentium-microprocessor siit]
:* Tore mõte on teha D.Ecki harjutusi, osad siit: [http://math.hws.edu/TMCM/java/index.html Eck laborid: väga vanad Java rakendused]. Need simulaatorid vajavad javat ja kõige parem on nad alla laadida ja oma masinas käivitada: [[Ecki laborite allalaadimine ja katsetamine|siit leiad õpetuse, kuidas seda teha]]. Süvene 4-biti liitjasse, kuni sa temast korralikult aru saad. Seejärel loe ise läbi, proovi ja tee mõlemist osast vähemalt üks harjutus, kus tuleb ise elektroonikaskeem ehitada:
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits]
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits]
:* Head alternatiivsed ja uuemad simulaatorid katsetamiseks:
-->
<!-- :** [http://logic.ly/ tasuta on-line katsetusteks] --><!--
:** [https://circuitverse.org/simulator on-line katsetuseks]
:** [http://www.kolls.net/gatesim/ allalaetav]
:** [https://www.falstad.com/circuit/ fancy reaalaja-simulaator]: ei tee lihtsustusi nagu eelmine
:* Minecrafti spetsidele: redstone ja arvutid
:** introd [http://www.youtube.com/watch?v=aLTX-sBbo_U siin] ja [http://www.youtube.com/watch?v=XN_MIX7M460 siin] ja [http://www.youtube.com/watch?v=QpvJ9wiywL4 loogikalülitused]
:** shock and awe: [http://www.youtube.com/watch?v=rmKNahFDcAQ täielik 4-bitine arvuti minecraftis]
:* Veidi tutvuda nende saitidega:
:** [http://www.quadibloc.com/comp/cp01.htm täiendavalt teemal transistoride kasutamisest loogikalülituste ehitamiseks]
:** [http://tams-www.informatik.uni-hamburg.de/applets/cmos/ näiteappletid transistoride kasutamisest loogikalülituste ehitamiseks]
:** http://www.mkdata.dk/click/ (eriti soovitan lugeda [http://www.karbosguide.com/books/pcarchitecture/start.htm pc arhitektuuri seletust])
:** [http://www.tomshardware.com/ Tom's hardware guide]
:* Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
:** [https://www.heyrick.co.uk/armwiki/Introducing_the_ARM arm chipid]
:** [https://www.theregister.co.uk/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=1 arm chippide alguse lugu]
-->
 
=== 6. nädal: Interneti funktsioneerimine ja veebirakendused ===


7. oktoober
* Kell 14:00:  sisu ilmub edaspidi. Võimalik variant: andmebaasid, näiteks [[Media:andmebaasidest_2024.pdf|andmebaasidest_2024.pdf]] ja täiendavalt [[Media:Andmebaasidest_Demonstratsioon_s2024.xlsx|xlsx näitefail]] ja [[Media:Andmebaasidest_Demonstratsioon_s2024.txt|sql näitefail]]


* Kell 12: interneti funktsioneerimine: Ivo Müürsepp
* Eksamiks?: Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis mille sees). Päiste detailide kohta ei küsita. Andmebaasid: mis asi on andmebaas, andmebaasisüsteem, SQL, NoSQL.
:Loengumaterjal: [[Media:Arvutivorgud_3.pdf|Arvutivorgud_3.pdf]]: see on 8. oktoobril uuendatud Ivo materjal.
 
* Kell 14: Veebirakendused. Loengumaterjal: [[Media:Itsissejuhatus10a20.ppt|Itsissejuhatus10a20.ppt]], [[Media:Itsissejuhatus10a20.pdf|Itsissejuhatus10a20.pdf]].
 
* Eksamiks: Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis mille sees). Päiste detailide kohta ei küsita. Veebirakendused: mis on http, https, html, css, javascript, ajax, json, xml, kuidas üldjoontes töötab klassikaline veebirakendus ja kuidas single-page app (koodinäiteid / nende detaile ei küsita).


Tutvuda lühidalt interneti funktsioneerimise teemal:
Tutvuda lühidalt interneti funktsioneerimise teemal:
:* [https://www.submarinecablemap.com/ Veeluste internetikaablite zoomitav kaart] ja [https://he.net/3d-map/ veel detailsem zoomitav kaart]
:* [https://www.submarinecablemap.com/ Veeluste internetikaablite zoomitav kaart] ja [https://he.net/3d-map/ veel detailsem zoomitav kaart]
:* [https://www.nytimes.com/interactive/2019/03/10/technology/internet-cables-oceans.html Kuidas veealused kaablid välja näevad]
:* [https://www.nytimes.com/interactive/2019/03/10/technology/internet-cables-oceans.html Kuidas veealused kaablid välja näevad]
:* [https://www.visualcapitalist.com/ranking-the-top-100-websites-in-the-world/ Suurimad veebisaidid]
:* https://en.wikipedia.org/wiki/Internet_protocol_suite
:* https://en.wikipedia.org/wiki/Internet_protocol_suite
:* https://en.wikipedia.org/wiki/Internet_of_things
:* https://en.wikipedia.org/wiki/Internet_of_things
:* [https://www.youtube.com/watch?v=7Zf203Vmbig steampunk film pakettide liikumisest]
:* [https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm How does the internet work?]
:* [https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm How does the internet work?]
:* Huvi korral loe mahukamast protokollinduse kursusest lisa: [[Andmeside protokollid]]
:* Huvi korral loe mahukamast protokollinduse kursusest lisa: [[Andmeside protokollid]]


Veebirakenduste teemal vaata veel:
Proovi järgi andmebaaside teemal; kui keeruline, tee algul läbi [https://mystery.knightlab.com/walkthrough.html walkthrough] ja/või [https://www.w3schools.com/sql/sql_intro.asp w3schools SQL tutorial].
:* http://www.w3schools.com/.
:* [https://mystery.knightlab.com/ SQL murder mystery]
:* [https://codeburst.io/the-2018-web-developer-roadmap-826b1b806e8d Tehnoloogiastack]
:* endale installeerimiseks ja katsetamiseks: [https://www.sqlite.org/index.html sqlite]
:* [https://coder-coder.com/learn-web-development/ Väike sissejuhatus kogu värgi õppimiseks]
:* väike näide, kuidas pythonist [[sqlite kasutada]] ilma midagi installeerimata.
:* [http://www.w3c.org/ Ametlikud veebitehnoloogiate standardid].
-->
:* [[Veebirakendused]] kursus.
 
:* [[lihtsaid cgi programminäiteid]] ja [http://lambda.ee/wiki/Cgi_examples lisaks funktsioneerivate näidetena]
=== 9. nädal: Tarkvara arhitektuur ja algoritmid ===


=== 7. nädal: Tarkvara arhitektuur, litsentsid ja tekstitöötlus  ===
30. oktoober


14. oktoober.
* Kell 12:15: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
:Loengumaterjal: [[Media:Itsissejuhatus9a21.ppt|Itsissejuhatus9a21.ppt]], [[Media:Itsissejuhatus9a21.pdf|Itsissejuhatus9a21.pdf]].  


* Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
* Kell 14:00: Algoritmid ja keerukus. Ülevaade kursusest. Loengu annab [https://taltech.ee/kontaktid/tarkvarateaduse-instituut/marko-kaaramees Marko Kääramees].
:Loengumaterjal: [[Media:Itsissejuhatus9a21.ppt|Itsissejuhatus9a21.ppt]], [[Media:Itsissejuhatus9a21.pdf|Itsissejuhatus9a21.pdf]].
:Loengumaterjal: [[Media:Algoritmid_2024.pdf|Algoritmid_2024.pdf]].


* Kell 13:45: [https://ivari.horm.ee/cv/ Ivari Horm] räägib tekstitöötlusest.
* [https://echo360.org.uk/media/3d141fd4-f2a7-4867-8b99-5b18eba22837/public Loenguvideo]
:Esialgne loengumaterjal: [https://study.risk.ee/wp-content/uploads/sites/3/2020/10/Teksti-toimetamine.pdf teksti toimetamine]. Lisaks (mittekohustuslik) on [https://study.risk.ee/arvuti/tekstitootlus/redigeerimine/ siin allpool] lingid näitefailide algfailidele ja tulemustele.


* Eksamiks: kohustuslik lugemine siin all, mis on teek ja mis raamistik, nende näited, arusaamine põhilistest litsentsitüüpidest (vabavaralised (gpl vs mit ja bsd) ja mitte-vabavaralised), gpl-i põhipoindid. Tekstitöötlus: lihttekst, WYSIWYG, kooditabel, ascii, unicode, utf-8, mis on latex, markdown, nende plussid ja miinused.
* Eksamiks: Tarkvara arhitektuur: kohustuslik lugemine siin all, mis on teek ja mis raamistik, nende näited, arusaamine põhilistest litsentsitüüpidest (vabavaralised (gpl vs mit ja bsd) ja mitte-vabavaralised), gpl-i põhipoindid. Algoritmid: mis on algoritmide keerukus, mida tähendab suur-O (a la O(n**2)) notatsioon, mis on sorteerimisalgoritmi parim keerukus halvimal juhul, mis on erinevus merge sorti, quick sorti ja selection sorti vahel: algoritmi ja keerukuse mõttes, mis operatsioonid on massiividel kiiremad / aeglasemad kui listil.


Kohustuslikku lugemist sel teemal eksamiks:
Kohustuslikku lugemist arhitektuuri teemal eksamiks:
:* [https://martinfowler.com/architecture/ Martin Fowler tarkvara arhitektuurist]
:* [https://martinfowler.com/architecture/ Martin Fowler tarkvara arhitektuurist]
:* [http://www.joelonsoftware.com/articles/LeakyAbstractions.html The law of leaky abstractions]
:* [http://www.joelonsoftware.com/articles/LeakyAbstractions.html The law of leaky abstractions]
586. rida: 633. rida:
:* [http://www.gnu.org/philosophy/free-sw.html mis on vabatarkvara] Gnu interpretatsiooni kohaselt
:* [http://www.gnu.org/philosophy/free-sw.html mis on vabatarkvara] Gnu interpretatsiooni kohaselt


Lisaks mittekohustuslikku, aga eriti soovitavat lugemist, tähtsuse järjekorras:
Lisaks mittekohustuslikku, aga eriti soovitavat lugemist arhitektuurist, tähtsuse järjekorras:
:* [https://blog.pragmaticengineer.com/software-architecture-is-overrated/ Software architecture is overrated] ja [https://news.ycombinator.com/item?id=21001676 HN kommentaarid]
:* [https://blog.pragmaticengineer.com/software-architecture-is-overrated/ Software architecture is overrated] ja [https://news.ycombinator.com/item?id=21001676 HN kommentaarid]
:* [https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf Out of the tar pit]
:* [https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf Out of the tar pit]
598. rida: 645. rida:
:* [http://www.gnu.org/philosophy/ Gnu manifestid] ja  
:* [http://www.gnu.org/philosophy/ Gnu manifestid] ja  
:* [http://www.gnu.org/licenses/licenses.html Gnu litsentsid] ja paljud [http://www.gnu.org/licenses/license-list.html erinevad vabavara litsentsid]
:* [http://www.gnu.org/licenses/licenses.html Gnu litsentsid] ja paljud [http://www.gnu.org/licenses/license-list.html erinevad vabavara litsentsid]
<!--
:* [[Media:vabavara_ttriikanalyys.rtf|vabavara kasutamisest riigis]]
:* [[Media:Itsissejuhatus_freesoftwaresong.au.snd|Stallmani naljalaul]]
:* [[Media:itsissejuhatus.au.snd|Linus Linuxit hääldamas]]
-->


=== 8. nädal: Rekursioon ja ajuteadus ===


21. oktoober.
Täiendavalt algoritmide teemal:
:* sorteerimisalgoritmide visualiseeringud [http://www.sorting-algorithms.com/ siin] ja [http://gizmodo.com/this-visualization-of-15-different-sorting-algorithms-i-987297677 siin] <!-- ja [http://aarondufour.com/tools/visualizer/ siin] -->
:* Eriliselt tore ja ilus [https://bost.ocks.org/mike/algorithms/ visualiseeringutega jutt] mitmete algoritmidega
:* Väga paljude algoritmide ja andmestruktuuride [https://visualgo.net/ visualiseeringud]
:* [https://en.wikipedia.org/wiki/Big_O_notation Suur O] wikipedias ja [https://www.bigocheatsheet.com/ lihtne cheatsheet]
:* [https://en.wikipedia.org/wiki/Travelling_salesman_problem Travelling salesman problem], lahenduse [https://www.fourmilab.ch/documents/travelling/anneal/ visualiseering]
 
=== 10. nädal: rekursioon, rekursiivsed keeled, algoritmid ja lahenduvus ===
 
6. november
 
* Kell 12:15: Rekursioon, funktsionaal- ja loogiline progemine.
: Loengumaterjal: [[Media:Itsissejuhatus11.ppt|Itsissejuhatus11.ppt]], [[Media:Itsissejuhatus11.pdf|Itsissejuhatus11.pdf]]
 
* Kell 14:00: Algoritmid: lahenduvus.
:Loengumaterjal: [[Media:Itsissejuhatus13a.ppt|Itsissejuhatus13a.ppt]], [[Media:Itsissejuhatus13a.pdf|Itsissejuhatus13a.pdf]].


* Kell 12: Rekursioon, funktsionaal- ja loogiline progemine
* [https://echo360.org.uk/media/211c72e8-91cd-4871-8658-bb8ca8ed24f0/public Loenguvideo]
:Loengumaterjal: [[Media:Itsissejuhatus11.ppt|Itsissejuhatus11.ppt]], [[Media:Itsissejuhatus11.pdf|Itsissejuhatus11.pdf]].


* Kell 13:45: Ajuteadus. Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
* Eksamiks: Rekursiooni äratundmine, baasjuht ja rekursiivne juht, rekursiooni ekvivalentsus tsükliga, arusaamine funktsionaalse keele näitejuppidest loengus: mida mingi näitekood teeb / mis on rehkendamise tulemus. Mis on lambda-arvutus, näidete rehkendamise tulemused. Prologi ja lambda-arvutuse näited tuleb ära tunda ja näidete puhul aru saada, mis nende rehkendamise tulemus on. Lahenduvus teoreetilises ja tavamõttes, mis on lahenduvad ülesanded. Positiivsete täisarvude, positiivsete/negatiivsete ja murdarvude võimsuse võrdlemine ja tõestamine. Reaalarvude suurem võimsus kui täisarvude võimsus (Cantori teoreem): tõestuse idee. Mis on peatumisprobleem, selle lahendamatuse tõestuse idee.  
:Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]]. Ivari loeng tabelarvutusest lükkus järgmisesse nädalasse.
<!--
* Kell 13:45: Ivari Horm räägib tabelarvutusest.
:Loengumaterjal: [https://study.risk.ee/arvuti/tabelarvutus/pohimoisted https://study.risk.ee/arvuti/tabelarvutus/pohimoisted] (slaidid, näitefailid)
-->


* Eksamiks: rekursiooni äratundmine, baasjuht ja rekursiivne juht, rekursiooni ekvivalentsus tsükliga, arusaamine funktsionaalse keele näitejuppidest loengus: mida mingi näitekood teeb / mis on rehkendamise tulemus. Mis on lambda-arvutus. Prologi näide tuleb ära tunda (et on Prolog).  Umbes kuipalju on neuroneid c-elegansil ja inimesel (suurusjärgud), mis on hall- ja valgeollus, mis on neuron, gliiarakk, müeliin. Kui palju sisend-väljund-jätkeid on neuronil (suurusjärgud), mis on teada neuronite ühendus(suhtlus)viisidest. Mis on Jennifer Anistoni neuron, mis on peegelneuronid ja grid cells. Mis on meem, evolutsioonipsühholoogia ja sotsiobioloogia.


Lisaks proovi ja loe veidi:  
Lisaks proovi ja loe veidi rekursiooni teemadel:  
:* [http://en.wikipedia.org/wiki/Fractal Fraktaalid wikipedias]
:* [http://en.wikipedia.org/wiki/Fractal Fraktaalid wikipedias]
:* [http://blog.hvidtfeldts.net/index.php/category/mandelbulb/ Mandelbub] ja [https://www.youtube.com/results?search_query=mandelbub selle videoklipid] [https://www.youtube.com/watch?v=Tj6rip3G62Y&feature=youtu.be Mandelbox and Flying Lights], [https://www.youtube.com/watch?v=bKknJvZIn24&feature=youtu.be Like in a dream II], [https://www.youtube.com/watch?v=APsLfpfDGOI&feature=youtu.be Weird planet II]. Taustaks veel [http://www.math.utah.edu/~bresslof/publications/01-1.pdf Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex]
:* [http://blog.hvidtfeldts.net/index.php/category/mandelbulb/ Mandelbub] ja [https://www.youtube.com/results?search_query=mandelbub selle videoklipid] [https://www.youtube.com/watch?v=Tj6rip3G62Y&feature=youtu.be Mandelbox and Flying Lights], [https://www.youtube.com/watch?v=bKknJvZIn24&feature=youtu.be Like in a dream II], [https://www.youtube.com/watch?v=APsLfpfDGOI&feature=youtu.be Weird planet II]. Taustaks veel [http://www.math.utah.edu/~bresslof/publications/01-1.pdf Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex]
:* [http://tilde.club/~david/m/ kiire Mandelbroti fraktaal online] ja [https://guciek.github.io/web_mandelbrot.html#-0.5;0;2;1000  veidi aeglasem]
:* [http://tilde.club/~david/m/ kiire Mandelbroti fraktaal online] ja [https://guciek.github.io/web_mandelbrot.html#-0.5;0;2;1000  veidi aeglasem]
<!-- :* [http://www.softwarefederation.com/fractal.html Fraktaalide applet] vali vasaku hiireklahvi abil sisemine ala ja joonista uus
-->
:* [http://rosettacode.org/wiki/Mandelbrot_set Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles]
:* [http://rosettacode.org/wiki/Mandelbrot_set Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles]
:* [https://progur.com/2016/10/procedural-generation-create-fractal-trees-javascript.html fractal trees javascriptis], [https://progur.com/2016/10/procedural-generation-create-koch-curve-javascript.html sissejuhatus] ja terviknäide [http://dijkstra.cs.ttu.ee/~tammet/draw.html draw.html]. Vt ka [https://stackoverflow.com/questions/49785734/animating-a-fractal-tree-inside-a-javascript-canvas animeeritud puu]. Siit edasi [http://math.hws.edu/graphicsbook/ arvutigraafika veebiraamat].
:* Lihtne fraktaal-puu javascriptis [http://turing.cs.ttu.ee/~tanel.tammet/draw.html draw.html] ja keerulisem [https://stackoverflow.com/questions/49785734/animating-a-fractal-tree-inside-a-javascript-canvas moving fractal trees in javascript]. Siit edasi [http://math.hws.edu/graphicsbook/ arvutigraafika veebiraamat].
:* [http://en.wikipedia.org/wiki/Tower_of_Hanoi Tower of Hanoi]
:* [http://en.wikipedia.org/wiki/Tower_of_Hanoi Tower of Hanoi]
:* [http://en.wikipedia.org/wiki/Lambda_calculus Lambda-arvutus]  
:* [http://en.wikipedia.org/wiki/Lambda_calculus Lambda-arvutus]  
:Vaata ja proovi näiteid modifitseerida:
:Vaata ja proovi näiteid modifitseerida:
:* Vaata ja modifitseeri Ecki [https://math.hws.edu/eck/js/mandelbrot/MB.html mandelbroti joonistajat] ja [https://math.hws.edu/eck/js/xTurtle/xTurtle.html kilpkonnagraafikat]. Viimasest võta menüüst recursion tutorial ja recursive bush näide.
:* Vaata ja modifitseeri Ecki [https://math.hws.edu/eck/js/mandelbrot/MB.html mandelbroti joonistajat] ja [https://math.hws.edu/eck/js/xTurtle/xTurtle.html kilpkonnagraafikat]. Viimasest võta menüüst recursion tutorial ja recursive bush näide.
:Huvi korral katseta [https://swish.swi-prolog.org/ Prologi online] või installeeri  [http://www.swi-prolog.org/ SWI Prolog].
:Huvi korral katseta  
:* [https://lambdacalc.io/ Lambda-arvutuse kalkulaator] näidete ja detailsete sammudega
:* Proovi [https://swish.swi-prolog.org/ Prolog online] või installeeri  [http://www.swi-prolog.org/ SWI Prolog].
:* [https://dtai.cs.kuleuven.be/problog/tutorial.html Prolog tõenäosustega]


<!--
Vaata lisaks lahenduvuse teemal:
* Neljapäeval: Administreerimise sissejuhatus ja kursuse ülevaade. Õppejõud Edmund Laugasson.
:* [https://en.wikipedia.org/wiki/Cardinality Kardinaal]
:Loengumaterjal: [[Media:OSadmin_tutvustus_2.pdf|OSadmin_tutvustus_2.pdf]]. See materjal on väga mahukas: vaata põhjalikumalt esimesed 35 lk ja sirvi hilisemad kiiremini läbi.
:* [https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument Cantori teoreem]
-->
:* [https://en.wikipedia.org/wiki/Halting_problem Halting problem]
<!--
:* [https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems Incompleteness theorems]
* Eksamiks: kohustuslik lugemine siin all, mis on teek ja mis raamistik, nende näited, arusaamine põhilistest litsentsitüüpidest (vabavaralised (gpl vs mit ja bsd) ja mitte-vabavaralised), gpl-i põhipoindid. Tabelarvutuse kohta küsimusi ei tule.
:* Raamat [https://www.apollo.ee/godeli-toestus.html Gödeli tõestus] koos õppejõu [[Media:Jarelsona_godel.pdf|järelsõnaga]] täiendavate seostega nii lõpmatuse kui mittelahenduvusega.
-->
 
Täiendavat ajuteaduse teemadel
=== 11. nädal:  Tehisintellekt: sissejuhatus ja ajuteadus  ===
 
13. november
 
* Kell 12:15:  Tehisintellekt üldpildina ehk sissejuhatus.
:Loengumaterjal: [https://turing.cs.ttu.ee/~tanel.tammet/ai_sissejuhatus_2025.pdf ai_sissejuhatus_2025.pdf] või [https://turing.cs.ttu.ee/~tanel.tammet/ai_sissejuhatus_2025.pptx ai_sissejuhatus_2025.pptx]
 
* Kell 14:00: Ajuteadus: ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
:Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]].


:* kõigepealt vaata/kuula  TED loenguid [https://www.youtube.com/watch?v=5ZsDDseI5QI Metzinger], [http://www.ted.com/talks/daniel_wolpert_the_real_reason_for_brains Wolpert], [https://www.ted.com/talks/michael_s_a_graziano_what_is_consciousness Graziano], [https://www.ted.com/talks/donald_hoffman_do_we_see_reality_as_it_is Hoffman]
* [https://echo360.org.uk/media/ef0bdf37-4d37-466e-8066-f4a03217b9c9/public Loenguvideo]
:* Loe suunaseadmiseks [https://medium.com/intuitionmachine/neurons-are-more-complex-than-what-we-have-imagined-b3dd00a1dcd3 neurons are more complex than what we have imagined]
:* Vaata üle need neuroteaduse wikilehed: [https://en.wikipedia.org/wiki/Grey_matter grey matter], [https://en.wikipedia.org/wiki/White_matter white matter], [https://en.wikipedia.org/wiki/Neuron neuron], [https://en.wikipedia.org/wiki/List_of_animals_by_number_of_neurons number of neurons], [https://en.wikipedia.org/wiki/Axon axon], [https://en.wikipedia.org/wiki/Synapse synapse], [https://en.wikipedia.org/wiki/Glia glia] pluss olulist rakkudest: [http://www.righto.com/2011/07/cells-are-very-fast-and-crowded-places.html cells are very fast and crowded places]
:* Vaata üle need aju funktsioneerimise wikilehed: [https://en.wikipedia.org/wiki/Cognitive_neuroscience cognitive neuroscience], [https://en.wikipedia.org/wiki/Computational_theory_of_mind computational theory of mind], [https://en.wikipedia.org/wiki/Global_Workspace_Theory global workspace theory], [https://en.wikipedia.org/wiki/Grandmother_cell grandmother cell]
:* [https://www.apollo.ee/ajust-ja-arust-unest-teadvusest-tehisintellektist-ja-muustki.html Jaan Aru raamat]
:* A.I. podcasti episoodid [https://lexfridman.com/paola-arlotta/ Brain Development from Stem Cell to Organoid]. [https://lexfridman.com/jeff-hawkins/ Thousand Brains Theory of Intelligence], [https://lexfridman.com/david-eagleman/ Neuroplasticity and the Livewired Brain]
:* Mindscape podcasti [https://www.preposterousuniverse.com/podcast/2019/04/29/episode-44-antonio-damasio-on-feelings-thoughts-and-the-evolution-of-humanity/ Damasio episood], [https://www.preposterousuniverse.com/podcast/2018/09/24/episode-15-david-poeppel-on-thought-language-and-how-to-understand-the-brain/ Poeppeli episood]
:* [https://brainsciencepodcast.com/episodes-page Brain science podcasti] episood [https://brainsciencepodcast.com/bsp/2020/seth-grant-talks-about-synapse-complexity-bs-176 sünapside keerukusest], [https://brainsciencepodcast.com/bsp/2015/124-neural-reuse neural reuse and embodied cognition], [https://brainsciencepodcast.com/bsp/2018/150-grant-synaptome synaptome], [https://brainsciencepodcast.com/bsp/2020/169-fields-glialcells glial cells], [https://brainsciencepodcast.com/bsp/118-neuroanatomy Brain Anatomy], [https://brainsciencepodcast.com/bsp/2020/bs170-nieder-numbers a brain for numbers]
:* Other [[look at the brain science podcasts to listen | recommended podcasts, youtube lectures and background for these]]
:* [https://www.researchgate.net/profile/Michael_Graziano/publication/51830764_Human_consciousness_and_its_relationship_to_social_neuroscience_A_novel_hypothesis/links/570537ab08aef745f71736d2/Human-consciousness-and-its-relationship-to-social-neuroscience-A-novel-hypothesis.pdf Graziano on consciousness and neuroscience]
:* MIT tasuta online kursus  [https://www.edx.org/course/minds-and-machines Minds and Machines]
<!-- ja siis jätka www.brainsciencepodcast.com [http://www.brainsciencepodcast.com/episodes-page/ podcastide kuulamist] (hea tegevus kogu jõuluvaheajaks, sh eriti soovitavad on [http://brainsciencepodcast.com/bsp/a-closer-look-at-mirror-neurons-bsp-35.html *], [http://brainsciencepodcast.com/bsp/embodied-cognition-with-art-glenberg-bsp-36.html *], [http://brainsciencepodcast.com/bsp/brain-rules-with-john-medina-bsp-37.html *], [http://brainsciencepodcast.com/bsp/mirror-neurons-with-michael-arbib-bsp-39.html *], [http://brainsciencepodcast.com/bsp/review-principles-of-brain-evolution-bsp-47.html *], [http://brainsciencepodcast.com/bsp/how-our-brain-creates-our-world-with-chris-frith-phd-bsp-57.html *], [http://brainsciencepodcast.com/bsp/2010/1/13/affective-neuroscience-with-jaak-panksepp-bsp-65.html *], [http://brainsciencepodcast.com/bsp/2010/2/10/memory-challenging-current-theories-with-randy-gallistel-phd.html *], [http://brainsciencepodcast.com/bsp/thomas-metzinger-explores-consciousness-bsp-67.html *], [http://brainsciencepodcast.com/bsp/embodied-cognition-with-lawrence-shapiro-bsp-73.html *], [http://brainsciencepodcast.com/bsp/how-mind-emerges-from-brain-bsp-82.html *], [http://brainsciencepodcast.com/bsp/the-self-illusion-with-bruce-hood-bsp-88.html *], [http://brainsciencepodcast.com/bsp/the-self-illusion-with-bruce-hood-bsp-88.html *], [http://brainsciencepodcast.com/bsp/2013/2/24/how-the-brain-makes-meaning-bsp-94 *]. -->


=== 9. nädal: Masinõpe ja e-riik ===
* Eksamiks: Mis on tugev (üldine) ja mis nõrk (kitsas) AI. Mis on tehisintellekti talved ja umbes millal olid tehisintellekti populaarsuse tõusud ja langused, ja mis olid eri tõusulainete puhul olulisemad meetodid. Mis on minimax ja alpha-beta meetod, mis on tehis-närvivõrkude põhikomponendid, mida teevad suured keelemudelid. Mis ülesanded robootikas praegu õnnestuvad ja mis mitte. Mis on Turingi test ja AGI. Ajuteaduse kohta: mis on neuroni põhiosad, mis mehhanismidega neuronid omavahel suhtlevad. Mis on sotsiobioloogia ja evolutsioonipsühholoogia.


28. oktoober.
Täiendavalt tehisintellekti teemal:
* [https://course.elementsofai.com/ee/ Elements of AI]
* Masinõpe [https://en.wikipedia.org/wiki/Machine_learning vikipeedias]
* [http://en.wikipedia.org/wiki/Chinese_Room Hiina tuba] ehk AI filosoofia tuntuim mõtteharjutus.
* [https://logictools.org õppejõu õppe-veebisüsteem klassikalise symbolic AI loogikafookusega osa jaoks]
* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
* [https://en.wikipedia.org/wiki/Rodney_Brooks Rodney Brooksi] väike AI sari [https://rodneybrooks.com/forai-steps-toward-super-intelligence-i-how-we-got-here/ part 1], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-ii-beyond-the-turing-test/ part 2] , [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iii-hard-things-today/ part 3] ,  [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iv-things-to-work-on-now/ part 4]  ja ennustused [https://rodneybrooks.com/predictions-scorecard-2020-january-01/ scorecard 2020], [https://rodneybrooks.com/predictions-scorecard-2024-january-01/ scorecard 2024]. Kaks head esseed samast ooperist: [https://rodneybrooks.com/what-will-transformers-transform/ What Will Transformers Transform?] ja [https://rodneybrooks.com/three-things-that-llms-have-made-us-rethink/ Three Things That LLMs Have Made Us Rethink]
* [https://open.spotify.com/show/02e6PZeIOdpmBGT9THuzwR machine learning street talk (mlst)] podcast
* Väga populaarsel [https://lexfridman.com/ai/ Lex Fridmani podcastil] on vahel süvaintervjuud AI rahvaga.  Eri vaatenurkade jaoks näiteks [https://lexfridman.com/francois-chollet-2 Francois Chollet], [https://lexfridman.com/yann-lecun-2 Yann LeCun], [https://lexfridman.com/gary-marcus Gary Marcus], [https://lexfridman.com/demis-hassabis Demis Hassabis], [https://lexfridman.com/ilya-sutskever Ilya Sutskever], [https://lexfridman.com/ben-goertzel Ben Goertzel].
* [https://www.preposterousuniverse.com/podcast/ Mindscape podcast] of an important physicist has often quite philosophically interesting or cognitive science and AI interviews. Some recommendations: Blaise Agüera y Arcas, David Krakauer, Christoph Adami, Peter Godfrey-Smith, Yejin Choi, Hugo Mercier, Andrew Pontzen.
* [https://en.wikipedia.org/wiki/Fran%C3%A7ois_Chollet Francois Chollet] ja [https://arcprize.org/arc-agi ARC-AGI] teema. Mh
** [https://liusida.github.io/ARC/ katseta ise lahendada] ja
** ntx loe ARCi lehelt [https://arcprize.org/blog blogi] ja
** vaata kolmanda ARCi põlvkonna [https://three.arcprize.org/ eeldemo].
** Hea mõte on lugeda 2024 ühe hea tulemuse meetodi [https://www.lesswrong.com/posts/Rdwui3wHxCeKb7feK/getting-50-sota-on-arc-agi-with-gpt-4o pikemat seletust]: seal seletatakse ka lihtsalt lahti, et milles ARC ülesanne seisneb.
** [https://lexfridman.com/francois-chollet-2 Francois Chollet in Lex Fridman interview]
** [https://fchollet.com/ Chollet oma lehelt] mõni vestlus, soovitavalt [https://www.youtube.com/watch?v=rTh3UcPj_7o Mindscape podcasti episood] või siis [https://www.dwarkesh.com/p/francois-chollet Dwarkeshiga]
** [https://open.spotify.com/episode/5f3bFen98gEQkb0J5CCjEt MLST 29.4% ARC-AGI-2 interview (not Chollet himself)] or [https://www.youtube.com/watch?v=FcnLiPyfRZM&pp=0gcJCfwJAYcqIYzv on youtube]


* Kell 12: Priit Järv räägib masinõppest:
Täiendavalt ajuteaduse teemal:
: [[Media:itsissejuhatus_ml.pdf|Loenguslaidid]]


* Kell 14: Margus Püüa räägib e-riigist.
:* Loe suunaseadmiseks [https://medium.com/intuitionmachine/neurons-are-more-complex-than-what-we-have-imagined-b3dd00a1dcd3 neurons are more complex than what we have imagined]
: [https://www.dropbox.com/s/pa6t4jpqx1k37vq/E-riigi%20arendamine_2020.pdf?dl=0 E-riigi arendamine_2020.pdf] lk 1-40
:* Vaata/kuula  TED loenguid [https://www.youtube.com/watch?v=5ZsDDseI5QI Metzinger], [http://www.ted.com/talks/daniel_wolpert_the_real_reason_for_brains Wolpert], [https://www.ted.com/talks/michael_s_a_graziano_what_is_consciousness Graziano], [https://www.ted.com/talks/donald_hoffman_do_we_see_reality_as_it_is Hoffman].
:* Süvitsi minemiseks on parim podcast [https://braininspired.co/ Brain Inspired: a podcast where neuroscience and AI converge]
:* [https://www.preposterousuniverse.com/podcast/ Mindscape podcast] sisaldab samuti päris hulga ajuteaduse-temaatilisi episoode, näiteks [https://www.preposterousuniverse.com/podcast/2019/04/29/episode-44-antonio-damasio-on-feelings-thoughts-and-the-evolution-of-humanity/ Damasio episood], [https://www.preposterousuniverse.com/podcast/2018/09/24/episode-15-david-poeppel-on-thought-language-and-how-to-understand-the-brain/ Poeppeli episood]


* Eksamiks: mis põhiosadest koosnevad tehis-närvivõrgud, mida kasutatakse masinõppes. Mida närvivõrkudega õppe käigus tegelikult tehniliselt muudetakse? Mis on supervised learning, reinforcement learning, unsupervised learning (eeskätt, mille poolest nad üksteisest erinevad)? Mis on x-tee?


Lisaks uuri:
<!-- Teoreetiline arvutiteadus.  
:* Elements of AI eestikeelsed [https://course.elementsofai.com/ee/4 masinõppe] ja [https://course.elementsofai.com/ee/5 närvivõrkude] blokid.
:[[Media:pawel_logic.pdf|Loengumaterjal 2023 aastast]]
:* [https://aegeorge42.github.io/ Neural networks from scratch]
:* Masinõpe [https://en.wikipedia.org/wiki/Machine_learning vikipeedias]
:* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
:* [https://braininspired.co/ Brain inspired] podcast neuroteaduse ja veidi masinõppe teemadel: jutuajamised päris neuroteadlastega.
:* Kaggle [https://www.kaggle.com/competitions  competitions] ja [https://www.kaggle.com/learn iseõppe kursused]
:* [https://en.wikipedia.org/wiki/GPT-3 GPT-3 vikipeedias] ja selle baasil tehtud Github copilot [https://en.wikipedia.org/wiki/GitHub_Copilot vikipeedias] ja [https://copilot.github.com/ otselink]
:* Taneli [[Lühiülevaade riigi infosüsteemist]].
:* Taneli [[x-tee märkmed loengust]]
:* Anto Veldre [https://blog.ria.ee/sissejuhatus-x-teesse-osa-1/ artiklisari x-teest]
:* Dirk, Robert, Tanel: [https://discuss.tp4.ir/uploads/short-url/ngJzIAyyAG0d1GIP5tfks7QwZv9.pdf On State-Level Architecture of Digital Government Ecosystems: From ICT-Driven to Data-Centric]


=== 10. nädal: Algoritmid: lahenduvus. Tehisintellekt. ===
-->


4. november.
=== 12. nädal: Kvantarvutite algoritmid  ===


* Kell 12: Algoritmid: lahenduvus.
20. november
:Loengumaterjal: [[Media:Itsissejuhatus13a.ppt|Itsissejuhatus13a.ppt]], [[Media:Itsissejuhatus13a.pdf|Itsissejuhatus13a.pdf]].


* Kell 13:45: Tehisintellekt: laiemalt kui masinõpe.
* Kell 12:15: [https://taltech.ee/en/dirk-draheim Dirk Draheim] räägib [https://en.wikipedia.org/wiki/Quantum_computing kvantarvutite] algoritmidest: I osa. Loeng on inglise keeles.
:Loengumaterjal:  [[Media:ai_sissejuhatus_c.pdf|ai_sissejuhatus_c.pdf]].  


<!-- [https://en.wikipedia.org/wiki/Data_science andmeteadus] ja [https://en.wikipedia.org/wiki/Data_mining andmekaeve], õppejõud [http://innar.com/ Innar Liiv]. NB! Selle loengu kohta ei ole slaidimaterjale, aga Innar lubas neid saata, kui kirjutad ja küsid innar.liiv@taltech.ee -->
* Kell 14:00: [https://taltech.ee/en/dirk-draheim Dirk Draheim] räägib [https://en.wikipedia.org/wiki/Quantum_computing kvantarvutite] algoritmidest: II osa. Loeng on inglise keeles.
<!-- Õppejõud Sven Nõmm. [https://www.dropbox.com/s/w5sod7ihfognn68/masinope_oppimismeetodid.pdf?dl=0 Loengumaterjal] -->
* Eksamiks: lahenduvus teoreetilises ja tavamõttes, mis on lahenduvad ülesanded. Positiivsete täisarvude, positiivsete/negatiivsete ja murdarvude võimsuse võrdlemine ja tõestamine. Reaalarvude suurem võimsus kui täisarvude võimsus (Cantori teoreem): tõestuse idee. Mis on peatumisprobleem, selle lahendamatuse tõestuse idee. Mis on tugev ja mis nõrk AI, mis on turingi test ja mis on eliza. Mis on otsimeetodites minimax ja alpha-beta (tehnilisi detaile ja näiteid ei tule). Mis on peamise tehisintellekti arendamise meetodid/lähenemised. Mis sorti ülesandeid praegused tehisintellektisüsteemid suudavad ok/väga hästi/väga halvasti lahendada?  Mis on IBM Watson ja Wolfram Alpha.


Vaata lisaks lahenduvuse teemal:
* [[Media:DirkGrover.pdf|Loengumaterjal ehk presentatsioon]]


:* [https://en.wikipedia.org/wiki/Cardinality Kardinaal]
* [https://echo360.org.uk/media/a2c280c4-b5d6-415a-8091-e63f61d70783/public Loenguvideo]
:* [https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument Cantori teoreem]
:* [https://en.wikipedia.org/wiki/Halting_problem Halting problem]
:* [https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems Incompleteness theorems]
:* Raamat [https://www.apollo.ee/godeli-toestus.html Gödeli tõestus]


Lisaks tehisintellekti teemal:
* Eksamil kvantarvutite algoritmide küsimusi ei tule.


:*Väga hea mõte on teha ise läbi lihtne sissejuhatav MOOC-kursus tehisintellektist: [http://www.elementsofai.ee/ eestikeelne] või https://www.elementsofai.com/ inglisekeelne]. Selle masinõppe-blokid olid eelmise nädala soovitavas nimekirjas: nüüd vaata läbi ülejäänud.
Taustaks soovitav:
<!-- :* Taustaks: [https://courses.cs.ttu.ee/pages/Teadmisp%C3%B5hise_tarkvaraarenduse_meetodid_/_Methods_of_Knowledge_Based_Software_Development_2017 tehisintellektinduse magistrikursus TTÜs] ja ülevaade [https://aitopics.org/misc/about tehisintellektinduse valdkondadest] -->
:* [https://www.bostondynamics.com/ Boston Dynamics] [https://www.youtube.com/watch?v=tF4DML7FIWk atlas] ja [https://www.youtube.com/watch?v=9aUBpByABiA valus variant] ja [https://www.youtube.com/watch?v=PQr6U3RWzVg big dog]. Eriti soovitav Marc Raiberti [https://www.youtube.com/watch?v=AO4In7d6X-c TED talk]: vaata kindlasti valusat faili hetkel 5:28 :)
:* Darpa [http://en.wikipedia.org/wiki/DARPA_Grand_Challenge grand challenge 2005] ja [https://www.youtube.com/watch?v=g0TaYhjpOfo darpa robotics challenge (2012-2015) fails compilation]
<!--
:* [http://vimeo.com/user2952867/videos TTÜ roboswarm]
-->
<!-- :* [https://www.tastehit.com/blog/google-deepmind-alphago-how-it-works/ Kuidas AlphaGo töötab] -->
:* [http://idlewords.com/talks/superintelligence.htm Miks mitte karta super-tehisintellekti]
:* [https://en.wikipedia.org/wiki/Rodney_Brooks Rodney Brooksi] väike tehisintellekti-sari [https://rodneybrooks.com/forai-steps-toward-super-intelligence-i-how-we-got-here/ osa 1], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-ii-beyond-the-turing-test/ osa 2], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iii-hard-things-today/ osa 3],  [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iv-things-to-work-on-now/ osa 4]
:* [http://www.wired.com/wiredscience/2013/11/christof-koch-panpsychism-consciousness/all/ How networks become conscious] ja [http://www.newyorker.com/online/blogs/elements/2013/08/why-cant-my-computer-understand-me.html Why can't my computer understand me]
:* Marvin Minsky [http://aurellem.org/society-of-mind/ The Society of Mind]
:* [http://www.youtube.com/watch?v=-rMMTv7XLYw Õppimisalgoritmidest] ja [http://research.google.com/pubs/ArtificialIntelligenceandMachineLearning.html Google artiklid õppimisalgoritmidest]
:* Teadmiste integraatorid [http://blog.stephenwolfram.com/2011/01/jeopardy-ibm-and-wolframalpha/  Ibm Watson, Wolfram Alpha] ja [http://en.wikipedia.org/wiki/Siri_%28software%29 Siri]
:* [https://allenai.org/#nlp allen AI]: vaata ka projektide ülamenüüst Demo lingi alt online demosid
:* Päris hea võrgust lugev ja õppiv süsteem [http://rtw.ml.cmu.edu/rtw/ NELL] vt ka [http://rtw.ml.cmu.edu/rtw/kbbrowser/ seniõpitut] ja [http://www.cs.cmu.edu/~rcwang/ olulist alus-meetodit]
:* [https://www.eclecticenergies.com/ego/eliza Klassikaline vestlev pseudointellekt Eliza] ja  [https://www.pandorabots.com/mitsuku/ modernsem vestlev pseudointellekt]
:* A.I. filosoofia osas loe [http://en.wikipedia.org/wiki/Philosophy_of_artificial_intelligence peamist wikiartiklit] ja [http://en.wikipedia.org/wiki/Functionalism_(philosophy_of_mind) wikiartiklit funktsionalismist]
:* Loe [[Media:Aifilosoofia_ttmatrix.doc|Matrix, Skynet ja sõda teispoolsusega]], [http://ase.tufts.edu/cogstud/dennett/recent.html Dennetti artikleid], [http://aima.cs.berkeley.edu/ tuntud õpikut],


Taustakuulamiseks soovitavaid podcastiepisoode:
* [https://en.wikipedia.org/wiki/Quantum_computing Wikipedia leht]
:* Eriti soovitav filosoofia/praktika kokkupuutepunktina [https://lexfridman.com/steven-pinker/ Steven Pinkeri] episood väga heast ja populaarsest [https://lexfridman.com/ai/ ai podcastist].
:* Neurorehkenduste ja sümbolrehkenduste vaidluse teemal kuula [https://lexfridman.com/gary-marcus/ Gary Marcuse episoodi] AI podcastist ja vastupidi, [https://lexfridman.com/david-silver/ David Silveri episoodi] Alphago, Alphazero jms teemadel. Lisaks videona [https://youtu.be/EeqwFjqFvJA Yoshua Bengio ja Gary Marcuse diskussioon]-
:* Praktilise AI ehitamise teemal kuula [https://lexfridman.com/david-ferrucci/ David Ferrucci] ibm watsoni episoodi
:* Vali neist A.I. podcastist mõned ja kuula: [https://lexfridman.com/ben-goertzel/ Goertzel], [https://lexfridman.com/tomaso-poggio/ Poggio],[https://lexfridman.com/richard-dawkins/ Dawkins], [https://lexfridman.com/noam-chomsky/ Chomsky], [https://lexfridman.com/nick-bostrom/ Bostrom], [https://lexfridman.com/jeff-hawkins/ Hawkins], [https://lexfridman.com/judea-pearl Pearl]
:* Soovitavaid A.I. podcaste üldse: [https://lexfridman.com/ endise nimega A.I. podcast] ja siis tehnilisemad [https://braininspired.co/ ajuteaduse-fookusega A.I. podcast], [https://soundcloud.com/nlp-highlights Alleni instituudi NLP podcast]. Viimase kohta veel soovitavaid episoode [https://soundcloud.com/nlp-highlights/89-dialog-systems-with-zhou-yu episode 89 about dialog systems], [https://soundcloud.com/nlp-highlights/executable-semantic-parsing-with-jonathan-berant episode 91 about executable semantic parsing], [https://soundcloud.com/nlp-highlights/59-weakly-supervised-semantic-parsing-with-abstract-examples-with-omer-goldman episode 59 about semantic parsing] ja lõpuks [https://allenai.org/demos demod], eriti [https://rule-reasoning.apps.allenai.org/ Rover demo]


<!--
* Mindscape podcast [https://www.preposterousuniverse.com/podcast/2021/06/28/153-john-preskill-on-quantum-computers-and-what-theyre-good-for/ quantum computing with John Preskill] episood.
* Kell 14: Sten Mäses räägib küberkaitsest.  
:Loengumaterjal: [[Media:Loeng-2020-10-15-cybersec_intro.pdf|Loeng-2020-10-15-cybersec_intro.pdf]]


-->
* Mindscape podcast [https://www.preposterousuniverse.com/podcast/2020/06/01/99-scott-aaronson-on-complexity-computation-and-quantum-gravity/ quantum computing with Scott Aaronson] episood.
<!--
Loengumaterjal: [[Media:Algoritmid_2018_2.pptx|Algoritmid_2018_2.pptx]], [[Media:Algoritmid_2018_2.pdf|Algoritmid_2018_2.pdf]].
-->
<!-- Õppejõud Maarja Kruusmaa. -->
<!-- :* [https://www.youtube.com/watch?v=JDogScg_pUI Dangerous knowledge] -->


<!--
* Scott Aaronsoni [https://scottaaronson.blog/ blogi]
* Kell 12: Planeerimisel.-->
<!-- :Loengumaterjal: [[Media:Itsissejuhatus11.ppt|Itsissejuhatus11.ppt]], [[Media:Itsissejuhatus11.pdf|Itsissejuhatus11.pdf]].-->
<!--
* Kell 14: Planeerimisel <!-- Reaalsetest arendusprojektidest räägib [https://www.linkedin.com/in/markus-karileet/ Markus Karileet] [https://www.helmes.com/ Helmesest]. Loengumaterjal: [[Media:Projects_mk.pptx|Projects_mk.pptx]], [[Media:Projects_mk.pdf|Projects_mk.pdf]] -->
<!--
* Eksamiks: --><!-- rekursiooni äratundmine, baasjuht ja rekursiivne juht, rekursiooni ekvivalentsus tsükliga, arusaamine funktsionaalse keele näitejuppidest loengus: mida mingi näitekood teeb / mis on rehkendamise tulemus. Mis on lambda-arvutus. Prologi näide tuleb ära tunda (et on Prolog). Arendusprojektide kohta küsimusi ei tule.-->


<!--
=== 13. nädal: Teoreetiline arvutiteadus ja masinõpe ===
* Neljapäeval: [https://en.wikipedia.org/wiki/Database Andmebaasid]. Õppejõud Priit Raspel. Eraldi loengumaterjalide faile ei ole: tutvu loengu videosalvestusega ning täiendavalt tutvu veidi kas [https://www.w3schools.com/sql/ selle sql tutorialiga] või konkreetselt [http://www.sqlitetutorial.net/ sqlite3 tutorialiga]. Kumbki on mahukas, seega loe ainult algust ja sirvi veidi edasist. [https://en.wikipedia.org/wiki/SQLite Sqlite] on kõige lihtsamini installeeritav ja enim installeeritud sql andmebaas ning seda soovitame ka kontrolltöö ülesannetes katsetamiseks.
-->
<!--
* Eksamiks: rekursiooni äratundmine, baasjuht ja rekursiivne juht, rekursiooni ekvivalentsus tsükliga, arusaamine funktsionaalse keele näitejuppidest loengus: mida mingi näitekood teeb / mis on rehkendamise tulemus. Mis on lambda-arvutus. Proloogi näide tuleb ära tunda (et on Prolog). Mis on andmebaasid ja mis on sql. Detailseid sql-küsimusi ei tule. Sql näidet tuleks ära tunda (et on sql keeles).
-->
<!--
Lisaks proovi ja loe veidi:
:* [http://en.wikipedia.org/wiki/Fractal Fraktaalid wikipedias]
:* [http://blog.hvidtfeldts.net/index.php/category/mandelbulb/ Mandelbub] ja [https://www.youtube.com/results?search_query=mandelbub selle videoklipid] [https://www.youtube.com/watch?v=Tj6rip3G62Y&feature=youtu.be Mandelbox and Flying Lights], [https://www.youtube.com/watch?v=bKknJvZIn24&feature=youtu.be Like in a dream II], [https://www.youtube.com/watch?v=APsLfpfDGOI&feature=youtu.be Weird planet II]. Taustaks veel [http://www.math.utah.edu/~bresslof/publications/01-1.pdf Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex]
:* [http://tilde.club/~david/m/ kiire Mandelbroti fraktaal online] ja [https://guciek.github.io/web_mandelbrot.html#-0.5;0;2;1000  veidi aeglasem]
-->
<!-- :* [http://www.softwarefederation.com/fractal.html Fraktaalide applet] vali vasaku hiireklahvi abil sisemine ala ja joonista uus
-->
<!--
:* [http://rosettacode.org/wiki/Mandelbrot_set Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles]
:* [https://progur.com/2016/10/procedural-generation-create-fractal-trees-javascript.html fractal trees javascriptis], [https://progur.com/2016/10/procedural-generation-create-koch-curve-javascript.html sissejuhatus] ja terviknäide [http://dijkstra.cs.ttu.ee/~tammet/draw.html draw.html]. Vt ka [https://stackoverflow.com/questions/49785734/animating-a-fractal-tree-inside-a-javascript-canvas animeeritud puu]. Siit edasi [http://math.hws.edu/graphicsbook/ arvutigraafika veebiraamat].
:* [http://en.wikipedia.org/wiki/Tower_of_Hanoi Tower of Hanoi]
:* [http://en.wikipedia.org/wiki/Lambda_calculus Lambda-arvutus]
:Vaata ja proovi näiteid modifitseerida:
:* Võta seesama Ecki labor, mis varem ([[Ecki laborite allalaadimine ja katsetamine]]) ja käivita TMCM_Labs.jar.
:* Avanevas menüüs võta xTurtle lab ja lae sisse näiteks [[BinaryTrees.txt]], [[RecursiveBush.txt]], KochCurves.txt
:* Loe lisaks [http://math.hws.edu/TMCM/java/labs/xTurtleLab3.html Lihtsamad rekursiivsed pildid] <!-- ja [http://math.hws.edu/TMCM/java/xTurtle/index.html Rekursiivsed pildid randomiga] --><!--
:Huvi korral installeeri ja proovi Prologi: [http://www.swi-prolog.org/ SWI Prolog].
-->


=== 11. nädal: Algoritmid: keerukus. Tabelarvutus. ===
27. november


11. november.
* Kell 12:15: [https://www.ioc.ee/~pawel/ Pawel Sobocinski] räägib teoreetilisest arvutiteadusest (inglise keeles).
: Loengumaterjal: [[Media:Logic2025bis.pdf|Logic2025bis.pdf]]


* Kell 11: Algoritmid: keerukus. Ülevaade kursusest. Õppejõud Marko Kääramees.
* Kell 14:00: [https://healthandfood.taltech.ee/liige/evelin-halling/ Evelin Halling] räägib masinõppest. Evelin õpetab ka masinõppe kursust.  
:Loengumaterjal: [[Media:Algoritmid_2019.pdf|Algoritmid_2019.pdf]].
: Loengumaterjal: [[Media:ML_Introduction_c.pdf|ML_Introduction_c.pdf]]


* Kell 13:45: Ivari Horm räägib tabelarvutusest.
* [https://echo360.org.uk/media/a2a1471a-60c6-40ce-b936-2e9e782d4744/public Loenguvideo]
:Loengumaterjal: [https://study.risk.ee/arvuti/tabelarvutus/pohimoisted https://study.risk.ee/arvuti/tabelarvutus/pohimoisted] (slaidid, näitefailid)


<!-- :Loengumaterjal: [[Media:Itsissejuhatus13a.ppt|Itsissejuhatus13a.ppt]], [[Media:Itsissejuhatus13a.pdf|Itsissejuhatus13a.pdf]]. -->
* Eksamiks on küsimused ainult masinõppe teema (kell 14:00 loeng siin ülal) kohta. Masinõppe peamised tüübid ja nende sobivamad rakendusvaldkonnad. Mida õppimise käigus mudelis muudetakse. Kuidas mudeli andmestikku tüüpiliselt jaotatakse ja mis on peamised tööd andmestikuga.  
* Eksamiks: mis on algoritmide keerukus, mida tähendab suur-O (a la O(n**2)) notatsioon, mis on sorteerimisalgoritmi parim keerukus halvimal juhul, mis on erinevus merge sorti ja selection sorti vahel: algoritmi ja keerukuse mõttes, mis operatsioonid on massiividel kiiremad / aeglasemad kui listil, mismoodi kirjutatakse Excelis lihtsamaid valemeid.


Täiendavalt:


Täiendavalt algoritmide teemal:
:* https://aidoc.pages.taltech.ee/
:* sorteerimisalgoritmide visualiseeringud [http://www.sorting-algorithms.com/ siin] ja [http://gizmodo.com/this-visualization-of-15-different-sorting-algorithms-i-987297677 siin] ja [http://aarondufour.com/tools/visualizer/ siin]
:* Elements of AI eestikeelsed [https://course.elementsofai.com/ee/4 masinõppe] ja [https://course.elementsofai.com/ee/5 närvivõrkude] blokid.
:* Eriliselt tore ja ilus [https://bost.ocks.org/mike/algorithms/ visualiseeringutega jutt] mitmete algoritmidega
:* [https://aegeorge42.github.io/ Neural networks from scratch]
:* Väga paljude algoritmide ja andmestruktuuride [https://visualgo.net/ visualiseeringud]
:* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
:* [https://en.wikipedia.org/wiki/Big_O_notation Suur O] wikipedias ja [https://www.bigocheatsheet.com/ lihtne cheatsheet]
:* Eelmisest inspireeritud [https://playground.tensorflow.org/ modernsem jätk] ja [https://deeperplayground.org/ selle jätk].
:* [https://en.wikipedia.org/wiki/Travelling_salesman_problem Travelling salesman problem], [https://www.fourmilab.ch/documents/travelling/anneal/ simulated annealing algorithm], [[TSP programmi Java lähtekood| optimaalset lahendust otsiva programmi Java näite-lähtekood]], lokaalsete otsingute (optimaalsus ei ole tagatud) visualiseering [http://www.youtube.com/watch?v=SC5CX8drAtU siin]
:* [https://ncase.me/sight-and-light/ 2D raycasting]
:* [http://dijkstra.cs.ttu.ee/~tammet/oligarch.html Oligarch]: õppejõu väike demo varandusliku ebavõrdsuse tekkimisest: loe juurde [https://www.scientificamerican.com/article/is-inequality-inevitable/ SciAm artiklit] ja huvi korral vaata lehe lähtekoodi. Idee väikeseks hobiprojektiks: täiusta simulatsiooni niimoodi, et varade jaotus oleks tulpdiagrammina näha (agentide varade suuruse horisontaalsed jooned ülevalt alla) ja muutuks kogu simulatsiooni ajal, nii et saad jälgida, kuidas vara simulatsiooni käigus muutub ja koguneb. Selleks peab simulatsioonis joonistama välja mitte iga transaktsiooni järel, vaid mingi N järel, mis sõltub transaktsioonide koguarvust. Graafika tegemiseks loe [https://www.w3schools.com/graphics/canvas_intro.asp seda tutoriali] ja [http://math.hws.edu/graphicsbook/ seda praktilist õpikut].


=== 12. nädal: Andmeteadus, andmekaeve, P2P võrgud ja bitcoin ===


18. november


* Kell 12: [http://innar.com/ Innar Liiv] räägib [https://en.wikipedia.org/wiki/Data_science andmeteadusest] ja [https://en.wikipedia.org/wiki/Data_mining andmekaevest].
<!--
* Eksamiks:   Keelemudelitest: Mis on N-gramm mudelid ja mis numbrilist väärtust nendega arvutatakse? Mis on sõnavektorid? Mis moel genereerib suur keelemudel (LLM) vastust? Mis on zero-shot ja mis on one-shot tüüpi ülesanne LLM jaoks? Kas LLM sisaldab konkreetset teadmiste baasi? Mis on LLM-i peenhäälestamine?


* Kell 13:45: Peer-to-peer võrgud, distributed ledger ja bitcoin.  [[Media:P2p_ledger_bitcoin.ppt|P2p_ledger_bitcoin.ppt]], [[Media:P2p_ledger_bitcoin.pdf|P2p_ledger_bitcoin.pdf]].
Täiendavalt loomuliku keele teemal:
* [https://web.stanford.edu/~jurafsky/slp3/ Speech and Language Processing]: tõenäoliselt parim õpik loomuliku keele töötluse teemal (vabalt veebist loetav).
* LLMi ise-ehitamise jaoks on tõenäoliselt parim Andrey Karpathy [https://www.youtube.com/watch?v=kCc8FmEb1nY õppevideo] koos [https://karpathy.ai/zero-to-hero.html nullist tausta] ja kogu vajaliku [https://github.com/karpathy/nanoGPT pythoni-koodiga]
* LLMi kasutamiseks oma tarkvaras on suhteliselt lihtne ja hea variant [https://platform.openai.com/docs/api-reference OpenAI API]


* Eksamiks: peamised P2P liigid, milleks on / mida optimeerib Bittorrent, darkneti / TORi põhiideed, mis ja milleks on Bitcoinis kaevandamine / proof of work.
-->


Lisaks vaata:
=== 14. nädal: AI assistendid ja tarkvara arendusprotsess ===
:* [https://en.wikipedia.org/wiki/Data_science andmeteadus]


Lisaks P2P-st, ledgerist ja bitcoinist:
4. detsember
:* Vaata üle [http://lambda.ee/wiki/V%C3%B5rgurakendused_II võrgurakendused II kursuse teemad]
:* Vaata Bitcoini tehnoloogiajuppide [https://anders.com/blockchain/ interaktiivset demo]: võta ülamenüüst järjest "Hash", "Block", "Blockchain" ja proovi järgi.
:* [https://bitsonblocks.net/2015/09/01/a-gentle-introduction-to-bitcoin/ bitcoini ülevaade osa 1]
:* [https://bitsonblocks.net/2015/09/09/a-gentle-introduction-to-blockchain-technology/  bitcoini ülevaade osa 2]
:* [https://bitsonblocks.net/2015/09/21/a-gentle-introduction-to-bitcoin-mining/  bitcoini ülevaade osa 3]
:* [https://www.bitcoinblockhalf.com/ bitcoini hetke-statistika]
:* [https://www.blockchain.com/explorer bitcoini ledgeri uute blokkide hetke-ülevaade]
:* [https://apenwarr.ca/log/20211117 väike natuke veider jutt bitcoini probleemidest ja tugevustest]


=== 13. nädal: Andmebaasid ja tarkvaraarendusprotsess, IT projektid ja äri ===
* Kell 12:15: [https://koppel.ee Tarmo Koppel] räägib LLMi põhistest ai assistentidest ja annab koduülesande: google ai studio build apps with gemini.
: Loengumaterjal: [[Media:Tarmo_koppel.pdf|Tarmo_koppel.pdf]]
: Google AI studioga rakenduse ehitamise juhend: [[Media:GoogleAIstudioBuildApps.docx|GoogleAIstudioBuildApps.docx]] või sama [[Media:GoogleAIstudioBuildApps.pdf|GoogleAIstudioBuildApps.pdf]] variant.
<!-- Hajussüsteemid, plokiahelad ja krüptoraha.
:Kasutame osi mõlemist materjalist: [[Media:Blockchain_lecture_1.pdf|Dirk Drahemi loenguslaidid]] ja [[Media:P2p_ledger_bitcoin.ppt|T.Tammeti P2P loenguslaidid]]
-->


25. november.
* Kell 14:00: [https://www.linkedin.com/in/uku-tammet/ Uku] (endine [http://wise.com Wise], praegune [https://handhold.io/ https://handhold.io/]) räägib tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal.<!-- Presentatsioon 2023: [[Media:Tootefirmad 2023.pdf|Tootefirmad 2023.pdf]] -->
: Loengumaterjal: [[Media:Uku_taltech_2025.pdf|Uku_taltech_2025.pdf]]


* Kell 12: Erki Eessaar räägib andmebaasidest. Andmed, informatsioon, andmebaas, andmebaasisüsteem, SQL, NoSQL. SQLis (PostgreSQL) väike näide tabelite loomise ning andmete otsimise ja muutmise kohta.
* [https://echo360.org.uk/media/b76c8706-3e63-4d36-a0a5-300deda5a36a/public Loenguvideo]
:Loengumaterjal: [[Media:Andmebaasidest_s2021.pdf|Andmebaasidest_s2021.pdf]] ja täiendavalt [[Media:Andmebaasidest_s2020_2.zip|xlsx ja sql näitefailid]]
* Kell 13:45:  Tarkvaraarendusprotsess, IT projektid ja äri.
:Loengumaterjal: [[Media:Itsissejuhatus_projektid_raha_20.pptx|Itsissejuhatus_projektid_raha_20.pptx]], [[Media:Itsissejuhatus_projektid_raha_20.pdf|Itsissejuhatus_projektid_raha_20.pdf]]


* Eksamiks: (1) Alltoodud kohustuslike artiklite läbilugemine. (2) Mis asi on: andmebaas, andmebaasisüsteem, SQL, projektide realiseerimise kosemudel (waterfall) ja agiilne mudel.
* Eksamiks: LLMdest: mis on LLMi kontekstiaken? Ettevõtetest: mis on tootefirma / traditsioonilise "agency" põhierinevused. Mida tähendab data-driven tootearendus. Mis on selles kontekstis MVP ja mis on PMF?


<!--
Täiendavalt plokiahelatest:


Proovi järgi andmebaaside teemal; kui keeruline, tee algul läbi [https://mystery.knightlab.com/walkthrough.html walkthrough] ja/või [https://www.w3schools.com/sql/sql_intro.asp w3schools SQL tutorial].
:*[[Media:plokiahel_tt.pdf|detailsem plokiahela ülevaade]]
:* [https://mystery.knightlab.com/ SQL murder mystery]
:*[[Kriitiline taust blockchaini mõistmiseks]]
:* endale installeerimiseks ja katsetamiseks: [https://www.sqlite.org/index.html sqlite]
:* Vaata Bitcoini tehnoloogiajuppide [https://andersbrownworth.com/blockchain/ interaktiivset demo]: võta ülamenüüst järjest "Hash", "Block", "Blockchain" ja proovi järgi.
:* väike näide, kuidas pythonist [[sqlite kasutada]] ilma midagi installeerimata.
:* [https://coinmarketcap.com/ Erinevad krüptorahad, nende hetkehinnad, turumahud jms]
:* [https://www.bitcoinblockhalf.com/ bitcoini hetke-statistika]
:* [https://www.blockchain.com/explorer bitcoini ledgeri uute blokkide hetke-ülevaade]
-->


Lisaks projektidest:  
Lisaks projektidest:  
:* [https://www.smart-jokes.org/how-it-projects-really-work.html How projects really work] ja [https://archive.is/FgxPK selle pikk ajalugu]
:* [https://www.smart-jokes.org/how-it-projects-really-work.html How projects really work] ja [https://archive.is/FgxPK selle pikk ajalugu]
:* [http://en.wikipedia.org/wiki/Agile_software_development Agile], [https://agilemanifesto.org/ agile manifesto] ja [https://agilemanifesto.org/principles.html selle põhimõtted] ja lisaks selle juurde [http://martinfowler.com/articles/newMethodology.html Martin Fowleri vana artikkel] ja [https://martinfowler.com/agile.html uus artikkel]
:* [http://en.wikipedia.org/wiki/Agile_software_development Agile], [https://agilemanifesto.org/ agile manifesto] ja [https://agilemanifesto.org/principles.html selle põhimõtted] ja lisaks selle juurde [http://martinfowler.com/articles/newMethodology.html Martin Fowleri vana artikkel] ja [https://martinfowler.com/agile.html uuem artikkel]
:* Paul Graham alustamisest: [http://www.paulgraham.com/ds.html do things that do not scale]
:* Paul Graham alustamisest: [http://www.paulgraham.com/ds.html do things that do not scale]
:* [http://startupclass.samaltman.com Sam Altmani startup-kursuse loenguvideod]
:* [http://playbook.samaltman.com Sam Altmani startup-kursus] ja [https://www.youtube.com/playlist?list=PL5q_lef6zVkaTY_cT1k7qFNF2TidHCe-1 video-playlist]
:* Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
:* Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
:** Paul Graham: [http://www.paulgraham.com/start.html How to start a startup?]
:** Paul Graham: [http://www.paulgraham.com/start.html How to start a startup?]
853. rida: 837. rida:
:** Fred Brooks 1986: [http://worrydream.com/refs/Brooks-NoSilverBullet.pdf No Silver Bullet]
:** Fred Brooks 1986: [http://worrydream.com/refs/Brooks-NoSilverBullet.pdf No Silver Bullet]
:** Random ramblings: [http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html Top ten geek business myths]
:** Random ramblings: [http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html Top ten geek business myths]
<!--
:** [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega]
:** [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega]
-->


=== 14. nädal: Siit ja edasi planeerimisel.  <!-- Masinõpe (ja projektide arendus ettevṍtetes ?)--> ===
<!--
* Kell 14:00: Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
:Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]].


2. detsember.
Täiendavalt hajussüsteemidest: vaata [http://lambda.ee/wiki/Hajuss%C3%BCsteemid seda kursust].
-->
<!--
Täiendavalt plokiahelatest:


<!-- Tõenäoliselt loengud Helmese ja Transferwise arhitektidelt/arendajatelt.
:*[[Media:plokiahel_tt.pdf|detailsem plokiahela ülevaade]]
3. detsember. Loengud ainult on-line.
:*[[Kriitiline taust blockchaini mõistmiseks]]
* Kell 12: [https://ee.linkedin.com/in/markus-karileet Markus Karileet] <b>Helmesest</b> räägib ettevõtte kontekstis projektidest ja praktilise tarkvara-arenduse teemadel. [[Media:Rollid_markus_karileet.pdf|Loengu slaidid]] ja järelevaatamiseks mine [https://teams.microsoft.com/l/meetup-join/19%3ameeting_MjNiOGFjYzgtM2ZlMS00ZmU1LTliNzYtMDg0OGZkMDY1MmM2%40thread.v2/0?context=%7b%22Tid%22%3a%2243ef9df5-e7b8-484e-b451-47c8867b6219%22%2c%22Oid%22%3a%221c53a7ce-153e-4022-a677-37b601ed4d04%22%2c%22IsBroadcastMeeting%22%3atrue%7d loengu lingile]. NB! Esimesed 23 minutit ei olnud loengus heli, seejärel taastus: scrolli sinnani.
:* Vaata Bitcoini tehnoloogiajuppide [https://andersbrownworth.com/blockchain/ interaktiivset demo]: võta ülamenüüst järjest "Hash", "Block", "Blockchain" ja proovi järgi.
:* [https://coinmarketcap.com/ Erinevad krüptorahad, nende hetkehinnad, turumahud jms]
:* [https://www.bitcoinblockhalf.com/ bitcoini hetke-statistika]
:* [https://www.blockchain.com/explorer bitcoini ledgeri uute blokkide hetke-ülevaade]


* Kell 14: [https://ee.linkedin.com/in/uku-tammet-888107110 Uku Tammet] <b>Transferwisest</b> räägib ettevõtte kontekstis projektidest ja praktilise tarkvara-arenduse teemadel. [https://transferwise.zoom.us/j/91834464283?pwd=QUVUUi9Ib3d2UlVLMzVjNG03K3BCQT09 loengu live link] [https://vimeo.com/487169260 Transferwise loengu järelvaadatav link]
Täiendavalt ajuteaduse teemal:


* Eksamiks: Helmese loengust: mis on frontend ja backend arendaja ja süsadmini peamised tehnilised töövaldkonnad/tehnoloogiad (eeskätt, mille poolest erinevad), mis on käsitestimine, automaatestimine ja pentestimine (jällegi, eeskätt mille poolest erinevad). Transferwise loengust (video!): tootefirmade ja traditsiooniliste it-arendusagentuuride erinevused, mis on MVP, mis on A/B testing.
:* Loe suunaseadmiseks [https://medium.com/intuitionmachine/neurons-are-more-complex-than-what-we-have-imagined-b3dd00a1dcd3 neurons are more complex than what we have imagined]
:* Vaata/kuula  TED loenguid [https://www.youtube.com/watch?v=5ZsDDseI5QI Metzinger], [http://www.ted.com/talks/daniel_wolpert_the_real_reason_for_brains Wolpert], [https://www.ted.com/talks/michael_s_a_graziano_what_is_consciousness Graziano], [https://www.ted.com/talks/donald_hoffman_do_we_see_reality_as_it_is Hoffman].
:* Süvitsi minemiseks on parim podcast [https://braininspired.co/ Brain Inspired: a podcast where neuroscience and AI converge]
:* [https://www.preposterousuniverse.com/podcast/ Mindscape podcast] sisaldab samuti päris hulga ajuteaduse-temaatilisi episoode, näiteks [https://www.preposterousuniverse.com/podcast/2019/04/29/episode-44-antonio-damasio-on-feelings-thoughts-and-the-evolution-of-humanity/ Damasio episood], [https://www.preposterousuniverse.com/podcast/2018/09/24/episode-15-david-poeppel-on-thought-language-and-how-to-understand-the-brain/ Poeppeli episood]
:* Klassikaline podcastisari [https://brainsciencepodcast.com/ Brain Science] on samuti päris hea.
-->
-->


=== 15. nädal: Esimene loeng Transferwise poolt, teine Taltechi Nurkse instituudist  ===
=== 15. nädal: Loomulik keel, keelemudelid, veel IT ärist/projektidest ja konsultatsioon eksamiks ===
 
11. detsember
 
* Kell 12:15:  konsultatsioon eksamiks ja täiendavalt tarkvara arendusprotsessist. Loengumaterjal: [[Media:Itsissejuhatus_projektid_raha_22.pdf|Itsissejuhatus_projektid_raha_22.pdf]].
 
* Kell 14:00:[https://taltech.ee/uudised/nuud-tenuuris-tanel-alumae Tanel Alumäe] räägib loomuliku keele tehnoloogiast ja suurtest keelemudelitest: LLM, GPT ja muu cutting edge värk. Loengumaterjal 2024 aastast: [[Media:Keelemudelid.pdf|Keelemudelid.pdf]]
 
* [https://echo360.org.uk/media/2e5d9772-576f-4e3b-bdcd-5b3472439904/public Loenguvideo]


9. detsember.
* Eksamiks: Projektidest: projekti jaotus etappideks, kosemudel vs agiilne arendus. Keelemudelitest: Mis on N-gramm mudelid ja mis numbrilist väärtust nendega arvutatakse? Mis on sõnavektorid? Mis moel genereerib suur keelemudel (LLM) vastust? Mis on zero-shot ja mis on one-shot tüüpi ülesanne LLM jaoks? Kas LLM sisaldab konkreetset teadmiste baasi? Mis on LLM-i peenhäälestamine?


* [http://transferwise.com]
Täiendavalt loomuliku keele teemal:
* [http://www.taltech.ee/nurkse]
* [https://web.stanford.edu/~jurafsky/slp3/ Speech and Language Processing]: tõenäoliselt parim õpik loomuliku keele töötluse teemal (vabalt veebist loetav).
* LLMi ise-ehitamise jaoks on tõenäoliselt parim Andrey Karpathy [https://www.youtube.com/watch?v=kCc8FmEb1nY õppevideo] koos [https://karpathy.ai/zero-to-hero.html nullist tausta] ja kogu vajaliku [https://github.com/karpathy/nanoGPT pythoni-koodiga]
* LLMi kasutamiseks oma tarkvaras on suhteliselt lihtne ja hea variant [https://platform.openai.com/docs/api-reference OpenAI API]


=== 16. nädal: Konsultatsioon ja loeng heaks programmeerijaks saamisest ===


17. detsember.  
Lisaks projektidest:
:* [https://www.smart-jokes.org/how-it-projects-really-work.html How projects really work] ja [https://www.businessballs.com/amusement-stress-relief/tree-swing-cartoon-pictures-early-versions/ selle pikk ajalugu]
:* [http://en.wikipedia.org/wiki/Agile_software_development Agile], [https://agilemanifesto.org/ agile manifesto] ja [https://agilemanifesto.org/principles.html selle põhimõtted] ja lisaks selle juurde [http://martinfowler.com/articles/newMethodology.html Martin Fowleri vana artikkel] ja [https://martinfowler.com/agile.html uuem artikkel]
:* Paul Graham alustamisest: [http://www.paulgraham.com/ds.html do things that do not scale]
:* [http://playbook.samaltman.com Sam Altmani startup-kursus] ja [https://www.youtube.com/playlist?list=PL5q_lef6zVkaTY_cT1k7qFNF2TidHCe-1 video-playlist]
:* Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
:** Paul Graham: [http://www.paulgraham.com/start.html How to start a startup?]
:** Paul Graham: [http://www.paulgraham.com/gh.html Great hackers]
:** Joel Spolsky: [https://www.joelonsoftware.com/2002/02/13/the-iceberg-secret-revealed/ The iceberg secret revealed]
:** Joel Spolsky: [http://www.joelonsoftware.com/articles/fog0000000043.html IT firma töökorraldus: 12 steps]
:** Paul Reeves: [http://www.developerdotstar.com/mag/articles/reeves_design.html What is software design?] vana artikkel ja [http://www.developerdotstar.com/mag/articles/reeves_13yearslater.html What Is Software Design: 13 Years Later]
:** Fred Brooks 1986: [http://worrydream.com/refs/Brooks-NoSilverBullet.pdf No Silver Bullet]
:** Random ramblings: [http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html Top ten geek business myths]
<!--
<!--
* Esmaspäeval: Ettevõtete / organisatsioonide vajadused, nõutud oskused, töö. Välisloengud ettevõtetest: Jaagup Irve http://zaumstudio.com/ ja Uku Tammet http://transferwise.com
:** [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega]
-->
-->


* Kell 12: Konsultatsiooni [http://dijkstra.cs.ttu.ee/~tammet/loeng/konsultatsioon_17_dets_2020.mp4 järelvaadatav link] eksami teemal: mida küsitakse, kuidas toimub, kuidas hinnatakse, mida õppida jne.
=== 16. nädal: Küberkaitse ja andmeteadus ===


* Kell 14: [https://www.linkedin.com/in/margus-freudenthal/ Margus Freudenthal] ([https://cyber.ee/products/secure-data-exchange/ X-tee/UXP] arendusjuht) [https://cyber.ee/ Cyberneticast] räägib sellest (järelvaadatav) [http://dijkstra.cs.ttu.ee/~tammet/loeng/freudenthal_programmeerijaks.mp4 kuidas saada heaks programmeerijaks?]. Saadaval ka [[Media:Kuidas-programmeerijaks-2020-taltech.pdf |loenguslaidid]].
18. detsember


* Eksamiks sellest päevast küsimusi ei tule.
* Kell 12:15. [https://et.wikipedia.org/wiki/Rain_Ottis Rain Ottis] räägib küberkaitsest. [[Media:rain_kyberkaitsest.pdf|Loengumaterjal 2023 aastast]]


<!-- T. Tammet räägib e-valimistest: tavavalimised, e-valimiste variandid, ülemaailne praktika, eesti e-valimiste areng, tähelepanekud, ohud, arenguvõimalused jne. Pluss hea võimalus eksami kohta küsida. Loengumaterjal: [[Media:Evalimised2a.pdf|Evalimised2a.pdf]] -->
* Kell 14:00. [http://innar.com/ Innar Liiv] räägib [https://en.wikipedia.org/wiki/Data_science andmeteadusest] ja [https://en.wikipedia.org/wiki/Data_mining andmekaevest]. Loengumaterjal: [[Media:INNAR_2025.pdf|INNAR_2025.pdf]]


* [https://echo360.org.uk/media/b5bfb873-07ac-4346-9e01-a2794dbecf6f/public Loenguvideo]


<!-- Martin Verrevi loeng: siin ka [http://bit.ly/ITI0101-1312-esitlus paar slaidi].--><!-- ja Innar Liivi lühiloeng andmekaevest praktilistes projektides. -->
<!--
<!--
Lisaks e-valimistest:  
* Kell 14:00: It äri: tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal. Presentatsioon 2023: [[Media:Tootefirmad 2023.pdf|Tootefirmad 2023.pdf]]  
:* [https://skytte.ut.ee/sites/default/files/skytte/e_voting_in_estonia_vassil_solvak_a5_web.pdf Solvaku ja Vassili põhjalik ülevaade e-valimiste arengust, kasutusest, efektidest 2005-2015]
:* [https://www.valimised.ee/et/e-h%C3%A4%C3%A4letamine E-valimiste üldleht]
:* [https://www.valimised.ee/sites/default/files/uploads/eh/IVXV_raamistiku_yldkirjeldus_29052017.pdf Praeguse süsteemi üldkirjeldus]
:* [https://www.valimised.ee/et/e-h%C3%A4%C3%A4letamine/dokumendid Tehnilised dokumendid, spetsifikatsioonid]
:* [https://www.valimised.ee/sites/default/files/uploads/eh/evalimisteanalyys24okt.doc E-valimiste võimaluste analüüs riigikogule 2001 aastal]
:* [https://github.com/vvk-ehk/evalimine vana süsteemi lähtekood]
:* [https://github.com/vvk-ehk/ivxv praeguse süsteemi lähtekood]
:* [https://ncase.me/ballot/ Valimiste tüüpide interaktiivne ülevaade]
-->
-->
<!--
<!--
:* [http://www.softdevtube.com/2010/11/29/real-software-engineering/ Real software engineering]
Eksamiks näiteks: Ettevõtetest: mis on tootefirma / traditsioonilise "agency" põhierinevused. Mida tähendab data-driven tootearendus. Mis on MVP. Mis stsenaariumites/olukordades on mõistlik kasutada "asynchronous messaging"-u?
:* [http://coding.pressbin.com/50/10-web-start-ups-all-mine--and-why-they-failed/ 10 failed startups of an unknown guy]
-->
-->


935. rida: 945. rida:
** Fred Brooks 1986: [http://worrydream.com/refs/Brooks-NoSilverBullet.pdf No Silver Bullet]
** Fred Brooks 1986: [http://worrydream.com/refs/Brooks-NoSilverBullet.pdf No Silver Bullet]
** Random ramblings: [http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html Top ten geek business myths]
** Random ramblings: [http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html Top ten geek business myths]
<!--
** [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega]
** [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega]
-->
<!--
<!--
** Paul Graham: [http://www.paulgraham.com/bronze.html Why smart people have bad ideas]
** Paul Graham: [http://www.paulgraham.com/bronze.html Why smart people have bad ideas]
970. rida: 982. rida:


Mh vaata läbi varasemate episoodide loetelu ja kuula, kui tundub põnev:
Mh vaata läbi varasemate episoodide loetelu ja kuula, kui tundub põnev:
* [https://lexfridman.com/ai/ ai podcasti], näiteks [https://lexfridman.com/steven-pinker/ Steven Pinkeri] episoodi.
* Ülipopulaarse [https://lexfridman.com/ai/ Lex Fridmani podcasti] (varem nimega AI podcast) tehnoloogia-episoode (varem rohkem, viimasel ajal harvemini), näiteks [https://lexfridman.com/jim-keller/ Jim Kelleri] episood. Spetsiifiliselt AI osas tasub kuulata näiteks neid väga erinevaid vaatenurki eri sorti tipptegijatelt ja mõtteliidritelt: [https://lexfridman.com/francois-chollet-2 Francois Chollet], [https://lexfridman.com/yann-lecun-2 Yann LeCun], [https://lexfridman.com/gary-marcus Gary Marcus], [https://lexfridman.com/demis-hassabis Demis Hassabis], [https://lexfridman.com/ilya-sutskever Ilya Sutskever], [https://lexfridman.com/ben-goertzel Ben Goertzel].
* [https://www.preposterousuniverse.com/podcast/ Mindscape podcasti]
* Kvantfüüsiku [https://www.preposterousuniverse.com/podcast/ Mindscape podcasti] valitud osi.  Mõned soovitused: Blaise Agüera y Arcas, David Krakauer, Christoph Adami, Peter Godfrey-Smith, Yejin Choi, Hugo Mercier, Andrew Pontzen.
 
Tehnilisemate podcastide osas on väga head (jällegi, vaata varasemaid episoode läbi ja vali) näiteks:
* [https://braininspired.co Brain Inspired]: päris neuroteaduse podcast, <i>kerge</i> fookusega seostele AI-ga
* [https://open.spotify.com/show/02e6PZeIOdpmBGT9THuzwR machine learning street talk (mlst)]
<!-- * [https://thegradientpub.substack.com/s/podcast The Gradient]: hea üldisem AI podcast, samas päris deep -->


Mõned valikepisoodid mujalt:
Mõned väga head valikepisoodid teistest podcastidest:
* [https://philosophybites.com/2015/03/jonathan-webber-on-deceiving-with-words.html Jonathan Webber on deceiving with words] episood
* [https://philosophybites.com/podcast/jonathan-webber-on-deceiving-with-words/ Jonathan Webber on deceiving with words] episood. Väga lühike, algab justkui triviaalselt, aga varsti enam nii mitte väga.
* [https://samharris.org/episode/SEF4786499D Andy Clarki] episood (predictive brain, embodied cognition, and the extended mind) täisvariant Sam Harrise podcastist. Kui ei tööta, siis üldlink lühendatud versioonile [https://www.samharris.org/podcasts/making-sense-episodes/322-predicting-reality siin].
<!-- * [https://podbay.fm/p/robinsons-podcast/e/1725206400 Michael Graziano] episood. -->
* [https://podbay.fm/p/robinsons-podcast/e/1692547200 Donald Hoffman]: The Illusion of Reality. Eriti radikaalse ja eksootilise, samas populaarse teadvuseteooria näide. Hoffmanni lühem ja fokuseeritud esitus on [https://www.ted.com/talks/donald_hoffman_do_we_see_reality_as_it_is?subtitle=en see TED talk]. Vbl alusta viimasega. Vahepeal viidatud "illusionisti" superklassiku Dennetti [https://www.youtube.com/watch?v=fjbWr3ODbAo TED talki] ideed on samamoodi eksootilised, aga vastupidises suunas.


<!--
<!--

Viimane redaktsioon: 28. oktoober 2026, kell 18:06

...ajalugu, suunad, põhialused, tehnoloogia, äri.

IT
IT

Ainekood: ITI0101
Link: http://www.lambda.ee/wiki/Sissejuhatus_infotehnoloogiasse
Link ÕISi https://ois.ttu.ee/aine/iti0101

Õppejõud: Tanel Tammet
Kontakt: tanel.tammet@taltech.ee, ICT 426
olemas on ka 2025 aasta arhiiv kõigi eelmise aasta materjalidega.

NB! Lambda serverarvuti on värskelt parandatud!

Serveri rikkisolek tähendas, et vahel leht avaneb OK, vahel mitte. Kui mitu korda proovida, enamasti korra õnnestus.

Praegu peaks kõik olema korras, aga testime.


Kursuse eesmärk

  • Anda kokkusurutud ülevaade informaatikast tervikuna.
  • Anda ajalooline ülevaade IT teooria, tehnoloogia ja äri arengust.
  • Tutvustada edaspidiseid teemasid/loengukursusi stuudiumi vältel.

Videosalvestused

Loengu ajal on live feed ja video salvestatakse järelvaatamiseks. Põhilink on siin.

Konkreetsete videoalvestuste lingid leiad edaspidi lisaks allpool nädalate loengupresentatsioonide järel.

Maht, aeg, tulemus

Kaks järjestikkust loengut nädalas neljapäeviti kuuenda korpuse auditooriumis U06A-229.

  • Neljapäeval kell 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega.
  • Neljapäeval kell 13:45: nii tavaloengud kui süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Ka siin antakse vahel koduülesandeid.

Reedel, 4. septembril kell 12:15 - 13:45 on eraldi sissejuhatav loeng rühmadele IADB10A, IADB10B ruumis ICO-314: loengu annab Otto Mättas.

Erinevate õppejõudude ja nende ainete tutvustamine on üks kursuse osa. Septembris annavad enamiku loengutest erinevad õppejõud, mitte Tanel. Oktoobris ja edasi annab enamiku loenguid Tanel, külalisõppejõude on veidi harvem.

Kursus lõpeb eksamiga. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet.

Kursuse käigus on iga nädal vaja võrgus täita valikvastustega paarikümne küsimusega mikro-kontrolltöö ühe nädala materjalide kohta, aega selleks on loengujärgse esmaspäeva hommikust järgmise loengupäeva (reede) lõpuni. Koduülesanded ja harjutused - kui neid antakse - on kontrolltöö üheks osaks.

Kursuse hinne arvutatakse nii: eksamipunktid (0...100) + kontrolltööde summaarne tulemus. Positiivsed hinded algavad 50 punktist. Kaks viga kontrolltöös on üks veapunkt, neli kaks veapunkti jne, tegemata kontrolltöö on viis veapunkti. Tudengi kõigi kontrolltööde miinuspunktide summast lahutatakse keskmine kontrolltööde miinuspunktide summa, vahe ongi summaarne tulemus.

Kontrolltööd ja koduülesanded

Siin on nüüd ka IT sissejuhatuse kontrolltööde tulemused september 2026

NB!Serveri vahepealse rikkisoleku tõttu jäävad mõlemad kontrolltööd üles kuni pühapäeva õhtuni (1 november), kaasa arvatud.

Kontrolltöö mõte on iganädalane süvenemine materjalidesse ja (vahel) väikeste harjutuse tegemine, et teemadest OK aru saada.

Kontrolltööd/koduülesanded on lihtsa veebivormi kujul ja ilmuvad siia lõiku tüüpiliselt järgmisel päeval peale loengut (reedel) ja jäävad üles vähemalt järgmise loengupäeva (neljapäev) lõpuni.

Lisaks ülesannetele küsime samal vormil ka küsimusi ja kogemusi, mida järgmises loengus (ja mujal) läbi mõelda ja arvestada.

Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu.

Palun täida korrektselt alguse väljad tudengikood, nimi ja email: nende järgi lähevad tulemused sulle arvesse.

Kontrolltöö salvestamise järel sa ei näe, mis läks õigesti ja mis ei, ega mitu punkti said. Küll aga öeldakse sulle vastuseks, kas salvestamine õnnestus või ei. Kui sa ei näe tulemust "Sinu vastus on salvestatud, aitäh!", siis on sul mõni väli täitmata, võrguühendus katkes vms: sel juhul palun kontrolli vormi sisu ja salvesta uuesti.

Süsteem lubab - tehniliselt - sul salvestada vastuseid mitu korda, aga arvesse läheb ainult esimene.

Vahetulemused pannakse üles ca kord kuus.

Loengute plaan ja materjalid

Kursusel ei ole ühtegi konkreetset õpikut. Järgnevas on toodud iga loenguga seotud materjalid eraldi.

Kursus jaguneb mitmeks blokiks, mis toimuvad kuigivõrd segiläbi:

  • Erinevad IT teemad, millest osa annab Tanel, osad teised õppejõud.
  • Ajaloopõhine tehnoloogiaülevaade: kuidas asjad töötavad, miks ja kuidas on nad selliseks arenenud.

Loengute plaan on esialgne, töö käigus ilmub siia kindlasti muutusi. Seega, täpselt adekvaatsed ja õiged on need materjalid, mille loeng on kas juba läbi või tuleb järgmisena: kõik tuleviku-loenguid puudutavad materjalid on vanad, ning saavad loengu kättejõudmise ajaks mingil määral modifitseeritud ja täiendatud.


1. nädal. Sissejuhatus baasvärkidesse: arvuti ja info. Algoritmid ja keerukus.

3. september.

  • Kell 12:00: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted. Loengu annab Otto Mättas.
Loengumaterjal: itsissejuhatus1a24.pptx, itsissejuhatus1a24.pdf.
  • Kell 13:45: Algoritmid ja keerukus. Ülevaade kursusest. Loengu annab Marko Kääramees.
Loengumaterjal: Algoritmid_2024.pdf.
  • Eksamiks (esialgselt, muutub peale loengut): pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Algoritmid: mis on algoritmide keerukus, mida tähendab suur-O (a la O(n**2)) notatsioon, mis on sorteerimisalgoritmi parim keerukus halvimal juhul, mis on erinevus merge sorti, quick sorti ja selection sorti vahel: algoritmi ja keerukuse mõttes, mis operatsioonid on massiividel kiiremad / aeglasemad kui listil.


Lisaks esimesele loengule:

Täiendavalt algoritmide teemal:

2. nädal:Tehisintellekt: sissejuhatus ja loomulik keel ning keelemudelid

10. september.

  • Kell 12:00: Tehisintellekt üldpildina ehk sissejuhatus. Räägib Tanel Tammet.
Loengumaterjal: ai_sissejuhatus_2026.pdf või ai_sissejuhatus_2026.pptx
  • Eksamiks, esialgselt (muudetakse peale loengut): Mis on tugev (üldine) ja mis nõrk (kitsas) AI. Mis on tehisintellekti talved ja umbes millal olid tehisintellekti populaarsuse tõusud ja langused, ja mis olid eri tõusulainete puhul olulisemad meetodid. Mis on minimax ja alpha-beta meetod, mis on tehis-närvivõrkude põhikomponendid, mida teevad suured keelemudelid. Mis ülesanded robootikas praegu õnnestuvad ja mis mitte. Mis on Turingi test ja AGI. Keelemudelitest: Mis on N-gramm mudelid ja mis numbrilist väärtust nendega arvutatakse? Mis on sõnavektorid? Mis moel genereerib suur keelemudel (LLM) vastust? Mis on zero-shot ja mis on one-shot tüüpi ülesanne LLM jaoks? Kas LLM sisaldab konkreetset teadmiste baasi? Mis on LLM-i peenhäälestamine?


Täiendavalt üldise tehisintellekti teemal:


Täiendavalt loomuliku keele teemal:

3. nädal: Masinõpe ja veebirakendused

17. september

  • Kell 12:00: Evelin Halling räägib masinõppest. Evelin õpetab ka masinõppe kursust.
Loengumaterjal 2025: ML_Introduction_c.pdf
  • Eksamiks esialgselt: Masinõppe peamised tüübid ja nende sobivamad rakendusvaldkonnad. Mida õppimise käigus mudelis muudetakse. Kuidas mudeli andmestikku tüüpiliselt jaotatakse ja mis on peamised tööd andmestikuga. Veebirakendused: mis on veebirakendustes front-end, back-end, mis on GET ja POST vahe, mis on SPA (single page application) ja nö klassikalise veebirakenduse vahe, mis on ja milleks kasutatakse: html, css, javascript, json, "ajax".

Täiendavalt masinõppe teemal:

Veebirakenduste teemal vaata veel:


4. nädal: A.I. assistendid ja andmebaasid

24. september

  • Kell 12:00 Tarmo Koppel räägib LLMi kasutamisest ettevõtetes ja A.I. assistentidest
Loengumaterjal 2025 aastast: Tarmo_koppel.pdf. Loengus tehtud A.I. kasutuse-küsitluse kokkuvõte.
  • Kell 13:45 Erki Eessaar räägib andmebaasidest. Andmed, informatsioon, andmebaas, andmebaasisüsteem, SQL, NoSQL. SQLis (PostgreSQL) väike näide tabelite loomise ning andmete otsimise ja muutmise kohta.
Loengumaterjal 2025 aastast: Andmebaasidest_2026.pdf ja täiendavalt xlsx näitefail 2026 ja sql näitefail 2026


  • Eksamiks: LLMdest: mis on LLMi kontekstiaken? Kui suur ta praegustel tippmudelitel umbes on? Andmebaasid: mis asi on andmebaas, andmebaasisüsteem, SQL, NoSQL. Mis on "imperatiivne" vs "deklaratiivne"?


Proovi järgi andmebaaside teemal; kui keeruline, tee algul läbi walkthrough ja/või w3schools SQL tutorial.

5. nädal. Ajaloo algus ... 1940 ja arvuti riistvara

1. oktoober.

  • Kell 12:00: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
Loengumaterjal: itsissejuhatus1b26.pptx, itsissejuhatus1b26.pdf
  • Kell 13:45: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
Loengumaterjal: riistvara_komponendid.pptx, riistvara_komponendid.pdf.
  • Eksamiks: Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid. Riistvarast: relee, lihtsad elektroonikaskeemid, mitme biti liitja ja lahutaja, lihtsad mälutüübid. Peaksid oskama ehitada väikese loogikavalemi järgi loogikakomponentidest elektroonikaskeemi, mis seda realiseerib, samuti koostada paaribitiste sisendite liitjat/lahutajat, samuti kolme eraldi biti liitjat ja trigerit.

Lisaks esimesele loengule:

Lisaks teisele loengule:

6. nädal: Keskajalugu 1940-1960 ja masinalähedane programmeerimine

8. oktoober

  • Kell 12:00: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
Loengumaterjal: Itsissejuhatus3o.ppt, Itsissejuhatus3o.pdf.
  • Kell 13:45: Masinalähedane programmeerimine: assembler ja C.
NB! Loengu powerpointi algus on hetkel põhiliselt kordamine: tegelik uus osa algab ca lk 21 ja seda kaetakse põhiliselt loengus interaktiivse demona, st materjalis on infot vähe. Väga soovitav on ise lisaks lugeda ja veidi harjutada Easy 6502 pisiõpikuga.
Loengumaterjal: Itsissejuhatus_progealused_20.ppt, Itsissejuhatus_progealused_20.pdf.
  • Eksamiks: transistor, Samuel, Shockley semiconductor, Fortran, Fairchild, Sage, Texas instruments, integraalskeem, cobol, lisp, pdp-1, system 360, moore's law, intel, amd, Engelbart, Unix, esimene mikroprotsessor. Riistvarast mälu tehnoloogia, cache ja mälu hierarhia, mis on assembler ja seos riistvaraga, mis on kompileerimine, linkimine, mis teeb loader.

Lisaks esimesele loengule:


Lisaks teisele loengule:

7. nädal: Keskajalugu 1970 ... 1990 ja andmetüübid masinalähedaselt

15. oktoober

  • Kell 12:00: Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
Loengumaterjal: Itsissejuhatus4o.ppt, Itsissejuhatus4o.pdf.
  • Kell 13:45: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.
Loengumaterjal: itsissejuhatus6b.ppt, itsissejuhatus6b.pdf
  • Eksamiks: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Lihtsad andmetüübid (täisarvud, ujukoma-arvud, üksiktähed, tõeväärtused), stringid, massiivid, puud, mis on pointer.

Lisaks esimesele loengule:

Lisaks andmete esitusest:


8. nädal: Interneti funktsioneerimine ja lähiajalugu 1990-2009

22. oktoober

  • Kell 12:00: Interneti funktsioneerimine: loengu annab Ivo Müürsepp.
Loengumaterjal: ITI0101_Arvutivorgud_sissejuhatus_S25s.pdf
  • Kell 13:45: lähiajalugu: kaheksakümnendate teine pool kuni 2009. IBM PC, Macintosh, uued vanad opsüsteemid, võrgundus ja veeb, market crash, iPhone, Android, Bitcoin, e-valimised.
Loengumaterjal a osa:Itsissejuhatus5oa.ppt, Itsissejuhatus5oa.pdf.
Loengumaterjal b osa:Itsissejuhatus5ob.ppt, Itsissejuhatus5ob.pdf.
Loengumaterjal c osa:Itsissejuhatus5oc1.ppt, Itsissejuhatus5oc1.pdf.
  • Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis mille sees). Päiste detailide kohta ei küsita.


Tutvuda lühidalt interneti funktsioneerimise teemal:

9. nädal: tekstitöötlus ja tabelarvutus

29. oktoober

Kummagi loengu annab Ivari Horm

  • Kell 12:00: tekstitöötlus:
  • Kell 13:45: tabelarvutus:

NB! Siit edasi läheb loengute järjekord muutmisele

6. nädal: lähiajalugu 1990-2009 ja andmetüübid masinalähedaselt

9. oktoober

  • Kell 12:15: lähiajalugu: kaheksakümnendate teine pool kuni 2009. IBM PC, Macintosh, uued vanad opsüsteemid, võrgundus ja veeb, market crash, iPhone, Android, Bitcoin, e-valimised.
Loengumaterjal a osa:Itsissejuhatus5oa.ppt, Itsissejuhatus5oa.pdf.
Loengumaterjal b osa:Itsissejuhatus5ob.ppt, Itsissejuhatus5ob.pdf.
Loengumaterjal c osa:Itsissejuhatus5oc1.ppt, Itsissejuhatus5oc1.pdf.
  • Kell 14:00: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.
Loengumaterjal: itsissejuhatus6b.ppt, itsissejuhatus6b.pdf
  • Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Lihtsad andmetüübid (täisarvud, ujukoma-arvud, üksiktähed, tõeväärtused), stringid, massiivid, puud, mis on pointer.

Lisaks andmete esitusest:

Muud huvitavat:

7. nädal: programmeerimiskeeled ja opsüsteemid

16. oktoober

  • Kell 12:15: Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
Loengumaterjal: itsissejuhatus_keeled.ppt, itsissejuhatus_keeled.pdf,
  • Kell 14:00: opsüsteemid
Loengumaterjal: Itsissejuhatus_opsyst.ppt, Itsissejuhatus_opsyst.pdf.
  • loenguvideo. NB! Episoodides, kus käsureal on näha pikemad numbrid või ajamõõdud millisekundi täpsusega, ütleb õppejõud pidevalt numbreid valesti, samuti teeb vea java näiteid käivitades (seega java timingud täiesti valed): põhjuseks külmetus ja tugev nohu :) . Soovitus ise vaadata numbreid ja leida, kus õppejõud jälle midagi valesti ütles :)


  • Eksamiks: Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python). Opsüsteemi roll, mis on distro, mis on Linux, mis on mac OS X, Android, protsessid, multitasking, paralleeltöö, wait/run, mis on interrupt, mis on virtuaalmälu.

Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:

Lisaks ajaloost:

Tillukeste interpretaatorite ja kompilaatorite koodinäited:

Tutvu veidi nende progekeelte populaarsus-võrdlustega:

Siis vaata veidi neid asju:

Soovitavat katsetamist opsüsteemidega:

Eriti soovitavat lugemist opsüsteemidest:

Muidu soovitavat lugemist opsüsteemidest:

Muud huvitavat masintest, optimeerimisest ja progekeeltest, mitte niivõrd opsüsteemidest:

8. nädal: Robootika ja veebirakendused

23. oktoober


Veebirakenduste teemal vaata veel:


9. nädal: Tarkvara arhitektuur ja algoritmid

30. oktoober

  • Kell 12:15: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
Loengumaterjal: Itsissejuhatus9a21.ppt, Itsissejuhatus9a21.pdf.
  • Kell 14:00: Algoritmid ja keerukus. Ülevaade kursusest. Loengu annab Marko Kääramees.
Loengumaterjal: Algoritmid_2024.pdf.
  • Eksamiks: Tarkvara arhitektuur: kohustuslik lugemine siin all, mis on teek ja mis raamistik, nende näited, arusaamine põhilistest litsentsitüüpidest (vabavaralised (gpl vs mit ja bsd) ja mitte-vabavaralised), gpl-i põhipoindid. Algoritmid: mis on algoritmide keerukus, mida tähendab suur-O (a la O(n**2)) notatsioon, mis on sorteerimisalgoritmi parim keerukus halvimal juhul, mis on erinevus merge sorti, quick sorti ja selection sorti vahel: algoritmi ja keerukuse mõttes, mis operatsioonid on massiividel kiiremad / aeglasemad kui listil.

Kohustuslikku lugemist arhitektuuri teemal eksamiks:

Lisaks mittekohustuslikku, aga eriti soovitavat lugemist arhitektuurist, tähtsuse järjekorras:

Lisaks: täiesti mittekohustuslikke ideid lugemiseks:


Täiendavalt algoritmide teemal:

10. nädal: rekursioon, rekursiivsed keeled, algoritmid ja lahenduvus

6. november

  • Kell 12:15: Rekursioon, funktsionaal- ja loogiline progemine.
Loengumaterjal: Itsissejuhatus11.ppt, Itsissejuhatus11.pdf
  • Kell 14:00: Algoritmid: lahenduvus.
Loengumaterjal: Itsissejuhatus13a.ppt, Itsissejuhatus13a.pdf.
  • Eksamiks: Rekursiooni äratundmine, baasjuht ja rekursiivne juht, rekursiooni ekvivalentsus tsükliga, arusaamine funktsionaalse keele näitejuppidest loengus: mida mingi näitekood teeb / mis on rehkendamise tulemus. Mis on lambda-arvutus, näidete rehkendamise tulemused. Prologi ja lambda-arvutuse näited tuleb ära tunda ja näidete puhul aru saada, mis nende rehkendamise tulemus on. Lahenduvus teoreetilises ja tavamõttes, mis on lahenduvad ülesanded. Positiivsete täisarvude, positiivsete/negatiivsete ja murdarvude võimsuse võrdlemine ja tõestamine. Reaalarvude suurem võimsus kui täisarvude võimsus (Cantori teoreem): tõestuse idee. Mis on peatumisprobleem, selle lahendamatuse tõestuse idee.


Lisaks proovi ja loe veidi rekursiooni teemadel:

Vaata ja proovi näiteid modifitseerida:
Huvi korral katseta

Vaata lisaks lahenduvuse teemal:

11. nädal: Tehisintellekt: sissejuhatus ja ajuteadus

13. november

  • Kell 12:15: Tehisintellekt üldpildina ehk sissejuhatus.
Loengumaterjal: ai_sissejuhatus_2025.pdf või ai_sissejuhatus_2025.pptx
  • Kell 14:00: Ajuteadus: ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
Loengumaterjal: Brain_science.pdf.
  • Eksamiks: Mis on tugev (üldine) ja mis nõrk (kitsas) AI. Mis on tehisintellekti talved ja umbes millal olid tehisintellekti populaarsuse tõusud ja langused, ja mis olid eri tõusulainete puhul olulisemad meetodid. Mis on minimax ja alpha-beta meetod, mis on tehis-närvivõrkude põhikomponendid, mida teevad suured keelemudelid. Mis ülesanded robootikas praegu õnnestuvad ja mis mitte. Mis on Turingi test ja AGI. Ajuteaduse kohta: mis on neuroni põhiosad, mis mehhanismidega neuronid omavahel suhtlevad. Mis on sotsiobioloogia ja evolutsioonipsühholoogia.

Täiendavalt tehisintellekti teemal:

Täiendavalt ajuteaduse teemal:


12. nädal: Kvantarvutite algoritmid

20. november

  • Eksamil kvantarvutite algoritmide küsimusi ei tule.

Taustaks soovitav:

13. nädal: Teoreetiline arvutiteadus ja masinõpe

27. november

  • Kell 12:15: Pawel Sobocinski räägib teoreetilisest arvutiteadusest (inglise keeles).
Loengumaterjal: Logic2025bis.pdf
  • Kell 14:00: Evelin Halling räägib masinõppest. Evelin õpetab ka masinõppe kursust.
Loengumaterjal: ML_Introduction_c.pdf
  • Eksamiks on küsimused ainult masinõppe teema (kell 14:00 loeng siin ülal) kohta. Masinõppe peamised tüübid ja nende sobivamad rakendusvaldkonnad. Mida õppimise käigus mudelis muudetakse. Kuidas mudeli andmestikku tüüpiliselt jaotatakse ja mis on peamised tööd andmestikuga.

Täiendavalt:



14. nädal: AI assistendid ja tarkvara arendusprotsess

4. detsember

  • Kell 12:15: Tarmo Koppel räägib LLMi põhistest ai assistentidest ja annab koduülesande: google ai studio build apps with gemini.
Loengumaterjal: Tarmo_koppel.pdf
Google AI studioga rakenduse ehitamise juhend: GoogleAIstudioBuildApps.docx või sama GoogleAIstudioBuildApps.pdf variant.
  • Kell 14:00: Uku (endine Wise, praegune https://handhold.io/) räägib tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal.
Loengumaterjal: Uku_taltech_2025.pdf
  • Eksamiks: LLMdest: mis on LLMi kontekstiaken? Ettevõtetest: mis on tootefirma / traditsioonilise "agency" põhierinevused. Mida tähendab data-driven tootearendus. Mis on selles kontekstis MVP ja mis on PMF?


Lisaks projektidest:


15. nädal: Loomulik keel, keelemudelid, veel IT ärist/projektidest ja konsultatsioon eksamiks

11. detsember

  • Kell 14:00:Tanel Alumäe räägib loomuliku keele tehnoloogiast ja suurtest keelemudelitest: LLM, GPT ja muu cutting edge värk. Loengumaterjal 2024 aastast: Keelemudelid.pdf
  • Eksamiks: Projektidest: projekti jaotus etappideks, kosemudel vs agiilne arendus. Keelemudelitest: Mis on N-gramm mudelid ja mis numbrilist väärtust nendega arvutatakse? Mis on sõnavektorid? Mis moel genereerib suur keelemudel (LLM) vastust? Mis on zero-shot ja mis on one-shot tüüpi ülesanne LLM jaoks? Kas LLM sisaldab konkreetset teadmiste baasi? Mis on LLM-i peenhäälestamine?

Täiendavalt loomuliku keele teemal:


Lisaks projektidest:

16. nädal: Küberkaitse ja andmeteadus

18. detsember


Näiteid vanadest eksamitest

Siin on näited väga ammu tehtud eksamitest. Tegelikud eksamiküsimused tulevad teistsugused, formaat on sama.

Kohustuslikud lugemismaterjalid

Järgnevate materjalide läbilugemine on kursuse läbimisel kohustuslik ja nende kohta tuleb eksamil lugemiskontrolli-küsimusi:


Loe iga päev

Kuula

Mh vaata läbi varasemate episoodide loetelu ja kuula, kui tundub põnev:

Tehnilisemate podcastide osas on väga head (jällegi, vaata varasemaid episoode läbi ja vali) näiteks:

Mõned väga head valikepisoodid teistest podcastidest:

  • Jonathan Webber on deceiving with words episood. Väga lühike, algab justkui triviaalselt, aga varsti enam nii mitte väga.
  • Andy Clarki episood (predictive brain, embodied cognition, and the extended mind) täisvariant Sam Harrise podcastist. Kui ei tööta, siis üldlink lühendatud versioonile siin.
  • Donald Hoffman: The Illusion of Reality. Eriti radikaalse ja eksootilise, samas populaarse teadvuseteooria näide. Hoffmanni lühem ja fokuseeritud esitus on see TED talk. Vbl alusta viimasega. Vahepeal viidatud "illusionisti" superklassiku Dennetti TED talki ideed on samamoodi eksootilised, aga vastupidises suunas.