Sissejuhatus infotehnoloogiasse: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
31. rida: 31. rida:
== Videosalvestused ==
== Videosalvestused ==


Loengu ajal on live feed ja video salvestatakse järelvaatamiseks.  
Loengu ajal on live feed ja video salvestatakse järelvaatamiseks.  Hetkel seda linki siin lehel veel ei ole.
Videoalvestuste lingid leiad edaspidi allpool nädalate loengupresentatsioonide järel.
Videoalvestuste lingid leiad edaspidi allpool nädalate loengupresentatsioonide järel.
<!--
<!--
55. rida: 55. rida:
== Kontrolltööd ja koduülesanded ==
== Kontrolltööd ja koduülesanded ==


<!--
[http://turing.cs.ttu.ee/~tanel.tammet/cgi-bin/qshow1.py Kontrolltöö 1, esimese nädala teemadel]
[http://turing.cs.ttu.ee/~tanel.tammet/cgi-bin/qshow1.py Kontrolltöö 1, esimese nädala teemadel]
 
-->
Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu.
Kontrolltööd on lihtsa veebivormi kujul. Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu.


Palun täida korrektselt alguse väljad matriklinumber, nimi ja email: nende järgi lähevad tulemused sulle arvesse. "Matriklinumber" on sinu tudengikood, a la 205384iadb.
Palun täida korrektselt alguse väljad matriklinumber, nimi ja email: nende järgi lähevad tulemused sulle arvesse. "Matriklinumber" on sinu tudengikood, a la 205384iadb.
79. rida: 80. 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 asjad arenenud.
* 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.  
89. rida: 90. rida:
-->
-->


=== 1. nädal: Sissejuhatus kursusesse. Tehisintellekt ja masinõpe. ===
 
=== 1. nädal. Sissejuhatus baasvärkidesse: arvuti ja info, ajaloo algus ... 1940 ===


4. september.
4. september.


* Kell 12: Sissejuhatus kursusesse. Tehisintellekt. Loengu teeb [https://aire-edih.eu/meeskond/otto-mattas/ Otto Mättas]. Tanel liitub telcos viimasel pooltunnil ja räägib kursusest ja hindamisest jne.
* Kell 12:15: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
:Loengumaterjalid:  [[Media:Otto_Mattas-AI_compressed.pdf|Otto AI materjalid]].
 
* Kell 13:45: Priit Järv räägib masinõppest: [[Media:Machine_Learning_2022.pdf|Loenguslaidid]]. Priit õpetab mh kursust [https://ois2.taltech.ee/uusois/aine/ITI0210 Tehisintellekti ja masinõppe alused]
 
* [https://echo360.org.uk/media/b08a7c6c-e078-421d-ba03-07368d028d8f/public Videosalvestus]
 
* 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 põhiosadest koosnevad tehis-närvivõrgud, mida kasutatakse masinõppes. Mida närvivõrkudega õppe käigus tegelikult tehniliselt muudetakse? Mis on supervised learning, reinforcement learning, unsupervised learning (eeskätt, mille poolest nad üksteisest erinevad)?
 
<!--
Mis on tugev ja mis nõrk AI, mis on turingi test ja mis on eliza. Mis on otsimeetodites minimax ja alpha-beta (tehnilisi detaile ja näiteid ei tule). Mis on peamise tehisintellekti arendamise meetodid/lähenemised. Mis sorti ülesandeid praegused tehisintellektisüsteemid suudavad ok/väga hästi/väga halvasti lahendada?  Mis on IBM Watson, AlphaZero, GPT3/4. Mis põhiosadest koosnevad tehis-närvivõrgud, mida kasutatakse masinõppes. Mida närvivõrkudega õppe käigus tegelikult tehniliselt muudetakse? Mis on supervised learning, reinforcement learning, unsupervised learning (eeskätt, mille poolest nad üksteisest erinevad)?
-->
<!-- * [https://echo360.org.uk/media/3d7213ee-cb40-4bc9-b5d4-62707e724c80/public Loenguvideo] -->
 
Lisaks tehisintellekti teemal nö klassikalisi materjale:
:* [[Media:Ai_sissejuhatus_c_2023.pdf|Taneli AI sissejuhatuse materjalid]].
:*Väga hea mõte on teha ise läbi lihtne sissejuhatav MOOC-kursus tehisintellektist: [http://www.elementsofai.ee/ eestikeelne] või https://www.elementsofai.com/ inglisekeelne].
:* [https://openai.com/ GPT ja DALL-E] ise katsetamiseks: rega ja proovi! Tasuline, aga (a) suur hulk krediiti algul (st algus tasuta) (b) katsetamiseks ka edasi väga odav
<!-- :* Taustaks: [https://courses.cs.ttu.ee/pages/Teadmisp%C3%B5hise_tarkvaraarenduse_meetodid_/_Methods_of_Knowledge_Based_Software_Development_2017 tehisintellektinduse magistrikursus TTÜs] ja ülevaade [https://aitopics.org/misc/about tehisintellektinduse valdkondadest] -->
:* [https://www.bostondynamics.com/ Boston Dynamics] [https://www.youtube.com/watch?v=tF4DML7FIWk atlas] ja [https://www.youtube.com/watch?v=9aUBpByABiA valus variant] ja [https://www.youtube.com/watch?v=PQr6U3RWzVg big dog]. Eriti soovitav Marc Raiberti [https://www.youtube.com/watch?v=AO4In7d6X-c TED talk]: vaata kindlasti valusat faili hetkel 5:28 :)
:* Darpa [http://en.wikipedia.org/wiki/DARPA_Grand_Challenge grand challenge 2005] ja [https://www.youtube.com/watch?v=g0TaYhjpOfo darpa robotics challenge (2012-2015) fails compilation]
<!--
:* [http://vimeo.com/user2952867/videos TTÜ roboswarm]
-->
<!-- :* [https://www.tastehit.com/blog/google-deepmind-alphago-how-it-works/ Kuidas AlphaGo töötab] -->
<!-- :* [http://idlewords.com/talks/superintelligence.htm Miks mitte karta super-tehisintellekti] -->
:* [https://en.wikipedia.org/wiki/Rodney_Brooks Rodney Brooksi] väike tehisintellekti-sari [https://rodneybrooks.com/forai-steps-toward-super-intelligence-i-how-we-got-here/ osa 1], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-ii-beyond-the-turing-test/ osa 2], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iii-hard-things-today/ osa 3],  [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iv-things-to-work-on-now/ osa 4] ja [https://rodneybrooks.com/blog/ blog]
<!-- :* [http://www.wired.com/wiredscience/2013/11/christof-koch-panpsychism-consciousness/all/ How networks become conscious] ja [http://www.newyorker.com/online/blogs/elements/2013/08/why-cant-my-computer-understand-me.html Why can't my computer understand me] -->
:* Marvin Minsky [http://aurellem.org/society-of-mind/ The Society of Mind]
:* [http://www.youtube.com/watch?v=-rMMTv7XLYw Õppimisalgoritmidest] ja [http://research.google.com/pubs/ArtificialIntelligenceandMachineLearning.html Google artiklid õppimisalgoritmidest]
:* Teadmiste integraatorid [http://blog.stephenwolfram.com/2011/01/jeopardy-ibm-and-wolframalpha/  Ibm Watson, Wolfram Alpha] ja [http://en.wikipedia.org/wiki/Siri_%28software%29 Siri]
:* [https://allenai.org/#nlp allen AI]: vaata ka projektide ülamenüüst Demo lingi alt online demosid
<!-- :* Päris hea võrgust lugev ja õppiv süsteem [http://rtw.ml.cmu.edu/rtw/ NELL] vt ka [http://rtw.ml.cmu.edu/rtw/kbbrowser/ seniõpitut] ja [http://www.cs.cmu.edu/~rcwang/ olulist alus-meetodit] -->
:* [https://www.eclecticenergies.com/ego/eliza Klassikaline vestlev pseudointellekt Eliza]<!-- ja  [https://www.pandorabots.com/mitsuku/ modernsem vestlev pseudointellekt] -->
:* A.I. filosoofia osas loe [http://en.wikipedia.org/wiki/Philosophy_of_artificial_intelligence peamist wikiartiklit] ja [http://en.wikipedia.org/wiki/Functionalism_(philosophy_of_mind) wikiartiklit funktsionalismist]
:* Loe [[Media:Aifilosoofia_ttmatrix.doc|Matrix, Skynet ja sõda teispoolsusega]], [http://ase.tufts.edu/cogstud/dennett/recent.html Dennetti artikleid], [http://aima.cs.berkeley.edu/ tuntud õpikut],
 
Taustakuulamiseks soovitavaid podcastiepisoode:
:* Eriti soovitav filosoofia/praktika kokkupuutepunktina [https://lexfridman.com/steven-pinker/ Steven Pinkeri] episood väga heast ja populaarsest [https://lexfridman.com/ai/ ai podcastist].
:* Neurorehkenduste ja sümbolrehkenduste vaidluse teemal kuula [https://lexfridman.com/gary-marcus/ Gary Marcuse episoodi] AI podcastist ja vastupidi, [https://lexfridman.com/david-silver/ David Silveri episoodi] Alphago, Alphazero jms teemadel. Lisaks videona [https://youtu.be/EeqwFjqFvJA Yoshua Bengio ja Gary Marcuse diskussioon]-
:* Praktilise AI ehitamise teemal kuula [https://lexfridman.com/david-ferrucci/ David Ferrucci] ibm watsoni episoodi
:* Vali neist A.I. podcastist mõned ja kuula: [https://lexfridman.com/ben-goertzel/ Goertzel], [https://lexfridman.com/tomaso-poggio/ Poggio],[https://lexfridman.com/richard-dawkins/ Dawkins], [https://lexfridman.com/noam-chomsky/ Chomsky], [https://lexfridman.com/nick-bostrom/ Bostrom], [https://lexfridman.com/jeff-hawkins/ Hawkins], [https://lexfridman.com/judea-pearl Pearl]
:* Soovitavaid A.I. podcaste üldse: [https://lexfridman.com/podcast endise nimega A.I. podcast] ja siis tehnilisemad [https://braininspired.co/ ajuteaduse-fookusega A.I. podcast] <!--, [https://soundcloud.com/nlp-highlights Alleni instituudi NLP podcast]. Viimase kohta veel soovitavaid episoode [https://soundcloud.com/nlp-highlights/89-dialog-systems-with-zhou-yu episode 89 about dialog systems], [https://soundcloud.com/nlp-highlights/executable-semantic-parsing-with-jonathan-berant episode 91 about executable semantic parsing], [https://soundcloud.com/nlp-highlights/59-weakly-supervised-semantic-parsing-with-abstract-examples-with-omer-goldman episode 59 about semantic parsing] ja lõpuks [https://allenai.org/demos demod], eriti [https://rule-reasoning.apps.allenai.org/ Rover demo] -->
 
 
Lisaks uuri masinõppe kohta:
:* 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]
:* Masinõpe [https://en.wikipedia.org/wiki/Machine_learning vikipeedias]
:* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
:* [https://braininspired.co/ Brain inspired] podcast neuroteaduse ja veidi masinõppe teemadel: jutuajamised päris neuroteadlastega.
:* Kaggle [https://www.kaggle.com/competitions  competitions] ja [https://www.kaggle.com/learn iseõppe kursused]
:* [https://en.wikipedia.org/wiki/Generative_pre-trained_transformer GPT vikipeedias] ja selle baasil tehtud Github copilot [https://en.wikipedia.org/wiki/GitHub_Copilot vikipeedias] ja [https://copilot.github.com/ otselink].
:* [https://openai.com/api/ GPT-3/4 jne ja DALL-E] api ise katsetamiseks: rega ja proovi! Tasuline, aga (a) suur hulk krediiti algul (st algus tasuta) (b) katsetamiseks ka edasi väga odav
 
=== 2. nädal: Robootika alused, loomulik keel ja keelemudelid  ===
 
11. september.
 
* Kell 12:00: [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 13:45: [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: [[Media:Keelemudelid.pdf|Keelemudelid.pdf]]
 
* [https://echo360.org.uk/media/a4f3134b-38bb-4053-95eb-14a7c3548d23/public Loenguvideo]
 
* Eksamiks:  Robotitest: tüüpilised andurid, tagasisidega ja ilma selleta juhtimine, miks on robotniidukid, aga mitte robotnõudekoristajad? 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]
 
=== 3. nädal. Sissejuhatus baasvärkidesse: arvuti ja info, ajaloo algus ... 1940 ===
 
18. september.
 
* Kell 12: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
:Loengumaterjal: [[Media:itsissejuhatus1a24.pptx|itsissejuhatus1a24.pptx]], [[Media:itsissejuhatus1a24.pdf|itsissejuhatus1a24.pdf]].
:Loengumaterjal: [[Media:itsissejuhatus1a24.pptx|itsissejuhatus1a24.pptx]], [[Media:itsissejuhatus1a24.pdf|itsissejuhatus1a24.pdf]].


* Kell 13:45: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
* Kell 14:00: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
:Loengumaterjal: [[Media:itsissejuhatus1b24.pptx|itsissejuhatus1b24.pptx]], [[Media:itsissejuhatus1b24.pdf|itsissejuhatus1b24.pdf]]
:Loengumaterjal: [[Media:itsissejuhatus1b24.pptx|itsissejuhatus1b24.pptx]], [[Media:itsissejuhatus1b24.pdf|itsissejuhatus1b24.pdf]]
<!--
* [https://echo360.org.uk/media/61df0a41-7b4a-442d-80a4-447891447775/public loenguvideo] -->
<!-- * [https://echo360.org.uk/media/967fbf34-9afa-48ea-9666-f3678069c92f/public Loenguvideo] -->


* Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid.  
* Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid.  
<!-- * Neljapäeval: loeng jäi ära. Õppekavade ja teaduskonna ülevaade: erinevad õppejõud. -->


Lisaks esimesele loengule:
Lisaks esimesele loengule:
187. rida: 107. rida:
:* vaata korra [https://upload.wikimedia.org/wikipedia/commons/1/1b/ASCII-Table-wide.svg ascii tabelit]
:* 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
;* uuri veidi [https://www.unicode.org/charts/ kooditabeleid] [https://home.unicode.org/ unicode] veebisaidil
<!--
:* loe juttu ja [http://math.hws.edu/eck/cs120/s01/lab1/ mängi andmete esitamise appletiga]. Vajab javat ja sul brauseri all tõenäoliselt käima ei lähe. Seega kas: (a) loe [[Ecki laborite allalaadimine ja katsetamine | siit, kuidas Ecki laborid oma masinasse panna]] ja lae alla ning katseta laboriga [http://math.hws.edu/TMCM/java/classes/DataReps.jar DataReps.jar] mille jutu leiad [http://math.hws.edu/TMCM/java/labs/DataRepsLab.html#reps siit allosast Data Representations] alt (b) või säti brauser lubama valitud applette: [http://www.java.com/en/download/help/jcp_security.xml loe siit]
-->
:* 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].
:* 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]
:* [https://external-preview.redd.it/ihLiGBXOGFBWd_2UV9XyZM2hXQviZHmcFh1OAmCEnxE.png?auto=webp&s=9591f04e3a857441f63247c65830ac3e41047e5a valdkonnad]
<!-- :* some random notes [https://0x0f0f0f.github.io/blog/mindlanguagemachines/ on mind, language and machines] -->
<!--
:* loe läbi: Tanel Tammet: [http://www.metsas.ee/et/tekstid/tanelt/inimlikkus_on_loomalikkus Inimlikkus on loomalikkus]
-->


Lisaks teisele loengule:
Lisaks teisele loengule:
203. rida: 114. rida:
:* Paul Graham: [http://www.paulgraham.com/hs.html What you'll wish you'd known]
:* Paul Graham: [http://www.paulgraham.com/hs.html What you'll wish you'd known]
:* Sama asi diskreetse matemaatika kursuses: harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid ([[Media:itsissejuhatus_eksamnaide1.pdf|1]], [[Media:itsissejuhatus_eksamnaide2.pdf|2]], [[Media:itsissejuhatus_eksamnaide3.pdf|3]]) tee ülesandeid ise juurde ja kasuta [http://logictools.org/prop.html logictools.org/prop.html] enesekontrolliks. Vajuta algul "help" nuppu, siis näed, kuidas valemeid kirjutada. Tõeväärtustabeli jaoks vajuta '"Build" a truth table' nuppu.
:* Sama asi diskreetse matemaatika kursuses: harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid ([[Media:itsissejuhatus_eksamnaide1.pdf|1]], [[Media:itsissejuhatus_eksamnaide2.pdf|2]], [[Media:itsissejuhatus_eksamnaide3.pdf|3]]) tee ülesandeid ise juurde ja kasuta [http://logictools.org/prop.html logictools.org/prop.html] enesekontrolliks. Vajuta algul "help" nuppu, siis näed, kuidas valemeid kirjutada. Tõeväärtustabeli jaoks vajuta '"Build" a truth table' nuppu.
<!-- :* algus-1945: [http://www.maxmon.com/history.htm A history of computers] -->
<!-- :* Eck lab: [http://math.hws.edu/TMCM/java/labs/xTuringMachineLab.html Turing machines]. -->
:* 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]]
217. rida: 126. rida:
:*** [https://en.wikipedia.org/wiki/Atanasoff%E2%80%93Berry_computer Atanasoffi elektronarvuti]
:*** [https://en.wikipedia.org/wiki/Atanasoff%E2%80%93Berry_computer Atanasoffi elektronarvuti]
:*** [http://en.wikipedia.org/wiki/Harvard_Mark_I Mark I]: esimene programmeeritav elektromehaaniline arvuti.
:*** [http://en.wikipedia.org/wiki/Harvard_Mark_I Mark I]: esimene programmeeritav elektromehaaniline arvuti.
:* Kuula [https://lexfridman.com/jim-keller/ Jim Kelleri episoodi "Moore’s Law, Microprocessors, Abstractions, and First Principles"]
:* Kuula [https://lexfridman.com/jim-keller/ Jim Kelleri episoodi "Moore's Law, Microprocessors, Abstractions, and First Principles"]


=== 4. nädal: Algoritmid ja veebirakendused ===


* Kell 12: 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 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]. Taneli loengumaterjal (mitte Martini kasutatud): [[Media:Itsissejuhatus10a20.ppt|Itsissejuhatus10a20.ppt]], [[Media:Itsissejuhatus10a20.pdf|Itsissejuhatus10a20.pdf]], Martini slaidid on [[Media:ITI0101_24_04_Veebirakendused.pdf|siin]].
=== 2. nädal: Keskajalugu 1940-1960 ja arvuti riistvara ===


* [https://echo360.org.uk/media/0b929c13-5b0e-491b-8369-3da75aef9b2d/public loengusalvestus]
11. september.


* Eksamiks:  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. Veebirakendused: mis on http, https, html, css, javascript, ajax, json, xml, kuidas üldjoontes töötab klassikaline veebirakendus ja kuidas single-page app (koodinäiteid / nende detaile ei küsita). Veebirakendustest on 13. nädalal täiendav loeng, mis viimaseid punkte katab.
* Kell 12:15: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
 
 
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]
 
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]
 
=== 5. nädal: Keskajalugu 1940-1960 ja arvuti riistvara ===
 
* Kell 12: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
:Loengumaterjal: [[Media:Itsissejuhatus3o.ppt|Itsissejuhatus3o.ppt]], [[Media:Itsissejuhatus3o.pdf|Itsissejuhatus3o.pdf]].
:Loengumaterjal: [[Media:Itsissejuhatus3o.ppt|Itsissejuhatus3o.ppt]], [[Media:Itsissejuhatus3o.pdf|Itsissejuhatus3o.pdf]].


* Kell 13:45: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
* Kell 14:00: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
:Loengumaterjal: [[Media:Itsissejuhatus_proc_23.ppt|Itsissejuhatus_proc_23.ppt]], [[Media:Itsissejuhatus_proc_23.pdf|Itsissejuhatus_proc_23.pdf]].
:Loengumaterjal: [[Media:Itsissejuhatus_proc_23.ppt|Itsissejuhatus_proc_23.ppt]], [[Media:Itsissejuhatus_proc_23.pdf|Itsissejuhatus_proc_23.pdf]].
<!--
 
* [https://echo360.org.uk/media/7514eb6a-7a7f-44c0-baea-6d8856c3fa14/public loenguvideo]
-->
<!-- * [https://echo360.org.uk/media/85aa2f94-6d85-4940-a05c-02055ffbe08c/public Loenguvideo] -->
* [https://echo360.org.uk/media/ffbdbd58-ea2f-4d90-9bfe-a44313cec100/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. 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.
* Eksamiks: transistor, Samuel, Shockley semiconductor, Fortran, Fairchild, Sage, Texas instruments, integraalskeem, cobol, lisp, pdp-1, system 360, moore's law, intel, amd, Engelbart, Unix, esimene mikroprotsessor. Relee, lihtsad elektroonikaskeemid, mitme biti liitja ja lahutaja, lihtsad mälutüübid. Peaksid oskama ehitada väikese loogikavalemi järgi loogikakomponentidest elektroonikaskeemi, mis seda realiseerib, samuti koostada paaribitiste sisendite liitjat/lahutajat, samuti kolme eraldi biti liitjat ja trigerit.


272. rida: 154. 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]<!-- ja [http://www.wholeearth.com/ skaneeritud sisu]-->
:* Whole earth catalog [http://en.wikipedia.org/wiki/Whole_Earth_Catalog wikis]


Lisaks teisele loengule riistvarast:
Lisaks teisele loengule riistvarast:
279. rida: 161. rida:
:* 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].
:* 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]
:* 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]
<!-- :* Tore mõte on teha D.Ecki harjutusi, osad siit: [http://math.hws.edu/TMCM/java/index.html Eck laborid].  Need simulaatorid on väga vanad, aga töötavad endiselt OK. Vajavad javat ja kõige parem on nad alla laadida ja oma masinas käivitada: [[Ecki laborite allalaadimine ja katsetamine|siit leiad õpetuse, kuidas seda teha]]. Süvene 4-biti liitjasse, kuni sa temast korralikult aru saad. Seejärel loe ise läbi, proovi ja tee mõlemist osast vähemalt üks harjutus, kus tuleb ise elektroonikaskeem ehitada:
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits]
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits]
-->
:* Minecraft: redstone ja arvutid
:* Minecraft: redstone ja arvutid
:** introd [http://www.youtube.com/watch?v=aLTX-sBbo_U siin] ja [http://www.youtube.com/watch?v=XN_MIX7M460 siin] ja [http://www.youtube.com/watch?v=QpvJ9wiywL4 loogikalülitused]
:** introd [http://www.youtube.com/watch?v=aLTX-sBbo_U siin] ja [http://www.youtube.com/watch?v=XN_MIX7M460 siin] ja [http://www.youtube.com/watch?v=QpvJ9wiywL4 loogikalülitused]
288. rida: 166. rida:
:* Veidi tutvuda nende saitidega:
:* Veidi tutvuda nende saitidega:
:** [http://www.quadibloc.com/comp/cp01.htm täiendavalt teemal transistoride kasutamisest loogikalülituste ehitamiseks]
:** [http://www.quadibloc.com/comp/cp01.htm täiendavalt teemal transistoride kasutamisest loogikalülituste ehitamiseks]
<!-- :** [http://www.karbosguide.com/books/pcarchitecture/start.html detailsemalt protsessorite ehitusest] -->
:** [http://www.lighterra.com/papers/modernmicroprocessors/ Optimeeringud tegelikes protsessorites]
:** [http://www.lighterra.com/papers/modernmicroprocessors/ Optimeeringud tegelikes protsessorites]
:* Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
:* Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
<!-- :** [https://www.heyrick.co.uk/armwiki/Introducing_the_ARM arm chipid] -->
:** [https://www.theregister.co.uk/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=1 arm chippide alguse lugu]
:** [https://www.theregister.co.uk/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=1 arm chippide alguse lugu]
:* Protsessori simuleerimine ja ise ehitamine:
:* Protsessori simuleerimine ja ise ehitamine:
302. rida: 178. rida:
:** [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] SOC
:** [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi] SOC


=== 6. nädal: Keskajalugu 1970 ... 1990  ja masinalähedane programmeerimine ===


* Kell 12: Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
=== 3. nädal: tekstitöötlus ja tabelarvutus: loengud annab Ivari Horm ===
 
18. september.
 
* Kell 12:15: tekstitöötlus:  [https://study.risk.ee/wp-content/uploads/sites/3/2024/11/Teksti-toimetamine-2024.pdf Teksti Toimetamine 2024]. Lisaks (mittekohustuslik) on [https://study.risk.ee/arvuti/tekstitootlus/redigeerimine/ siin allpool] lingid näitefailide algfailidele ja tulemustele.
 
* Kell 14:00: tabelarvutus: [https://www.linkedin.com/in/ivari/?originalSubdomain=ee Ivari Horm]. [https://study.risk.ee/arvuti/tabelarvutus/pohimoisted/ Loengumaterjalide leht 2024].
 
=== 4. nädal: sisu ja ettekanded planeerimisel. Robootika ja küberkaitse? ===
 
25. september.
 
* Kell 12:15:  sisu ilmub edaspidi. Võimalik variant:  robootika alused. Vaata ka [https://taltech.ee/en/biorobotics biorobootika keskus] ja presentatsioon 2023 aastast: [[Media:Robootika alused compressed3.pdf|Robootika alused]]
 
* Kell 14:00:  sisu ilmub edaspidi. Võimalik variant:  küberkaitse, vt näiteks [[Media:rain_kyberkaitsest.pdf|Loengumaterjal 2023 aastast]]
 
=== 5. nädal:  Keskajalugu 1970 ... 1990  ja masinalähedane programmeerimine  ===
 
2. oktoober
 
* Kell 12:15:  Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
:Loengumaterjal: [[Media:Itsissejuhatus4o.ppt|Itsissejuhatus4o.ppt]], [[Media:Itsissejuhatus4o.pdf|Itsissejuhatus4o.pdf]].
:Loengumaterjal: [[Media:Itsissejuhatus4o.ppt|Itsissejuhatus4o.ppt]], [[Media:Itsissejuhatus4o.pdf|Itsissejuhatus4o.pdf]].


* Kell 14:00: Masinalähedane programmeerimine: assembler ja C.  
* Kell 14:00: 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.
: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]].
:Loengumaterjal: [[Media:Itsissejuhatus_progealused_20.ppt|Itsissejuhatus_progealused_20.ppt]], [[Media:Itsissejuhatus_progealused_20.pdf|Itsissejuhatus_progealused_20.pdf]].
314. rida: 209. rida:
** Loe [https://blog.codinghorror.com/the-infinite-space-between-words/ The infinite space between words]
** Loe [https://blog.codinghorror.com/the-infinite-space-between-words/ The infinite space between words]
** Loe [https://www.freecodecamp.org/news/must-know-numbers-for-every-computer-engineer/ Latency numbers] ja soovitavalt lisaks [https://www.forrestthewoods.com/blog/memory-bandwidth-napkin-math/ palju detailsemalt]
** Loe [https://www.freecodecamp.org/news/must-know-numbers-for-every-computer-engineer/ Latency numbers] ja soovitavalt lisaks [https://www.forrestthewoods.com/blog/memory-bandwidth-napkin-math/ palju detailsemalt]
<!-- [[Media:2019_09_17_Kyberkaitse.pdf|Küberkaitse]].  Sten Mäses. NB! Sisu on peamiselt videosalvestuses, .pdf on viimase taustaks.-->
<!--
* [https://echo360.org.uk/media/443ce527-1ded-4fe1-804e-852a9e1df026/public Loenguvideo]
-->


<!-- * [https://echo360.org.uk/media/5c9624d0-5f61-435c-a2e0-2e5189e2897c/public Loenguvideo] -->
* Eksamiks: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Riistvarast mälu tehnoloogia, cache ja mälu hierarhia, mis on assembler ja seos riistvaraga, mis on kompileerimine, linkimine, mis teeb loader. <!-- Küberkaitse termineid: turvateater, malware, cookie, phishing, social engineering. -->
* Eksamiks: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Riistvarast mälu tehnoloogia, cache ja mälu hierarhia, mis on assembler ja seos riistvaraga, mis on kompileerimine, linkimine, mis teeb loader. <!-- Küberkaitse termineid: turvateater, malware, cookie, phishing, social engineering. -->


349. rida: 239. rida:
:* Väga vanade koduarvutite lag oli väiksem, kui praegustel: [https://danluu.com/input-lag/ Computer latency: 1977-2017]
:* Väga vanade koduarvutite lag oli väiksem, kui praegustel: [https://danluu.com/input-lag/ Computer latency: 1977-2017]


=== 7. nädal: Interneti funktsioneerimine ja andmebaasid ===


* Kell 12: Interneti funktsioneerimine: loengu annab Ivo Müürsepp.
=== 6. nädal: lähiajalugu 1990-2009 ja andmetüübid masinalähedaselt ===
:Loengumaterjal: [[Media:arvutivorgud_ivo_2024.pdf|arvutivorgud_ivo_2024.pdf]]: see on 2024 aasta Ivo materjal.


* 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.
9. oktoober


:Loengumaterjal: [[Media:andmebaasidest_2024.pdf|andmebaasidest_2024.pdf]] ja täiendavalt [[Media:Andmebaasidest_Demonstratsioon_s2024.xlsx|xlsx näitefail]] ja [[Media:Andmebaasidest_Demonstratsioon_s2024.txt|sql näitefail]]  
* Kell 12: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.
<!-- [[Media:Andmebaasidest_s2021.pdf|Andmebaasidest_s2021.pdf]] ja täiendavalt [[Media:Andmebaasidest_s2020_2.zip|xlsx ja sql näitefailid]] -->
: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]].
* [https://echo360.org.uk/media/a8af4fe8-1c05-4a74-b82b-e862206cf453/public Loenguvideo]
:Loengumaterjal c osa:[[Media:Itsissejuhatus5oc1.ppt|Itsissejuhatus5oc1.ppt]], [[Media:Itsissejuhatus5oc1.pdf|Itsissejuhatus5oc1.pdf]].
 
<!--
* [https://echo360.org.uk/media/87cb873e-5bbd-4e5e-a970-cf5dcbc60d2f/public Loenguvideo]
-->
* 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].
* Kell 14:00: andmetüübid masinalähedaselt: täisarvud, komadega arvud, stringid, massiivid, listid, puud, hashid jne.  
:* [https://mystery.knightlab.com/ SQL murder mystery]
: Loengumaterjal: [[Media:itsissejuhatus6b.ppt|itsissejuhatus6b.ppt]], [[Media:itsissejuhatus6b.pdf|itsissejuhatus6b.pdf]]  
:* endale installeerimiseks ja katsetamiseks: [https://www.sqlite.org/index.html sqlite]
:* väike näide, kuidas pythonist [[sqlite kasutada]] ilma midagi installeerimata.


=== 8. nädal: Küberkaitse ja andmetüübid masinalähedaselt ===
* Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Lihtsad andmetüübid (täisarvud, ujukoma-arvud, üksiktähed, tõeväärtused), stringid, massiivid, puud, mis on pointer.  
 
24. oktoober
 
* Kell 12: [https://et.wikipedia.org/wiki/Rain_Ottis Rain Ottis] räägib küberkaitsest. [[Media:rain_kyberkaitsest.pdf|Loengumaterjal 2023 aastast]]
 
* Kell 14:00: loeng andmetüüpidest 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/cc46607d-c268-4b17-97e6-4422db95e82e/public Loenguvideo]
 
* Eksamiks: Lihtsad andmetüübid (täisarvud, ujukoma-arvud, üksiktähed, tõeväärtused), stringid, massiivid, puud, mis on pointer. Küberkaitse kohta küsimusi ei tule.


Lisaks andmete esitusest:
Lisaks andmete esitusest:
406. rida: 266. rida:
:* [http://worrydream.com/LadderOfAbstraction/ ladder of abstraction]
:* [http://worrydream.com/LadderOfAbstraction/ ladder of abstraction]
:* [http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail Reality has a surprising amount of detail]
:* [http://johnsalvatier.org/blog/2017/reality-has-a-surprising-amount-of-detail Reality has a surprising amount of detail]
:* Maciej Cegłowski loeng [https://www.youtube.com/watch?v=5Vt8zqhHe_c barely succeed: it is easier]
:* Maciej Ceg?owski loeng [https://www.youtube.com/watch?v=5Vt8zqhHe_c barely succeed: it is easier]


=== 9. nädal: Lähiajalugu 1990-2009 ja programmeerimiskeeled  ===
=== 7. nädal: programmeerimiskeeled ja opsüsteemid ===


31. oktoober
16. oktoober


* Kell 12: Lähiajalugu: kaheksakümnendate teine pool kuni 2009. IBM PC, Macintosh, uued vanad opsüsteemid, võrgundus ja veeb, market crash, iPhone, Android, Bitcoin, e-valimised.
* Kell 12:15: Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
:Loengumaterjal a osa:[[Media:Itsissejuhatus5oa.ppt|Itsissejuhatus5oa.ppt]], [[Media:Itsissejuhatus5oa.pdf|Itsissejuhatus5oa.pdf]].
:Loengumaterjal: [[Media:itsissejuhatus_keeled.ppt|itsissejuhatus_keeled.ppt]], [[Media:itsissejuhatus_keeled.pdf|itsissejuhatus_keeled.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 13:45:  Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
* Kell 14:00:  opsüsteemid
** Loengumaterjal: [[Media:itsissejuhatus_keeled.ppt|itsissejuhatus_keeled.ppt]], [[Media:itsissejuhatus_keeled.pdf|itsissejuhatus_keeled.pdf]],
:Loengumaterjal: [[Media:Itsissejuhatus_opsyst.ppt|Itsissejuhatus_opsyst.ppt]], [[Media:Itsissejuhatus_opsyst.pdf|Itsissejuhatus_opsyst.pdf]].
 
* [https://echo360.org.uk/media/dc2b7ceb-fc61-4fef-aaa2-9d3c65de4177/public Loenguvideo]


* Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python).
* 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 produktiivsuse kasvu ja innovatsiooni aeglustumisest:
464. rida: 320. rida:
:* [https://benchmarksgame-team.pages.debian.net/benchmarksgame/ Computer language benchmarks]
:* [https://benchmarksgame-team.pages.debian.net/benchmarksgame/ Computer language benchmarks]


=== 10. nädal: Operatsioonisüsteemid ja tekstitöötlus ===
Soovitavat katsetamist opsüsteemidega:
 
7. november
 
* Kell 12: Operatsioonisüsteemid.
:Loengumaterjal: [[Media:Itsissejuhatus_opsyst.ppt|Itsissejuhatus_opsyst.ppt]],  [[Media:Itsissejuhatus_opsyst.pdf|Itsissejuhatus_opsyst.pdf]].


* Kell 13:45: Tekstitöötlus: Ivari Horm.
: Loengumaterjal: [https://study.risk.ee/wp-content/uploads/sites/3/2024/11/Teksti-toimetamine-2024.pdf Teksti Toimetamine 2024]. Lisaks (mittekohustuslik) on [https://study.risk.ee/arvuti/tekstitootlus/redigeerimine/ siin allpool] lingid näitefailide algfailidele ja tulemustele.
<!--
Veebirakendused. Loengumaterjal: [[Media:Itsissejuhatus10a20.ppt|Itsissejuhatus10a20.ppt]], [[Media:Itsissejuhatus10a20.pdf|Itsissejuhatus10a20.pdf]].
-->
<!--
* [https://echo360.org.uk/media/f9709a31-a84d-4e4d-bf2c-8e8205a8efe2/public Loenguvideo]
-->
* [https://echo360.org.uk/media/36b88bd1-fa33-46f8-bcd9-a02a42f96504/public Loenguvideo]
* Eksamiks:  Opsüsteemi roll, mis on distro, mis on Linux, mis on mac OS X, Android, protsessid, multitasking, paralleeltöö, wait/run, mis on interrupt, mis on virtuaalmälu. Tekstitöötlus: lihttekst, WYSIWYG, kooditabel, ascii, unicode, utf-8, mis on latex, markdown, nende plussid ja miinused, kus kasutatakse.
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]
494. rida: 331. 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]
<!-- :* üldse mitte kohustuslik (algajatel raske mõista :-) [http://www.catb.org/~esr/writings/taoup/html/ The Art of Unix Programming] -->
:* [http://www.minix3.org/ Minix: Linuxi inspiratsiooniks olnud mini-UNIX] ja <b>[https://www.cs.vu.nl/~ast/intel/ loe seda!]</b> ja [https://hexus.net/tech/news/software/111857-intel-management-engine-runs-minix-3-os/ viimase taustaks] ja  [https://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://en.wikipedia.org/wiki/Intel_Management_Engine Intel Management Engine wikist].
:* [http://www.levenez.com/unix/ Unix history]
:* [http://www.levenez.com/unix/ Unix history]
506. rida: 342. rida:


Muud huvitavat masintest, optimeerimisest ja progekeeltest, mitte niivõrd opsüsteemidest:
Muud huvitavat masintest, optimeerimisest ja progekeeltest, mitte niivõrd opsüsteemidest:
<!--
 
:* [https://netfuture.org/2001/Nov1501_125.html "technology is our hope if we can accept it as our enemy, but as our friend, it will destroy us"]
-->
:* [https://jmmv.dev/2023/06/fast-machines-slow-machines.html fast machines slow machines]
:* [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/2024/08/minuteman-guidance-computer.html minuteman guidance computer]
516. rida: 350. rida:
:* [https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html gcc optimeerimisparameetrid]
:* [https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html gcc optimeerimisparameetrid]
:* [https://www.sqlite.org/whyc.html Why is SQLite written in C]
:* [https://www.sqlite.org/whyc.html Why is SQLite written in C]
<!--
:* [https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ Pikk raamat päris tarkvarast päris algajatele]
:* [http://inventwithpython.com/blog/2012/02/20/i-need-practice-programming-49-ideas-for-game-clones-to-code/ Toredad Pythoni pisi-mängud programmeerimise harjutustena]
:* How Python works: [https://tenthousandmeters.com/blog/python-behind-the-scenes-1-how-the-cpython-vm-works/  esimene osa], [https://tenthousandmeters.com/blog/python-behind-the-scenes-2-how-the-cpython-compiler-works/ teine osa]
-->


=== 11. nädal: Teoreetiline arvutiteadus ja tabelarvutus ===
=== 8. nädal: sisu ja ettekanded planeerimisel. Interneti funktsioneerimine ja andmebaasid? ===
 
23. oktoober
 
* 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.


14. november
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]]


* Kell 12:00. [https://www.ioc.ee/~pawel/ Pawel Sobocinski] räägib teoreetilisest arvutiteadusest (inglise keeles). [[Media:pawel_logic.pdf|Loengumaterjal 2023 aastast]]
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.


* Kell 13:45: tabelarvutus: [https://www.linkedin.com/in/ivari/?originalSubdomain=ee Ivari Horm]. [https://study.risk.ee/arvuti/tabelarvutus/pohimoisted/ Loengumaterjalide leht 2024].


* [https://echo360.org.uk/media/9fb29aa7-9ddb-46c9-a758-34bda0d17296/public Loenguvideo]


* Eksamil nende materjalide kohta küsimusi ei tule.
=== 9. nädal:  veebirakendused ja tarkvara arhitektuur ===


=== 12. nädal: Tarkvara arhitektuur ja (algoritmide, ülesannete) lahenduvus ===
30. oktoober


21. november
* Kell 14:00: veebirakendused. Näiteks [[Media:Itsissejuhatus10a20.ppt|Itsissejuhatus10a20.ppt]], [[Media:Itsissejuhatus10a20.pdf|Itsissejuhatus10a20.pdf]], Martini slaidid on [[Media:ITI0101_24_04_Veebirakendused.pdf|siin]].


* Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
* Kell 12: 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 13:45: Algoritmid: lahenduvus.  
* Eksamiks: 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: http, https, html, css, javascript, json, "ajax". Veebirakendused: kuidas üldjoontes töötab klassikaline veebirakendus ja kuidas single-page app (koodinäiteid / nende detaile ei küsita).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.  
:Loengumaterjal: [[Media:Itsissejuhatus13a.ppt|Itsissejuhatus13a.ppt]], [[Media:Itsissejuhatus13a.pdf|Itsissejuhatus13a.pdf]].


* [https://echo360.org.uk/media/f7a0fc4e-9838-40bd-81e3-f79f3dc5167c/public Loenguvideo].
Veebirakenduste teemal vaata veel:
<!--
:* http://www.w3schools.com/.
* [https://echo360.org.uk/media/8e0beb1d-85a2-4ab9-a2ef-b4d463ad3b88/public Loengusalvestus]
:* [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. Loengumaterjal: [[Media:Itsissejuhatus10a20.ppt|Itsissejuhatus10a20.ppt]], [[Media:Itsissejuhatus10a20.pdf|Itsissejuhatus10a20.pdf]].
:* [[Veebirakendused]] kursus.
-->
:* [[lihtsaid cgi programminäiteid]] ja [http://lambda.ee/wiki/Cgi_examples lisaks funktsioneerivate näidetena]
<!--
* [https://echo360.org.uk/media/f9709a31-a84d-4e4d-bf2c-8e8205a8efe2/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. 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.


Kohustuslikku lugemist arhitektuuri teemal eksamiks:
Kohustuslikku lugemist arhitektuuri teemal eksamiks:
562. rida: 402. 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
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.


Lisaks mittekohustuslikku, aga eriti soovitavat lugemist arhitektuurist, tähtsuse järjekorras:
Lisaks mittekohustuslikku, aga eriti soovitavat lugemist arhitektuurist, tähtsuse järjekorras:
583. rida: 416. 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]


=== 13. nädal: Rekursioon ja veebirakendused teine osa ===


28. november
=== 10. nädal: rekursioon, rekursiivsed keeled, algoritmid ja keerukus ===
 
6. november


* Kell 12: Rekursioon, funktsionaal- ja loogiline progemine. Loengumaterjal: [[Media:Itsissejuhatus11.ppt|Itsissejuhatus11.ppt]], [[Media:Itsissejuhatus11.pdf|Itsissejuhatus11.pdf]]
* Kell 12:15: rekursioon.


* Kell 13:45: Veebirakendused teine osa: fookus progedele ja serveripoole tehnoloogiatele. Loengu annab Martin Verrev. Siin on [[Media:ITI0101_24_04_Veebirakendused_2.pdf| loenguslaidid]]. Tuleta meelde esimese osa Martini slaide [[Media:ITI0101_24_04_Veebirakendused.pdf|siin]].  Vaata täienduseks ka Taneli loengumaterjali (nende kohta eksamil otse küsimusi ei tule, tuleb ainult eelmiste slaidide kohta):[[Media:Itsissejuhatus10a20.ppt|Itsissejuhatus10a20.ppt]], [[Media:Itsissejuhatus10a20.pdf|Itsissejuhatus10a20.pdf]]
* Kell 14:00: algoritmid ja keerukus. Ülevaade kursusest.   
:Loengumaterjal: [[Media:Algoritmid_2024.pdf|Algoritmid_2024.pdf]].


* [https://echo360.org.uk/media/9f26eb69-8b4d-44be-8284-4533732d7f4c/public Loenguvideo]: paistab olema alles ainult esimese loengu salvestus.
* 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. 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.  
<!--
* [https://echo360.org.uk/media/1563949d-8f57-41c3-a66d-f9937d3ca93f/public Loengusalvestus]
-->
<!--
* Kell 13:45: [https://taltech.ee/en/dirk-draheim Dirk Draheim] räägib tõenäosustest: loeng inglise keeles! Presentatsioon ilmub siia saabuval nädalal.
-->
* 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. 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".


Lisaks proovi ja loe veidi rekursiooni teemadel:  
Lisaks proovi ja loe veidi rekursiooni teemadel:  
<!--
:* [https://en.wikipedia.org/wiki/Data_science andmeteadus]
-->
:* [http://en.wikipedia.org/wiki/Fractal Fraktaalid wikipedias]
:* [http://en.wikipedia.org/wiki/Fractal Fraktaalid wikipedias]
:* [http://blog.hvidtfeldts.net/index.php/category/mandelbulb/ Mandelbub] ja [https://www.youtube.com/results?search_query=mandelbub selle videoklipid] [https://www.youtube.com/watch?v=Tj6rip3G62Y&feature=youtu.be Mandelbox and Flying Lights], [https://www.youtube.com/watch?v=bKknJvZIn24&feature=youtu.be Like in a dream II], [https://www.youtube.com/watch?v=APsLfpfDGOI&feature=youtu.be Weird planet II]. Taustaks veel [http://www.math.utah.edu/~bresslof/publications/01-1.pdf Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex]
:* [http://blog.hvidtfeldts.net/index.php/category/mandelbulb/ Mandelbub] ja [https://www.youtube.com/results?search_query=mandelbub selle videoklipid] [https://www.youtube.com/watch?v=Tj6rip3G62Y&feature=youtu.be Mandelbox and Flying Lights], [https://www.youtube.com/watch?v=bKknJvZIn24&feature=youtu.be Like in a dream II], [https://www.youtube.com/watch?v=APsLfpfDGOI&feature=youtu.be Weird planet II]. Taustaks veel [http://www.math.utah.edu/~bresslof/publications/01-1.pdf Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex]
:* [http://tilde.club/~david/m/ kiire Mandelbroti fraktaal online] ja [https://guciek.github.io/web_mandelbrot.html#-0.5;0;2;1000  veidi aeglasem]
:* [http://tilde.club/~david/m/ kiire Mandelbroti fraktaal online] ja [https://guciek.github.io/web_mandelbrot.html#-0.5;0;2;1000  veidi aeglasem]
<!-- :* [http://www.softwarefederation.com/fractal.html Fraktaalide applet] vali vasaku hiireklahvi abil sisemine ala ja joonista uus
-->
:* [http://rosettacode.org/wiki/Mandelbrot_set Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles]
:* [http://rosettacode.org/wiki/Mandelbrot_set Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles]
:* 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].
620. rida: 443. 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]


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]


=== 14. nädal: Tarkvara arendusprotsess ja tarkvaratoodete ehitamine ===
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]
 
=== 11. nädal:  algoritmid: lahenduvus ja teoreetiline arvutiteadus ===
 
13. november
 
* Kell 12:15:  Algoritmid: lahenduvus.
:Loengumaterjal: [[Media:Itsissejuhatus13a.ppt|Itsissejuhatus13a.ppt]], [[Media:Itsissejuhatus13a.pdf|Itsissejuhatus13a.pdf]].
 
* Kell 14:00: Teoreetiline arvutiteadus.
:[[Media:pawel_logic.pdf|Loengumaterjal 2023 aastast]]
 
* Eksamiks:  Lahenduvus teoreetilises ja tavamõttes, mis on lahenduvad ülesanded. Positiivsete täisarvude, positiivsete/negatiivsete ja murdarvude võimsuse võrdlemine ja tõestamine. Reaalarvude suurem võimsus kui täisarvude võimsus (Cantori teoreem): tõestuse idee. Mis on peatumisprobleem, selle lahendamatuse tõestuse idee.
 
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.
 
 
=== 12. nädal: tehisintellekt ja masinõpe ===
 
20. november
 
* Kell 12:15: tehisintellekt üldpildina
 
* Kell 14:00: masinõpe.
: [[Media:Machine_Learning_2022.pdf|Loenguslaidid]]. Priit õpetab mh kursust [https://ois2.taltech.ee/uusois/aine/ITI0210 Tehisintellekti ja masinõppe alused]
 
* 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 põhiosadest koosnevad tehis-närvivõrgud, mida kasutatakse masinõppes. Mida närvivõrkudega õppe käigus tegelikult tehniliselt muudetakse? Mis on supervised learning, reinforcement learning, unsupervised learning (eeskätt, mille poolest nad üksteisest erinevad)?
 
Lisaks tehisintellekti teemal nö klassikalisi materjale:
:* [[Media:Ai_sissejuhatus_c_2023.pdf|Taneli AI sissejuhatuse materjalid]].
:*Väga hea mõte on teha ise läbi lihtne sissejuhatav MOOC-kursus tehisintellektist: [http://www.elementsofai.ee/ eestikeelne] või https://www.elementsofai.com/ inglisekeelne].
:* [https://openai.com/ GPT ja DALL-E] ise katsetamiseks: rega ja proovi! Tasuline, aga (a) suur hulk krediiti algul (st algus tasuta) (b) katsetamiseks ka edasi väga odav
:* [https://www.bostondynamics.com/ Boston Dynamics] [https://www.youtube.com/watch?v=tF4DML7FIWk atlas] ja [https://www.youtube.com/watch?v=9aUBpByABiA valus variant] ja [https://www.youtube.com/watch?v=PQr6U3RWzVg big dog]. Eriti soovitav Marc Raiberti [https://www.youtube.com/watch?v=AO4In7d6X-c TED talk]: vaata kindlasti valusat faili hetkel 5:28 :)
:* Darpa [http://en.wikipedia.org/wiki/DARPA_Grand_Challenge grand challenge 2005] ja [https://www.youtube.com/watch?v=g0TaYhjpOfo darpa robotics challenge (2012-2015) fails compilation]
* [https://en.wikipedia.org/wiki/Rodney_Brooks Rodney Brooksi] väike tehisintellekti-sari [https://rodneybrooks.com/forai-steps-toward-super-intelligence-i-how-we-got-here/ osa 1], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-ii-beyond-the-turing-test/ osa 2], [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iii-hard-things-today/ osa 3],  [https://rodneybrooks.com/forai-steps-toward-super-intelligence-iv-things-to-work-on-now/ osa 4] ja [https://rodneybrooks.com/blog/ blog]
* Marvin Minsky [http://aurellem.org/society-of-mind/ The Society of Mind]
:* [http://www.youtube.com/watch?v=-rMMTv7XLYw Õppimisalgoritmidest] ja [http://research.google.com/pubs/ArtificialIntelligenceandMachineLearning.html Google artiklid õppimisalgoritmidest]
:* Teadmiste integraatorid [http://blog.stephenwolfram.com/2011/01/jeopardy-ibm-and-wolframalpha/ Ibm Watson, Wolfram Alpha] ja [http://en.wikipedia.org/wiki/Siri_%28software%29 Siri]
:* [https://allenai.org/#nlp allen AI]: vaata ka projektide ülamenüüst Demo lingi alt online demosid
* [https://www.eclecticenergies.com/ego/eliza Klassikaline vestlev pseudointellekt Eliza]
:* A.I. filosoofia osas loe [http://en.wikipedia.org/wiki/Philosophy_of_artificial_intelligence peamist wikiartiklit] ja [http://en.wikipedia.org/wiki/Functionalism_(philosophy_of_mind) wikiartiklit funktsionalismist]
:* Loe [[Media:Aifilosoofia_ttmatrix.doc|Matrix, Skynet ja sõda teispoolsusega]], [http://ase.tufts.edu/cogstud/dennett/recent.html Dennetti artikleid], [http://aima.cs.berkeley.edu/ tuntud õpikut],
 
Taustakuulamiseks soovitavaid podcastiepisoode:
:* Eriti soovitav filosoofia/praktika kokkupuutepunktina [https://lexfridman.com/steven-pinker/ Steven Pinkeri] episood väga heast ja populaarsest [https://lexfridman.com/ai/ ai podcastist].
:* Neurorehkenduste ja sümbolrehkenduste vaidluse teemal kuula [https://lexfridman.com/gary-marcus/ Gary Marcuse episoodi] AI podcastist ja vastupidi, [https://lexfridman.com/david-silver/ David Silveri episoodi] Alphago, Alphazero jms teemadel. Lisaks videona [https://youtu.be/EeqwFjqFvJA Yoshua Bengio ja Gary Marcuse diskussioon]-
:* Praktilise AI ehitamise teemal kuula [https://lexfridman.com/david-ferrucci/ David Ferrucci] ibm watsoni episoodi
:* Vali neist A.I. podcastist mõned ja kuula: [https://lexfridman.com/ben-goertzel/ Goertzel], [https://lexfridman.com/tomaso-poggio/ Poggio],[https://lexfridman.com/richard-dawkins/ Dawkins], [https://lexfridman.com/noam-chomsky/ Chomsky], [https://lexfridman.com/nick-bostrom/ Bostrom], [https://lexfridman.com/jeff-hawkins/ Hawkins], [https://lexfridman.com/judea-pearl Pearl]
:* Soovitavaid A.I. podcaste üldse: [https://lexfridman.com/podcast endise nimega A.I. podcast] ja siis tehnilisemad [https://braininspired.co/ ajuteaduse-fookusega A.I. podcast]
 
Lisaks uuri masinõppe kohta:
:* 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]
:* Masinõpe [https://en.wikipedia.org/wiki/Machine_learning vikipeedias]
:* Deep learning [https://cs.stanford.edu/people/karpathy/convnetjs/index.html otse brauseris]
:* [https://braininspired.co/ Brain inspired] podcast neuroteaduse ja veidi masinõppe teemadel: jutuajamised päris neuroteadlastega.
:* Kaggle [https://www.kaggle.com/competitions  competitions] ja [https://www.kaggle.com/learn iseõppe kursused]
:* [https://en.wikipedia.org/wiki/Generative_pre-trained_transformer GPT vikipeedias] ja selle baasil tehtud Github copilot [https://en.wikipedia.org/wiki/GitHub_Copilot vikipeedias] ja [https://copilot.github.com/ otselink].
:* [https://openai.com/api/ GPT-3/4 jne ja DALL-E] api ise katsetamiseks: rega ja proovi! Tasuline, aga (a) suur hulk krediiti algul (st algus tasuta) (b) katsetamiseks ka edasi väga odav
 
 
=== 13. nädal:  suured keelemudelid ja planeerimisel ===


5. detsember.
27. november


* Kell 12: Tarkvaraarendusprotsess, projektid ja IT äri. Loengumaterjal: [[Media:Itsissejuhatus_projektid_raha_22.pdf|Itsissejuhatus_projektid_raha_22.pdf]].
* Kell 12:15: suured keelemudelid
:Loengumaterjal: [[Media:Keelemudelid.pdf|Keelemudelid.pdf]]


* Kell 13:45: [https://www.linkedin.com/in/uku-tammet/ Uku] (endine [http://wise.com Wise], praegune [https://getalign.com/ getalign.com]) räägib tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal. Presentatsioon 2023: [[Media:Tootefirmad 2023.pdf|Tootefirmad 2023.pdf]]
* Kell 14:00: planeerimisel


* [https://echo360.org.uk/media/91544439-42f9-4ad5-8ad1-2c79f6587762/public Videosalvestus]
* 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?


* Eksamiks: Projektidest: Projekti jaotus etappideks, kosemudel vs agiilne arendus. Alltoodud kohustuslike projektide/äri-artiklite läbilugemine. 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?
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://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 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]


=== 15. nädal: Hajussüsteemid, plokiahelad ja ajuteadus ===
=== 14. nädal: Hajussüsteemid, plokiahelad ja ajuteadus ===


12. detsember.
4. detsember


* Kell 12: 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 12:15: 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 13:45: Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
* Kell 14:00: Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
:Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]].
:Loengumaterjal: [[Media:Brain_science.pdf|Brain_science.pdf]].
* Eksamiks nende loengute kohta küsimusi ei tule.


Täiendavalt hajussüsteemidest: vaata [http://lambda.ee/wiki/Hajuss%C3%BCsteemid seda kursust].
Täiendavalt hajussüsteemidest: vaata [http://lambda.ee/wiki/Hajuss%C3%BCsteemid seda kursust].
685. rida: 561. rida:
:* Klassikaline podcastisari [https://brainsciencepodcast.com/ Brain Science] on samuti päris hea.
:* Klassikaline podcastisari [https://brainsciencepodcast.com/ Brain Science] on samuti päris hea.


=== 16. nädal: Konsultatsioon eksamiks ===


19. detsember
=== 15. nädal:  tarkvara arendusprotsess ja konsultatsioon eksamiks ===
 
11. detsember
 
* Kell 12:15: Tarkvara arendusprotsess, projektid ja IT äri.  Loengumaterjal: [[Media:Itsissejuhatus_projektid_raha_22.pdf|Itsissejuhatus_projektid_raha_22.pdf]].
 
* Kell 14:00:  konsultatsioon eksamiks
 
* Eksamiks: Projektidest: Projekti jaotus etappideks, kosemudel vs agiilne arendus. Alltoodud kohustuslike projektide/äri-artiklite läbilugemine.
 
 
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]
:* [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:  tarkvaraettevõtted, olulised praktilised oskused ja reserv ===
 
18.  detsember
 
* Kell 12:15:  tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal. Presentatsioon 2023: [[Media:Tootefirmad 2023.pdf|Tootefirmad 2023.pdf]]
 
* Kell 14:00:  reserv: sisu hiljem


* Kell 12: Konsultatsioon eksamiks
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?


Konsultatsioon toimub ainult <b>teamsis</b> [https://teams.microsoft.com/l/meetup-join/19%3aNaQ9YeIHhRzLiWeXNHMfBAxcPnPX7DjgZO3kUs2jRek1%40thread.tacv2/1734599847259?context=%7b%22Tid%22%3a%223efd4d88-9b88-4fc9-b6c0-c7ca50f1db57%22%2c%22Oid%22%3a%22e3e55dca-e89b-46ae-b8ee-1d158e79281d%22%7d sellel lingil], mitte füüsiliselt auditooriumis!


== Näiteid vanadest eksamitest ==
== Näiteid vanadest eksamitest ==

Redaktsioon: 3. september 2025, kell 12:57

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

IT
IT

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

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

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. Hetkel seda linki siin lehel veel ei ole. Videoalvestuste lingid leiad edaspidi 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:15: loeng eksamiks vajalike materjalide ja koduülesannetega. Õppejõud üldjuhul Tanel Tammet.
  • Neljapäeval kell 14:00: nii tavaloengud kui süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Erinevad õppejõud. Ka siin antakse vahel koduülesandeid.

Sessiooniõppe (IADB10A, IADB10B) sissejuhatav loeng on reedel, 5. septembril kell 17:45 - 19:15 hetkel teadmata auditooriumis.

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

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

Palun täida korrektselt alguse väljad matriklinumber, nimi ja email: nende järgi lähevad tulemused sulle arvesse. "Matriklinumber" on sinu tudengikood, a la 205384iadb.

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.

Kontrolltöö ilmub siia peatükki hiljemalt loengujärgsel reedel ja jääb üles vähemalt järgmise loengupäeva (neljapäev) lõpuni.

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, ajaloo algus ... 1940

4. september.

  • Kell 12:15: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
Loengumaterjal: itsissejuhatus1a24.pptx, itsissejuhatus1a24.pdf.
  • Kell 14:00: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
Loengumaterjal: itsissejuhatus1b24.pptx, itsissejuhatus1b24.pdf
  • Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid.

Lisaks esimesele loengule:

Lisaks teisele loengule:


2. nädal: Keskajalugu 1940-1960 ja arvuti riistvara

11. september.

  • Kell 12:15: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
Loengumaterjal: Itsissejuhatus3o.ppt, Itsissejuhatus3o.pdf.
  • Kell 14:00: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
Loengumaterjal: Itsissejuhatus_proc_23.ppt, Itsissejuhatus_proc_23.pdf.
  • Eksamiks: transistor, Samuel, Shockley semiconductor, Fortran, Fairchild, Sage, Texas instruments, integraalskeem, cobol, lisp, pdp-1, system 360, moore's law, intel, amd, Engelbart, Unix, esimene mikroprotsessor. Relee, lihtsad elektroonikaskeemid, mitme biti liitja ja lahutaja, lihtsad mälutüübid. Peaksid oskama ehitada väikese loogikavalemi järgi loogikakomponentidest elektroonikaskeemi, mis seda realiseerib, samuti koostada paaribitiste sisendite liitjat/lahutajat, samuti kolme eraldi biti liitjat ja trigerit.

Lisaks esimesele loengule:

Lisaks teisele loengule riistvarast:


3. nädal: tekstitöötlus ja tabelarvutus: loengud annab Ivari Horm

18. september.

4. nädal: sisu ja ettekanded planeerimisel. Robootika ja küberkaitse?

25. september.

5. nädal: Keskajalugu 1970 ... 1990 ja masinalähedane programmeerimine

2. oktoober

  • Kell 12:15: Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
Loengumaterjal: Itsissejuhatus4o.ppt, Itsissejuhatus4o.pdf.
  • Kell 14:00: 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: esimene mikroprotsessor, sql, arpanet, atari, cp/m, winchester, altair, alto, unix ja C, microsofti algus, apple algus, 1977 koduarvutid, visicalc, apple II, symbolics, ibm pc, sun, oracle, macintosh, apple ja microsofti tooteliinid. Riistvarast mälu tehnoloogia, cache ja mälu hierarhia, mis on assembler ja seos riistvaraga, mis on kompileerimine, linkimine, mis teeb loader.

Lisaks esimesele loengule:

Lisaks teisele loengule:


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

9. oktoober

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

Lisaks andmete esitusest:

Muud huvitavat:

7. nädal: programmeerimiskeeled ja opsüsteemid

16. oktoober

  • Kell 12:15: Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
Loengumaterjal: itsissejuhatus_keeled.ppt, itsissejuhatus_keeled.pdf,
  • Kell 14:00: opsüsteemid
Loengumaterjal: Itsissejuhatus_opsyst.ppt, Itsissejuhatus_opsyst.pdf.
  • Eksamiks: Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python). Opsüsteemi roll, mis on distro, mis on Linux, mis on mac OS X, Android, protsessid, multitasking, paralleeltöö, wait/run, mis on interrupt, mis on virtuaalmälu.

Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:

Lisaks ajaloost:

Tillukeste interpretaatorite ja kompilaatorite koodinäited:

Tutvu veidi nende progekeelte populaarsus-võrdlustega:

Siis vaata veidi neid asju:

Soovitavat katsetamist opsüsteemidega:

Eriti soovitavat lugemist opsüsteemidest:

Muidu soovitavat lugemist opsüsteemidest:

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

8. nädal: sisu ja ettekanded planeerimisel. Interneti funktsioneerimine ja andmebaasid?

23. oktoober

  • 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:

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


9. nädal: veebirakendused ja tarkvara arhitektuur

30. oktoober

  • Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
Loengumaterjal: Itsissejuhatus9a21.ppt, Itsissejuhatus9a21.pdf.
  • Eksamiks: 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: http, https, html, css, javascript, json, "ajax". Veebirakendused: kuidas üldjoontes töötab klassikaline veebirakendus ja kuidas single-page app (koodinäiteid / nende detaile ei küsita).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.

Veebirakenduste teemal vaata veel:

Kohustuslikku lugemist arhitektuuri teemal eksamiks:

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

Lisaks: täiesti mittekohustuslikke ideid lugemiseks:


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

6. november

  • Kell 12:15: rekursioon.
  • Kell 14:00: algoritmid ja keerukus. Ülevaade kursusest.
Loengumaterjal: Algoritmid_2024.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. 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 proovi ja loe veidi rekursiooni teemadel:

Vaata ja proovi näiteid modifitseerida:
Huvi korral katseta


Täiendavalt algoritmide teemal:

11. nädal: algoritmid: lahenduvus ja teoreetiline arvutiteadus

13. november

  • Kell 12:15: Algoritmid: lahenduvus.
Loengumaterjal: Itsissejuhatus13a.ppt, Itsissejuhatus13a.pdf.
  • Kell 14:00: Teoreetiline arvutiteadus.
Loengumaterjal 2023 aastast
  • Eksamiks: Lahenduvus teoreetilises ja tavamõttes, mis on lahenduvad ülesanded. Positiivsete täisarvude, positiivsete/negatiivsete ja murdarvude võimsuse võrdlemine ja tõestamine. Reaalarvude suurem võimsus kui täisarvude võimsus (Cantori teoreem): tõestuse idee. Mis on peatumisprobleem, selle lahendamatuse tõestuse idee.

Vaata lisaks lahenduvuse teemal:


12. nädal: tehisintellekt ja masinõpe

20. november

  • Kell 12:15: tehisintellekt üldpildina
  • Kell 14:00: masinõpe.
Loenguslaidid. Priit õpetab mh kursust Tehisintellekti ja masinõppe alused
  • 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 põhiosadest koosnevad tehis-närvivõrgud, mida kasutatakse masinõppes. Mida närvivõrkudega õppe käigus tegelikult tehniliselt muudetakse? Mis on supervised learning, reinforcement learning, unsupervised learning (eeskätt, mille poolest nad üksteisest erinevad)?

Lisaks tehisintellekti teemal nö klassikalisi materjale:

Taustakuulamiseks soovitavaid podcastiepisoode:

Lisaks uuri masinõppe kohta:


13. nädal: suured keelemudelid ja planeerimisel

27. november

  • Kell 12:15: suured keelemudelid
Loengumaterjal: Keelemudelid.pdf
  • Kell 14:00: planeerimisel
  • 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:


14. nädal: Hajussüsteemid, plokiahelad ja ajuteadus

4. detsember

  • Kell 12:15: Hajussüsteemid, plokiahelad ja krüptoraha.
Kasutame osi mõlemist materjalist: Dirk Drahemi loenguslaidid ja T.Tammeti P2P loenguslaidid
  • Kell 14:00: Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
Loengumaterjal: Brain_science.pdf.

Täiendavalt hajussüsteemidest: vaata seda kursust.

Täiendavalt plokiahelatest:

Täiendavalt ajuteaduse teemal:


15. nädal: tarkvara arendusprotsess ja konsultatsioon eksamiks

11. detsember

  • Kell 14:00: konsultatsioon eksamiks
  • Eksamiks: Projektidest: Projekti jaotus etappideks, kosemudel vs agiilne arendus. Alltoodud kohustuslike projektide/äri-artiklite läbilugemine.


Lisaks projektidest:


16. nädal: tarkvaraettevõtted, olulised praktilised oskused ja reserv

18. detsember

  • Kell 12:15: tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal. Presentatsioon 2023: Tootefirmad 2023.pdf
  • Kell 14:00: reserv: sisu hiljem

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

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

Kohustuslikud lugemismaterjalid

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


Loe iga päev

Kuula

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

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

  • Brain Inspired: päris neuroteaduse podcast, kerge fookusega seostele AI-ga
  • The Gradient: hea üldisem AI podcast, samas päris deep

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.