Sissejuhatus infotehnoloogiasse: erinevus redaktsioonide vahel
| (ei näidata 3 kasutaja 510 vahepealset redaktsiooni) | |||
| 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@ | Kontakt: tanel.tammet@taltech.ee, ICT 426<br> | ||
olemas on ka [[iti0101 | 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. | |||
Praegu peaks kõik olema korras, aga testime. | |||
<!-- | |||
== <font color="red">NB!</font> Palun registreeru praegu! == | |||
Palve kõigile tudengitele: registreeruge palun selle nädala loengusse siit lingilt: | |||
https://fienta.com/et/tallinn-tehisaru-tootuba-tehisintellektist-ja-suurtest-keelemudelitest | |||
Registreerumise mõte: ülikool on eesti.ai-ga kokku leppinud, et me registreerime taolisi avalikult ligipääsetavate AI-loengute/seminaride osalemisi. | |||
Oktoobris teeme järgmise jne. Loengu enda jaoks pole registreerumisi vaja, tegu siis puhtalt ülikooli ja eesti.ai kokkuleppega. | |||
--> | |||
== Kursuse eesmärk == | == Kursuse eesmärk == | ||
| 25. rida: | 42. rida: | ||
* Tutvustada edaspidiseid teemasid/loengukursusi stuudiumi vältel. | * Tutvustada edaspidiseid teemasid/loengukursusi stuudiumi vältel. | ||
== Videosalvestused == | == Videosalvestused == | ||
Loengu ajal on live feed ja video salvestatakse järelvaatamiseks. | 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]. | ||
Konkreetsete videoalvestuste lingid leiad edaspidi lisaks allpool nädalate loengupresentatsioonide järel. | |||
== Maht, aeg, tulemus == | == Maht, aeg, tulemus == | ||
| 41. rida: | 52. rida: | ||
Kaks järjestikkust loengut nädalas neljapäeviti kuuenda korpuse auditooriumis U06A-229. | 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 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega. | ||
* Neljapäeval kell 13:45: süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest | * 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. | Kursus lõpeb eksamiga. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet. | ||
| 57. rida: | 69. rida: | ||
== Kontrolltööd ja koduülesanded == | == Kontrolltööd ja koduülesanded == | ||
[http://turing.cs.ttu.ee/~tanel.tammet/cgi-bin/ | Siin on nüüd ka [[IT sissejuhatuse kontrolltööde tulemused september 2026]] | ||
* [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]. | |||
<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. | |||
<!-- | |||
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> | |||
Kontrolltöö kaks C näiteprogrammi on siin. | |||
Esimene: | |||
<pre> | |||
int square(int num) { | |||
return num * num; | |||
} | |||
</pre> | |||
Teine: | |||
<pre> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
int main(int argc, char **argv) { | |||
int n; | |||
int i,sum=0; | |||
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> | |||
--> | |||
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. | Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu. | ||
Palun täida korrektselt alguse väljad | 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 | 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 | õ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. | ||
kontrolli vormi sisu ja salvesta uuesti. | |||
Süsteem lubab - tehniliselt - sul salvestada vastuseid mitu korda, aga arvesse läheb ainult esimene. | Süsteem lubab - tehniliselt - sul salvestada vastuseid mitu korda, aga arvesse läheb ainult esimene. | ||
Vahetulemused pannakse üles ca kord kuus. | Vahetulemused pannakse üles ca kord kuus. | ||
| 83. rida: | 147. rida: | ||
* Erinevad IT teemad, millest osa annab Tanel, osad teised õppejõud. | * Erinevad IT teemad, millest osa annab Tanel, osad teised õppejõud. | ||
* Ajaloopõhine tehnoloogiaülevaade: miks ja kuidas on | * 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. | 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 [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]]. | |||
<!-- | <!-- | ||
* Kell 14:00: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid. | |||
:Loengumaterjal: [[Media:itsissejuhatus1b24.pptx|itsissejuhatus1b24.pptx]], [[Media:itsissejuhatus1b24.pdf|itsissejuhatus1b24.pdf]] | |||
--> | |||
* [https://echo360.org.uk/media/a8019ef7-cbd7-4ec1-8003-6453d1e7883e/public Loenguvideo] | |||
* 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: | |||
:* katseta [https://math.hws.edu/eck/js/datareps/xDataReps.html datareps] lehel erinevaid esitusi, püüa neist aru saada ja guugelda vajadusel juurde | |||
:* 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] | |||
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] | |||
* 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]] | |||
* [https://echo360.org.uk/media/8133788c-c6a7-44a5-8c96-c72e77d97e6b/public Loenguvideo] | |||
* 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: | |||
-- | * [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] | |||
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] | |||
=== 3. nädal: Masinõpe ja veebirakendused === | |||
17. september | |||
* [https:// | * 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]] | |||
* | * 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]], --> | ||
* [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". | |||
Täiendavalt masinõppe teemal: | |||
:* 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. | :* 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] | :* [https://aegeorge42.github.io/ Neural networks from scratch] | ||
:* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris] | :* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris] | ||
:* [https:// | :* Eelmisest inspireeritud [https://playground.tensorflow.org/ modernsem jätk] ja [https://deeperplayground.org/ selle jätk]. | ||
:* [https:// | Veebirakenduste teemal vaata veel: | ||
:* [ | |||
:* 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] | |||
=== 4. nädal: A.I. assistendid ja andmebaasid === | |||
24. september | |||
* Kell | * Kell 12:00 [https://koppel.ee Tarmo Koppel] räägib LLMi kasutamisest ettevõtetes ja A.I. assistentidest | ||
: | : 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]]. | ||
<!-- | |||
: Google AI studioga rakenduse ehitamise juhend: [[Media:GoogleAIstudioBuildApps.docx|GoogleAIstudioBuildApps.docx]] või sama [[Media:GoogleAIstudioBuildApps.pdf|GoogleAIstudioBuildApps.pdf]] variant. | |||
--> | |||
* | * 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. | ||
: 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 | 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. | ||
:* 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] | :* 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] | ||
:* Alustada: [[Media:loogikasissejuhatus_raamat.html|Loogika aine ja ajalugu]] | :* Alustada: [[Media:loogikasissejuhatus_raamat.html|Loogika aine ja ajalugu]] | ||
| 218. 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. | ||
=== | Lisaks teisele loengule: | ||
:* [https://nandgame.com/ nandgame] | |||
* | :* Kuula [https://lexfridman.com/jim-keller/ Jim Kelleri episoodi "Moore's Law, Microprocessors, Abstractions, and First Principles"] | ||
:* [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] | |||
:* 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]. | |||
:* 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] | |||
:* 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] | |||
:** 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://www.lighterra.com/papers/modernmicroprocessors/ Optimeeringud tegelikes protsessorites] | |||
:* Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist: | |||
:** [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: | |||
:** [https://math.hws.edu/eck/js/xComputer/xComputer.html Ecki xComputer]: lihtne simulaator 6502 stiilis | |||
:**[http://skilldrick.github.io/easy6502/ easy6502.org]: päris täpne 6502 simulaator | |||
:**[http://www.visual6502.org/ visual6502.org] vt ka [http://www.visual6502.org/docs/6502_in_action_14_web.pdf slaidid] | |||
:**[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://jaycarlson.net/microcontrollers/ mikrokontrollerite ülevaade] detailidega | |||
:** [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] SOC | |||
=== 6. nädal: Keskajalugu 1940-1960 ja masinalähedane programmeerimine === | |||
8. oktoober | |||
* Kell 12: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid. | * 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]]. | :Loengumaterjal: [[Media:Itsissejuhatus3o.ppt|Itsissejuhatus3o.ppt]], [[Media:Itsissejuhatus3o.pdf|Itsissejuhatus3o.pdf]]. | ||
* Kell 13:45: | * Kell 13:45: Masinalähedane programmeerimine: assembler ja C. | ||
:Loengumaterjal: [[Media: | :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/ | * [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. | * 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 esimesele loengule: | ||
| 245. rida: | 351. rida: | ||
:* [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] | :* [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://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=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"] | :* [https://www.youtube.com/watch?v=yJDv-zdhzMY Douglas Engelbart "mother of all demos"] | ||
| 251. rida: | 357. rida: | ||
:* [http://en.wikipedia.org/wiki/Counterculture_of_the_1960s Counterculture] | :* [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] | :* [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] | :* 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 === | |||
15. oktoober | |||
* | * 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]]. | |||
* Kell 13:45: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne. | |||
: 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. | * 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: | ||
| 305. 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. | :* [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] | ||
| 315. rida: | 398. rida: | ||
:* [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 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://float.exposed/0x44bf9400 ujukoma-arvude esituse katsetamine/visualiseering] | |||
:* [http://beza1e1.tuxen.de/strings.html how to implement strings] | |||
:* ja kuidas python [https://rushter.com/blog/python-strings-and-memory/ stringe optimeerib] | |||
:* [http://www.laurentluce.com/posts/python-list-implementation/ pythoni listid sisemiselt] | |||
:* kataloog [https://treevis.net/ puude visualiseerimise viisidest] | |||
:* hulk eri andmetüüpide [https://www.cs.usfca.edu/~galles/visualization/Algorithms.html visualiseeringuid] | |||
=== 8. nädal: Interneti funktsioneerimine ja lähiajalugu 1990-2009 === | |||
22. oktoober | |||
* Kell 12:00: Interneti funktsioneerimine: loengu annab Ivo Müürsepp. | |||
:Loengumaterjal: [[Media:ITI0101_Arvutivorgud_sissejuhatus_S25s.pdf|ITI0101_Arvutivorgud_sissejuhatus_S25s.pdf]] | |||
* Kell | * 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]]. | ||
* | * 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: | |||
:* [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 === | |||
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: [ | :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]]. | |||
* | |||
* Kell 14:00: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne. | |||
: Loengumaterjal: [[Media:itsissejuhatus6b.ppt|itsissejuhatus6b.ppt]], [[Media:itsissejuhatus6b.pdf|itsissejuhatus6b.pdf]] | |||
* [https://echo360.org.uk/media/35cb9fd0-6bea-451c-ac93-d0b55316018f/public loenguvideo]. | |||
* 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: | 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] | ||
| 377. rida: | 480. 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 | :* 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]]. | |||
* | * [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. | ||
* | 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] | |||
Lisaks ajaloost: | |||
:* [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]] | |||
Tillukeste interpretaatorite ja kompilaatorite koodinäited: | Tillukeste interpretaatorite ja kompilaatorite koodinäited: | ||
| 417. rida: | 539. 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] | ||
Soovitavat katsetamist opsüsteemidega: | Soovitavat katsetamist opsüsteemidega: | ||
:* [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://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] | :* Linux windowsis - [https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux WSL] - [https://docs.microsoft.com/en-us/windows/wsl/ Microsofti õpetus] | ||
| 439. rida: | 551. rida: | ||
:* päris hea [https://www.tutorialspoint.com/operating_system/index.htm opsüsteemide ehituse pisi-tutorial] | :* 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] | :* 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.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:// | |||
:* [http://www.levenez.com/unix/ Unix history] | :* [http://www.levenez.com/unix/ Unix history] | ||
:* [http://en.wikipedia.org/wiki/Virtual_memory virtuaalmälu vikipeedias] | :* [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] | :* [http://en.wikipedia.org/wiki/Computer_multitasking multitasking vikipeedias] | ||
:* [https://landley.net/writing/memory-faq.txt Väga detailne ülevaade mälu organiseerimisest] | :* [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://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] | :* [https://people.eecs.berkeley.edu/~brewer/cs262/UNIX-annotated.pdf Unixi autorite väike varane ülevaade põhi-ideedest] | ||
Muud huvitavat: | Muud huvitavat masintest, optimeerimisest ja progekeeltest, mitte niivõrd opsüsteemidest: | ||
:* [https:// | |||
:* [https://jmmv.dev/2023/06/fast-machines-slow-machines.html fast machines slow machines] | |||
:* [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] | ||
=== | === 8. nädal: Robootika ja veebirakendused === | ||
23. oktoober | |||
* Kell 12: | * 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 | * 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] | |||
Veebirakenduste teemal vaata veel: | Veebirakenduste teemal vaata veel: | ||
| 476. rida: | 590. rida: | ||
:* [[lihtsaid cgi programminäiteid]] ja [http://lambda.ee/wiki/Cgi_examples lisaks funktsioneerivate näidetena] | :* [[lihtsaid cgi programminäiteid]] ja [http://lambda.ee/wiki/Cgi_examples lisaks funktsioneerivate näidetena] | ||
<!-- | |||
* Eksamiks esialgselt: Robotitest: tüüpilised andurid, tagasisidega ja ilma selleta juhtimine, miks on robotniidukid, aga mitte robotnõudekoristajad? | |||
--> | |||
<!-- | |||
* Kell 12:15: sisu ilmub edaspidi. Võimalik variant: [[Media:arvutivorgud_ivo_2024.pdf|arvutivorgud_ivo_2024.pdf]]: see on 2024 aasta Ivo materjal. | |||
* 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]] | |||
* 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. | |||
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]] | |||
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. | |||
--> | |||
=== | === 9. nädal: Tarkvara arhitektuur ja algoritmid === | ||
30. oktoober | |||
* Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms. | * Kell 12:15: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms. | ||
:Loengumaterjal: [[Media:Itsissejuhatus9a21.ppt|Itsissejuhatus9a21.ppt]], [[Media:Itsissejuhatus9a21.pdf|Itsissejuhatus9a21.pdf]]. | :Loengumaterjal: [[Media:Itsissejuhatus9a21.ppt|Itsissejuhatus9a21.ppt]], [[Media:Itsissejuhatus9a21.pdf|Itsissejuhatus9a21.pdf]]. | ||
* Kell | * Kell 14:00: Algoritmid ja keerukus. Ülevaade kursusest. Loengu annab [https://taltech.ee/kontaktid/tarkvarateaduse-instituut/marko-kaaramees Marko Kääramees]. | ||
:Loengumaterjal: [[Media: | :Loengumaterjal: [[Media:Algoritmid_2024.pdf|Algoritmid_2024.pdf]]. | ||
* [https://echo360.org.uk/media/ | * [https://echo360.org.uk/media/3d141fd4-f2a7-4867-8b99-5b18eba22837/public Loenguvideo] | ||
* 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. | |||
* Eksamiks: | |||
Kohustuslikku lugemist arhitektuuri teemal eksamiks: | Kohustuslikku lugemist arhitektuuri teemal eksamiks: | ||
| 502. rida: | 636. rida: | ||
:* 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] | :* 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] | ||
:* [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 arhitektuurist, tähtsuse järjekorras: | Lisaks mittekohustuslikku, aga eriti soovitavat lugemist arhitektuurist, tähtsuse järjekorras: | ||
| 523. rida: | 650. rida: | ||
:* [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] | ||
* | 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]]. | ||
: | |||
* [https://echo360.org.uk/media/211c72e8-91cd-4871-8658-bb8ca8ed24f0/public Loenguvideo] | |||
* 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: | 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://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] | ||
:* 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]. | :* 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]. | ||
| 581. rida: | 688. rida: | ||
:* [https://dtai.cs.kuleuven.be/problog/tutorial.html Prolog tõenäosustega] | :* [https://dtai.cs.kuleuven.be/problog/tutorial.html Prolog tõenäosustega] | ||
=== | Vaata lisaks lahenduvuse teemal: | ||
:* [https://en.wikipedia.org/wiki/Cardinality Kardinaal] | |||
:* [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] koos õppejõu [[Media:Jarelsona_godel.pdf|järelsõnaga]] täiendavate seostega nii lõpmatuse kui mittelahenduvusega. | |||
=== 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]]. | |||
* [https://echo360.org.uk/media/ef0bdf37-4d37-466e-8066-f4a03217b9c9/public Loenguvideo] | |||
* 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: | ||
* [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] | |||
Täiendavalt ajuteaduse teemal: | |||
* [https:// | :* 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] | |||
<!-- Teoreetiline arvutiteadus. | |||
:[[Media:pawel_logic.pdf|Loengumaterjal 2023 aastast]] | |||
--> | |||
=== 12. nädal: Kvantarvutite algoritmid === | |||
20. november | |||
* | * 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. | ||
* | * 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. | ||
* [[Media:DirkGrover.pdf|Loengumaterjal ehk presentatsioon]] | |||
* [https:// | * [https://echo360.org.uk/media/a2c280c4-b5d6-415a-8091-e63f61d70783/public Loenguvideo] | ||
* | * Eksamil kvantarvutite algoritmide küsimusi ei tule. | ||
Taustaks soovitav: | |||
* [https://en.wikipedia.org/wiki/Quantum_computing Wikipedia leht] | |||
* 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. | |||
* 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. | |||
* | * Scott Aaronsoni [https://scottaaronson.blog/ blogi] | ||
=== 13. nädal: Teoreetiline arvutiteadus ja masinõpe === | |||
27. november | |||
* | * Kell 12:15: [https://www.ioc.ee/~pawel/ Pawel Sobocinski] räägib teoreetilisest arvutiteadusest (inglise keeles). | ||
: Loengumaterjal: [[Media:Logic2025bis.pdf|Logic2025bis.pdf]] | |||
* Kell 14:00: [https://healthandfood.taltech.ee/liige/evelin-halling/ Evelin Halling] räägib masinõppest. Evelin õpetab ka masinõppe kursust. | |||
: Loengumaterjal: [[Media:ML_Introduction_c.pdf|ML_Introduction_c.pdf]] | |||
* | * [https://echo360.org.uk/media/a2a1471a-60c6-40ce-b936-2e9e782d4744/public Loenguvideo] | ||
* | * 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: | |||
* | :* 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]. | |||
<!-- | <!-- | ||
* | * 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? | ||
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] | |||
--> | --> | ||
=== 14. nädal: AI assistendid ja tarkvara arendusprotsess === | |||
4. detsember | |||
* | * 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]] | |||
--> | --> | ||
* 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]] | |||
* [https://echo360.org.uk/media/b76c8706-3e63-4d36-a0a5-300deda5a36a/public Loenguvideo] | |||
* 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: | |||
:* [https:// | |||
:* | :*[[Media:plokiahel_tt.pdf|detailsem plokiahela ülevaade]] | ||
:*[[Kriitiline taust blockchaini mõistmiseks]] | |||
:* 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] | |||
--> | --> | ||
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 | :* [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:// | :* [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?] | ||
| 673. rida: | 841. 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] | ||
--> | --> | ||
<!-- | |||
* Kell 14:00: Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest. | |||
* Kell | |||
:Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]]. | :Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]]. | ||
Täiendavalt hajussüsteemidest: vaata [http://lambda.ee/wiki/Hajuss%C3%BCsteemid seda kursust]. | |||
--> | |||
<!-- | |||
Täiendavalt plokiahelatest: | |||
* | :*[[Media:plokiahel_tt.pdf|detailsem plokiahela ülevaade]] | ||
:*[[Kriitiline taust blockchaini mõistmiseks]] | |||
:* 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] | |||
Täiendavalt ajuteaduse teemal: | Täiendavalt ajuteaduse teemal: | ||
| 694. rida: | 868. rida: | ||
:* [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] | :* [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. | :* Klassikaline podcastisari [https://brainsciencepodcast.com/ Brain Science] on samuti päris hea. | ||
--> | |||
=== 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 | * 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] | ||
* [https:// | * 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: | |||
* [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] | |||
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] | |||
<!-- | |||
:** [https://zwischenzugs.com/2017/10/15/my-20-year-experience-of-software-development-methodologies/ 20 aastat kogemust tarkvara arendusmeetoditega] | |||
--> | |||
=== 16. nädal: Küberkaitse ja andmeteadus === | |||
18. detsember | |||
* Kell 12:15. [https://et.wikipedia.org/wiki/Rain_Ottis Rain Ottis] räägib küberkaitsest. [[Media:rain_kyberkaitsest.pdf|Loengumaterjal 2023 aastast]] | |||
* 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] | |||
: | <!-- | ||
* 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]] | |||
: | --> | ||
<!-- | |||
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? | |||
--> | |||
== Näiteid vanadest eksamitest == | == Näiteid vanadest eksamitest == | ||
| 740. rida: | 949. 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] | ||
| 776. rida: | 987. 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: | ||
* Ü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]. | * Ü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]. | ||
* Kvantfüüsiku [https://www.preposterousuniverse.com/podcast/ Mindscape podcasti] valitud osi. | * 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: | 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://braininspired.co Brain Inspired]: päris neuroteaduse podcast, <i>kerge</i> fookusega seostele AI-ga | ||
* [https://thegradientpub.substack.com/s/podcast The Gradient]: hea üldisem AI podcast, samas päris deep | * [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 väga head valikepisoodid teistest podcastidest: | Mõned väga head valikepisoodid teistest podcastidest: | ||
* [https://philosophybites.com/ | * [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://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 08:45
...ajalugu, suunad, põhialused, tehnoloogia, äri.
![]() |
Ainekood: ITI0101 Õppejõud: Tanel Tammet |
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:
- katseta datareps lehel erinevaid esitusi, püüa neist aru saada ja guugelda vajadusel juurde
- vaata korra ascii tabelit
- uuri veidi kooditabeleid unicode veebisaidil
- loe läbi mõni nendest Paul Grahami (Y combinatori asutaja) esseedest: Why nerds are unpopular?, The lesson to unlearn, How to think for yourself.
- valdkonnad
Täiendavalt algoritmide teemal:
- sorteerimisalgoritmide visualiseeringud siin ja siin
- Eriliselt tore ja ilus visualiseeringutega jutt mitmete algoritmidega
- Väga paljude algoritmide ja andmestruktuuride visualiseeringud
- Suur O wikipedias ja lihtne cheatsheet
- Travelling salesman problem, lahenduse 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: ai_sissejuhatus_2026.pdf või ai_sissejuhatus_2026.pptx
- Kell 13:45:Tanel Alumäe räägib loomuliku keele tehnoloogiast ja suurtest keelemudelitest: Keelemudelid_2026.pdf
- 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:
- Elements of AI
- Masinõpe vikipeedias
- Hiina tuba ehk AI filosoofia tuntuim mõtteharjutus.
- õppejõu õppe-veebisüsteem klassikalise symbolic AI loogikafookusega osa jaoks
- Deep learning otse brauseris
- Häid kirjutisi: arusaamisest, progemise keskklassi kadu ja selle arutelu, mis on progemise keerukad osad
- AI inimhävitamisvõimaluste taksonoomia
- Rodney Brooksi jutt humanoidrobotitest ja robotkätestja ennustused
- Olulised podcastid: Lex Fridman, Sam Harris, Sean Carroll, Dwarkesh Patel, mlst, latent space
- Francois Chollet (kuula podcastiepisoodi) ja ARC-AGI teema. Mh katseta ise lahendada ja oe ARCi lehelt blogi ja vaata kolmanda ARCi põlvkonna demo.
- AI inimhävitamisvõimaluste taksonoomia, v2.pdf, v2.pptx
Täiendavalt loomuliku keele teemal:
- Speech and Language Processing: tõenäoliselt parim õpik loomuliku keele töötluse teemal (vabalt veebist loetav).
- arusaamise alguseks: embeddingud
- kuidas llmid töötavad
- LLMi ise-ehitamise jaoks on tõenäoliselt parimad Andrey Karpathy õppevideod koos nullist tausta ja kogu vajaliku pythoni koodiga: nanochat ja vanem nanogpt ja veel niisama: microgpt
- kuidas claude code on ehitatud
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
- Kell 13:45. Martin Verrev teeb loengu veebirakenduste ehitamisest. Martin on sellel teemal pikemalt õpetanud tervet kursust. Martini slaidid on siin: https://tinyurl.com/ITI01012603
- 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:
- https://aidoc.pages.taltech.ee/
- Elements of AI eestikeelsed masinõppe ja närvivõrkude blokid.
- Neural networks from scratch
- Deep learning otse brauseris
- Eelmisest inspireeritud modernsem jätk ja selle jätk.
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.
- SQL murder mystery
- endale installeerimiseks ja katsetamiseks: 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: 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:
- lausearvutuse sissejuhatus ja veidi keerulisem variant
- Kruusi diskreetse matemaatika kursus!
- Paul Graham: What you'll wish you'd known
- Sama asi diskreetse matemaatika kursuses: harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid (1, 2, 3) tee ülesandeid ise juurde ja kasuta 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.
- Vaata veidi ühte Turingi masina videot ja siis katseta:Turingi masina simulaator ja alternatiivne simulaator
- Alustada: Loogika aine ja ajalugu
- lõpmatuse osa BBC dokumentaalsarjast
- Varastest masinatest:
- Jacquard'i kangasteljed
- QWERTY klaviatuuri päritolust ja teistsugune arvamus ja mõne eritähe ajalugu
- Näide olulisest analoogarvutist: Norden bombsight
- Inglise krüptosaaga: Colossus, Turing, sakslaste Enigma ja Lorenz SZ 40
- Esimesed digitaalsed elektriga töötavad arvutid:
- Konrad Zuse
- Atanasoffi elektronarvuti
- Mark I: esimene programmeeritav elektromehaaniline arvuti.
Lisaks teisele loengule:
- nandgame
- Kuula Jim Kelleri episoodi "Moore's Law, Microprocessors, Abstractions, and First Principles"
- lühike lugu transistoride kasutamisest loogikalülituste ehitamiseks ja vaata veidi täienduseks siit
- Ecki loogikalülituste simulaator. Kindlasti vaata ka infot ja veidi keerukamaid näiteid ja mälunäiteid.
- Alternatiivina on päris head ka logic.ly demo (also 4-bit adder) or try 4-bit adder tutorial in detail: you can try out and edit half-built parts. See also this. Samuti on-line ja selle tutorial ning see allalaetav
- Minecraft: redstone ja arvutid
- introd siin ja siin ja loogikalülitused
- shock and awe: täielik 4-bitine arvuti minecraftis
- Veidi tutvuda nende saitidega:
- Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
- Protsessori simuleerimine ja ise ehitamine:
- Ecki xComputer: lihtne simulaator 6502 stiilis
- easy6502.org: päris täpne 6502 simulaator
- visual6502.org vt ka slaidid
- Build an 8-bit computer from scratch
- Mikrokontrollerid ja system on a chip:
- mikrokontrollerite ülevaade detailidega
- Raspberry Pi SOC
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:
- Paul Graham: Undergraduation pluss järelmärkused: more advice for undergrads
- IBM-i varased mehaanilised tabulaatorid
- ferriitmälu
- Fortran ja IBM 704 ja taustaks raadiolampidega arvutite suur tabel
- Brittide varaseimad arvutid Manchesteris
- PDP-1 restoration project, Spacewar: esimene graafiline arvutimäng, ja ajaloo-video,töötav versioon javascriptis ja taustaks esimeste arvutimängude tabel
- Ivan Sutherland's sketchpad video vt ka sketchpadi artikkel
- Douglas Engelbart "mother of all demos"
- SAGE
- Counterculture
- Silicon Valley vt ka seda kaarti
- Whole earth catalog wikis
Lisaks teisele loengule:
- tagasihüpe elektroonikasse: nandgame ja raamatu fulltext, millel ta nö baseerub.
- easy 6502: vaatame pikemalt loengus
- 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
- Vaata, kuidas eri kompilaatorid assemblerit genereerivad
- Loe veidi ja uuri What every programmer should know about memory
- Väga vanade koduarvutite lag oli väiksem, kui praegustel: Computer latency: 1977-2017
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:
- Jätk küsimusele "mida ülikoolis teha?". Joel Spolsky: Advice for Computer Science College Students
- soovitav kuulata: episood arvutimängudest MindScape podcastist ja mängi episoodi külalise paperclips mängu ja loe tausta
- Apple 1984 Macintosh: reklaamklipp ja Steve Jobs esitlemas ja 1985 mac office lemmings ja wiki
- intel 4004 skeemid, simulaatorid ja ajalugu, simulaator
- MOS 6502 simulaator ja easy 6502 pisiõpik ja terminaator oli progetud 6502 assembleris klipp
- Spacewar: esimene graafiline arvutimäng,töötav versioon javascriptis
- Atari muuseum
- mehaaniline pong ja taustaks
- SRI international
- Bell labs
- What the dormouse said raamatu täistekst ehk "how the 60s counterculture shaped the personal computer"
- Eric Raymond: How to become a hacker
- Colossal Cave (adventure) teksti-seiklusmäng online ja veidi vigane javascripti versioon. Vaata ka suuremat kollektsiooni vanade teksti-seiklusmängude javascripti-versioonidest.
- Magnavox odyssey
- Popular Science täielik arhiiv. Vaata oktoober 1977 ja märts 1979
- Apple II Karateka simu (mängimiseks qwaszx(? või all paremal klahvid ?), tühik ja nooleklahvid). Vaata taustaks Karateka, Jordan Mechner ja Prince of Persia. Prince of Persia lähtekood (Apple II 6502 assembler).
Lisaks andmete esitusest:
- ujukoma-arvude seletus ja detailsemalt wikipedias ja ajaloost
- ujukoma-arvude esituse katsetamine/visualiseering
- how to implement strings
- ja kuidas python stringe optimeerib
- pythoni listid sisemiselt
- kataloog puude visualiseerimise viisidest
- hulk eri andmetüüpide visualiseeringuid
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:
- Veeluste internetikaablite zoomitav kaart ja veel detailsem zoomitav kaart
- Kuidas veealused kaablid välja näevad
- https://en.wikipedia.org/wiki/Internet_protocol_suite
- https://en.wikipedia.org/wiki/Internet_of_things
- steampunk film pakettide liikumisest
- 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 Ivari Horm
- Kell 12:00: tekstitöötlus: Loengumaterjalid: Teksti Toimetamine. Lisaks (mittekohustuslik) on siin allpool lingid näitefailide algfailidele ja tulemustele.
- Kell 13:45: tabelarvutus: 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.
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:
- ujukoma-arvude seletus ja detailsemalt wikipedias ja ajaloost
- ujukoma-arvude esituse katsetamine/visualiseering
- how to implement strings
- ja kuidas python stringe optimeerib
- pythoni listid sisemiselt
- kataloog puude visualiseerimise viisidest
- hulk eri andmetüüpide visualiseeringuid
Muud huvitavat:
- ladder of abstraction
- Reality has a surprising amount of detail
- Maciej Ceg?owski loeng barely succeed: it is easier
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:
- Arvutimuuseum Tartu ülikoolis
- GUI ajalugu
- 101 arvutireklaami
- Arvutite ajaloolised tv-reklaamid
- "Teejuht võrgumeediasse" toorik aastatest 1995-1996. Pakub eeskätt ajaloolist huvi.
- Tutvu: J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest
Tillukeste interpretaatorite ja kompilaatorite koodinäited:
- õppejõu mikro-interpretaator pythonis
- tilluke lispi-interpretaator pythonis ja selle lähtekood. Autoriks Peter Norvig, vt ka Norvigi oma veebileht.
- tilluke lispi kompilaator pythonis
- pythonis kirjutatud pythoni interpretaator
- Keerukam: põhjalik interpretaatori-kirjutamise veebiraamat algajatele ja veel põhjalikum veebiraamat ja lihtsa kompilaatori näide ja õpetus
Tutvu veidi nende progekeelte populaarsus-võrdlustega:
- Tiobe programmeerimiskeelte populaarsusindeks
- Githubi progekeelte populaarsusindeks requestide ja repodes kasutatavuse järgi.
- PYPL: populaarsus tutorialite Google-otsingute järgi
- Nõudluse järgi üks populaarsusindeks ja teine.
Siis vaata veidi neid asju:
Soovitavat katsetamist opsüsteemidega:
- 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 - WSL - Microsofti õpetus
Eriti soovitavat lugemist opsüsteemidest:
Muidu soovitavat lugemist opsüsteemidest:
- Wikipedia artikkel opsüsteemidest
- Linux distributions
- päris hea opsüsteemide ehituse pisi-tutorial
- Ulrich Drepperi cache-lühiülevaade ja paralleelsuse-ülevaade
- Minix: Linuxi inspiratsiooniks olnud mini-UNIX ja loe seda! ja viimase taustaks ja Intel Management Engine wikist.
- Unix history
- virtuaalmälu vikipeedias
- understanding paging
- multitasking vikipeedias
- Väga detailne ülevaade mälu organiseerimisest
- Windows NT vs UNIX design
- Hea väike tehniline raamat sise-ehitusest
- Unixi autorite väike varane ülevaade põhi-ideedest
Muud huvitavat masintest, optimeerimisest ja progekeeltest, mitte niivõrd opsüsteemidest:
8. nädal: Robootika ja veebirakendused
23. oktoober
- Kell 12:15: Maarja Kruusmaa: robootika alused. Vaata ka biorobootika keskus. Presentatsioon 2023 aastast: Robootika alused
- Kell 14:00: Martin Verrev teeb loengu veebirakenduste ehitamisest. Martin on sellel teemal pikemalt õpetanud tervet kursust. Martini slaidid on [siin]; lisaks Taneli varasemad slaidid,
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:
- Martin Fowler tarkvara arhitektuurist
- The law of leaky abstractions
- No silver bullet ja lühem kokkuvõte
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- mis on vabatarkvara Gnu interpretatsiooni kohaselt
Lisaks mittekohustuslikku, aga eriti soovitavat lugemist arhitektuurist, tähtsuse järjekorras:
- Software architecture is overrated ja HN kommentaarid
- Out of the tar pit
- Stack Overflow serveerimise ülesehitusest eriti selle esimene osa
- veidi Facebooki arhitektuurist
- Fundamentals of software architecture: see ei ole vähetähtis, aga on pikk ja detailne hästi illustreeritud jutt.
Lisaks: täiesti mittekohustuslikke ideid lugemiseks:
Täiendavalt algoritmide teemal:
- sorteerimisalgoritmide visualiseeringud siin ja siin
- Eriliselt tore ja ilus visualiseeringutega jutt mitmete algoritmidega
- Väga paljude algoritmide ja andmestruktuuride visualiseeringud
- Suur O wikipedias ja lihtne cheatsheet
- Travelling salesman problem, lahenduse visualiseering
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:
- Fraktaalid wikipedias
- Mandelbub ja selle videoklipid Mandelbox and Flying Lights, Like in a dream II, Weird planet II. Taustaks veel Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex
- kiire Mandelbroti fraktaal online ja veidi aeglasem
- Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles
- Lihtne fraktaal-puu javascriptis draw.html ja keerulisem moving fractal trees in javascript. Siit edasi arvutigraafika veebiraamat.
- Tower of Hanoi
- Lambda-arvutus
- Vaata ja proovi näiteid modifitseerida:
- Vaata ja modifitseeri Ecki mandelbroti joonistajat ja kilpkonnagraafikat. Viimasest võta menüüst recursion tutorial ja recursive bush näide.
- Huvi korral katseta
- Lambda-arvutuse kalkulaator näidete ja detailsete sammudega
- Proovi Prolog online või installeeri SWI Prolog.
- Prolog tõenäosustega
Vaata lisaks lahenduvuse teemal:
- Kardinaal
- Cantori teoreem
- Halting problem
- Incompleteness theorems
- Raamat Gödeli tõestus koos õppejõu järelsõnaga täiendavate seostega nii lõpmatuse kui mittelahenduvusega.
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:
- Elements of AI
- Masinõpe vikipeedias
- Hiina tuba ehk AI filosoofia tuntuim mõtteharjutus.
- õppejõu õppe-veebisüsteem klassikalise symbolic AI loogikafookusega osa jaoks
- Deep learning otse brauseris
- Rodney Brooksi väike AI sari part 1, part 2 , part 3 , part 4 ja ennustused scorecard 2020, scorecard 2024. Kaks head esseed samast ooperist: What Will Transformers Transform? ja Three Things That LLMs Have Made Us Rethink
- machine learning street talk (mlst) podcast
- Väga populaarsel Lex Fridmani podcastil on vahel süvaintervjuud AI rahvaga. Eri vaatenurkade jaoks näiteks Francois Chollet, Yann LeCun, Gary Marcus, Demis Hassabis, Ilya Sutskever, Ben Goertzel.
- 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.
- Francois Chollet ja ARC-AGI teema. Mh
- katseta ise lahendada ja
- ntx loe ARCi lehelt blogi ja
- vaata kolmanda ARCi põlvkonna eeldemo.
- Hea mõte on lugeda 2024 ühe hea tulemuse meetodi pikemat seletust: seal seletatakse ka lihtsalt lahti, et milles ARC ülesanne seisneb.
- Francois Chollet in Lex Fridman interview
- Chollet oma lehelt mõni vestlus, soovitavalt Mindscape podcasti episood või siis Dwarkeshiga
- MLST 29.4% ARC-AGI-2 interview (not Chollet himself) or on youtube
Täiendavalt ajuteaduse teemal:
- Loe suunaseadmiseks neurons are more complex than what we have imagined
- Vaata/kuula TED loenguid Metzinger, Wolpert, Graziano, Hoffman.
- Süvitsi minemiseks on parim podcast Brain Inspired: a podcast where neuroscience and AI converge
- Mindscape podcast sisaldab samuti päris hulga ajuteaduse-temaatilisi episoode, näiteks Damasio episood, Poeppeli episood
12. nädal: Kvantarvutite algoritmid
20. november
- Kell 12:15: Dirk Draheim räägib kvantarvutite algoritmidest: I osa. Loeng on inglise keeles.
- Kell 14:00: Dirk Draheim räägib kvantarvutite algoritmidest: II osa. Loeng on inglise keeles.
- Eksamil kvantarvutite algoritmide küsimusi ei tule.
Taustaks soovitav:
- Mindscape podcast quantum computing with John Preskill episood.
- Mindscape podcast quantum computing with Scott Aaronson episood.
- Scott Aaronsoni blogi
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:
- https://aidoc.pages.taltech.ee/
- Elements of AI eestikeelsed masinõppe ja närvivõrkude blokid.
- Neural networks from scratch
- Deep learning otse brauseris
- Eelmisest inspireeritud modernsem jätk ja selle jätk.
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:
- How projects really work ja selle pikk ajalugu
- Agile, agile manifesto ja selle põhimõtted ja lisaks selle juurde Martin Fowleri vana artikkel ja uuem artikkel
- Paul Graham alustamisest: do things that do not scale
- Sam Altmani startup-kursus ja video-playlist
- Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: The iceberg secret revealed
- Joel Spolsky: IT firma töökorraldus: 12 steps
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
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: Itsissejuhatus_projektid_raha_22.pdf.
- 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:
- 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 õppevideo koos nullist tausta ja kogu vajaliku pythoni-koodiga
- LLMi kasutamiseks oma tarkvaras on suhteliselt lihtne ja hea variant OpenAI API
Lisaks projektidest:
- How projects really work ja selle pikk ajalugu
- Agile, agile manifesto ja selle põhimõtted ja lisaks selle juurde Martin Fowleri vana artikkel ja uuem artikkel
- Paul Graham alustamisest: do things that do not scale
- Sam Altmani startup-kursus ja video-playlist
- Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: The iceberg secret revealed
- Joel Spolsky: IT firma töökorraldus: 12 steps
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
16. nädal: Küberkaitse ja andmeteadus
18. detsember
- Kell 12:15. Rain Ottis räägib küberkaitsest. Loengumaterjal 2023 aastast
- Kell 14:00. Innar Liiv räägib andmeteadusest ja andmekaevest. Loengumaterjal: INNAR_2025.pdf
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:
- Loogika ainest ja ajaloost: T.Tammet: Loogika aine ja ajalugu: sissejuhatus T.Tamme, T.Tammeti ja R.Prangi loogikaõpikule "Mõtlemisest tõestamiseni".
- Alan Turing Computing Machinery and intelligence
- Abstraktsioonidest ja tehnoloogiatükkidest: Law of leaky abstractions
- Paul Graham Hackers and painters
- Stiilist või midagi: The Tao of Programming. Selle teksti inspiratsiooniks/taustaks on daodejing, see tausta-originaal-daodejing ei ole kohustulik lugemine.
- Kohustuslikud artiklid IT projektide, ideoloogia, äri ja juhtimise teemal on järgmised. Neid "ära õppida" vms pole vaja, piisab lihtsast mõnusast kiirest läbilugemisest:
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: The iceberg secret revealed
- Joel Spolsky: IT firma töökorraldus: 12 steps
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Gnu manifestid The Free Software Definition ja Selling Free Software
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
Loe iga päev
- http://news.ycombinator.com/
- http://www.reddit.com (hea mõte on registreeruda ja valida sobivad alamredditid, näiteks
Kuula
Mh vaata läbi varasemate episoodide loetelu ja kuula, kui tundub põnev:
- Ülipopulaarse Lex Fridmani podcasti (varem nimega AI podcast) tehnoloogia-episoode (varem rohkem, viimasel ajal harvemini), näiteks Jim Kelleri episood. Spetsiifiliselt AI osas tasub kuulata näiteks neid väga erinevaid vaatenurki eri sorti tipptegijatelt ja mõtteliidritelt: Francois Chollet, Yann LeCun, Gary Marcus, Demis Hassabis, Ilya Sutskever, Ben Goertzel.
- Kvantfüüsiku 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:
- Brain Inspired: päris neuroteaduse podcast, kerge fookusega seostele AI-ga
- machine learning street talk (mlst)
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.
