Sissejuhatus infotehnoloogiasse: erinevus redaktsioonide vahel
| 56. rida: | 56. rida: | ||
* [http://dijkstra.cs.ttu.ee/~tammet/cgi-bin/qshow20.py kontrolltöö 20, kella 12. loengu teemadel] | * [http://dijkstra.cs.ttu.ee/~tammet/cgi-bin/qshow20.py kontrolltöö 20, kella 12. loengu teemadel] | ||
* [http://dijkstra.cs.ttu.ee/~tammet/cgi-bin/qshow21.py kontrolltöö 21, kella 14. loengu teemadel] | * [http://dijkstra.cs.ttu.ee/~tammet/cgi-bin/qshow21.py kontrolltöö 21, kella 14. loengu teemadel] | ||
<!-- | <!-- | ||
Redaktsioon: 16. november 2020, kell 23:06
...ajalugu, suunad, põhialused, tehnoloogia, äri.
![]() |
Ainekood: ITI0101 Õppejõud: Tanel Tammet |
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
Enamik 2020 aasta loenguid on vaadatavad kahelt eraldi lingilt
Pane tähele, et vanemad loengud on alguses ja uuemad lõpupoole, ning seni toimumata loengute videoslotid on esialgu tühjad.
Maht, aeg, tulemus
Kaks loengut nädalas. Kui pole teisiti märgitud, toimuvad kõik loengud auditooriumites U06A-201 ning U06A-229 järgmistel aegadel:
- Neljapäeval kell 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega. Õppejõud Tanel Tammet.
- Neljapäeval kell 14:00: süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Erinevad õppejõud. Ka siin antakse vahel koduülesandeid.
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 kümne-kahekümne küsimusega mikro-kontrolltöö ühe nädala materjalide kohta, aega selleks on loengupäevast kuni järgmise loengupäevani (siis tulevad uued materjalid).
Nädala kontrolltööd publitseeritakse hiljemalt loengupäeva õhtuks.
Samuti antakse kursuse käigus teha väikeseid harjutusi: need tuleb teha iseseisvalt ja tulemused vastata samades mikro-kontrolltöödes.
Kursuse hinne arvutatakse nii: eksamipunktid (0...100) + kontrolltööde summaarne tulemus. Positiivsed hinded algavad 50 punktist. Igas kontrolltöös on ca kümme küsimust: 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öö ja koduülesanne
Üheteistkümnenda nädala kontrolltööd:
Kontrolltöö jaoks sisse logida ei ole vaja, täida vorm ja valikud ja vajutada "Salvesta" nuppu. Kontrolltöö salvestamise järel sa ei näe, mis läks õigesti ja mis ei, ega mitu punkti said. Vahetulemused pannakse üles iga kuu lõpuks. Kontrolltöö ilmub siia peatükki lingina loengupäva õhtuks või järgmise päeva hommikuks ja jääb üles järgmise loengupäevani, kuni tulevad uued küsimused.
Septembri kontrolltööde (nr 1 kuni nr 8) tulemused on siin.
Praktilised iseseisvad tööd
Kursuse käigus tuleb teha mõned iseseisvad praktilised tööd, mille kohta on jooksvates kontrolltöödes küsimusi ja mille ainetel tulevad mõned küsimused eksamil.
Loengute plaan ja materjalid
Kursusel ei ole ühtegi konkreetset õpikut. Järgnevas on toodud iga loenguga seotud materjalid eraldi.
Kursus jaguneb kaheks blokiks: esimene kolmandik sissejuhatus ja ajaloopõhine tehnoloogiaülevaade, järgmised kaks kolmandikku erinevad tehnoloogiad, arvutiteadus ja äri.
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: arvuti ja info, ajaloo algus ... 1940
3. september.
- Kell 12: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
- Loengumaterjal: itsissejuhatus1a20.ppt, itsissejuhatus1a20.pdf.
- Kell 14: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
- Loengumaterjal: itsissejuhatus2a.ppt, itsissejuhatus2a.pdf
- Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid.
Lisaks esimesele loengule:
- vaata väikest Turingi masina videot
- loe juttu ja mängi andmete esitamise appletiga. Vajab javat ja sul brauseri all tõenäoliselt käima ei lähe. Seega kas: (a) loe siit, kuidas Ecki laborid oma masinasse panna ja lae alla ning katseta laboriga DataReps.jar mille jutu leiad siit allosast Data Representations alt (b) või säti brauser lubama valitud applette: loe siit
- loe läbi: Paul Graham: Why nerds are unpopular?
- valdkonnad
- some random notes on mind, language and machines
Lisaks teisele loengule:
- Kruusi diskreetse matemaatika kursus!
- Paul Graham: What you'll wish you'd known
- Sama asi diskreetse matemaatika kursuses: harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid (1, 2, 3) tee ülesandeid ise juurde ja kasuta logictools.org/prop.html enesekontrolliks. Vajuta algul "help" nuppu, siis näed, kuidas valemeid kirjutada. Tõeväärtustabeli jaoks vajuta '"Build" a truth table' nuppu.
- Turingi masina simulaator
- Alustada: Loogika aine ja ajalugu
- lõpmatuse osa BBC dokumentaalsarjast
- Varastest masinatest:
- Jacquard'i kangasteljed
- QWERTY klaviatuuri päritolust ja teistsugune arvamus ja mõne eritähe ajalugu
- Näide olulisest analoogarvutist: Norden bombsight
- Inglise krüptosaaga: Colossus, Turing, sakslaste Enigma ja Lorenz SZ 40
- Esimesed digitaalsed elektriga töötavad arvutid:
- Konrad Zuse
- Atanasoffi elektronarvuti
- Mark I: esimene programmeeritav elektromehaaniline arvuti.
- Kuula Jim Kelleri episoodi "Moore’s Law, Microprocessors, Abstractions, and First Principles"
2. nädal: Keskajalugu 1940-1960 ja arvuti riistvara
10. september.
- Kell 12: Keskajalugu : II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
- Loengumaterjal: Itsissejuhatus3o.ppt, Itsissejuhatus3o.pdf.
- Kell 14: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
- Loengumaterjal: Itsissejuhatus_proc_21.ppt, Itsissejuhatus_proc_21.pdf.
- Eksamiks: transistor, Samuel, Shockley semiconductor, Fortran, Fairchild, Sage, Texas instruments, integraalskeem, cobol, lisp, pdp-1, system 360, moore's law, intel, amd, Engelbart, Unix, esimene mikroprotsessor. Relee, lihtsad elektroonikaskeemid, mitme biti liitja ja lahutaja, lihtsad mälutüübid. Peaksid oskama ehitada väikese loogikavalemi järgi loogikakomponentidest elektroonikaskeemi, mis seda realiseerib, samuti koostada paaribitiste sisendite liitjat/lahutajat, samuti kolme eraldi biti liitjat ja trigerit.
Lisaks esimesele loengule:
- Paul Graham: Undergraduation pluss järelmärkused: more advice for undergrads
- IBM-i varased mehaanilised tabulaatorid
- ferriitmälu
- Fortran ja IBM 704 ja taustaks raadiolampidega arvutite suur tabel
- Brittide varaseimad arvutid Manchesteris
- PDP-1 restoration project, ,Spacewar: esimene graafiline arvutimäng, ja ajaloo-video,töötav versioon javascriptis ja taustaks esimeste arvutimängude tabel
- Ivan Sutherland's sketchpad video vt ka sketchpadi artikkel
- Douglas Engelbart "mother of all demos"
- SAGE
- Counterculture
- Silicon Valley vt ka seda kaarti
- Whole earth catalog wikis ja skaneeritud sisu
Lisaks teisele loengule riistvarast:
- Jim Kelleri episood A.I. podcastist
- lühike lugu transistoride kasutamisest loogikalülituste ehitamiseks ja vaata veidi täienduseks siit
- 4-bit adder tutorial in detail
- Tore mõte on teha D.Ecki harjutusi, osad siit: 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: 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:
- Head alternatiivsed simulaatorid katsetamiseks ja skeemide ehitamiseks:
- Minecraft: redstone ja arvutid
- introd siin ja siin ja loogikalülitused
- shock and awe: täielik 4-bitine arvuti minecraftis
- Veidi tutvuda nende saitidega:
- Loe, kuidas ARM chipid alguse said ja olid inspireeritud 6502 protsessorist:
- Protsessori simuleerimine ja ise ehitamine:
- Mikrokontrollerid ja system on a chip:
- mikrokontrollerite ülevaade detailidega: kõik alla 1 dollari
- Raspberry Pi SOC
3. nädal: Keskajalugu 1970 ... 1990 ja masinalähedane programmeerimine
17. september
- Kell 12: Keskajalugu jätkub: seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
- Loengumaterjal: Itsissejuhatus4o.ppt, Itsissejuhatus4o.pdf.
- Kell 14: Masinalähedane programmeerimine: assembler ja C.
- Loengumaterjal: Itsissejuhatus_progealused_20.ppt, Itsissejuhatus_progealused_20.pdf.
- Tööta läbi nii palju Easy 6502 pisiõpikust kui jõuad.
- Loe The infinite space between words
- Loe Latency numbers ja soovitavalt lisaks palju detailsemalt
- 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. Assembler ja seos riistvaraga ja abstraktsemad kihid (täpsustamisel).
Lisaks esimesele loengule:
- Jätk küsimusele "mida ülikoolis teha?". Joel Spolsky: Advice for Computer Science College Students
- soovitav kuulata: episood arvutimängudest MindScape podcastist ja mängi episoodi külalise paperclips mängu ja loe tausta
- Apple 1984 Macintosh: reklaamklipp ja Steve Jobs esitlemas ja 1985 mac office lemmings ja wiki
- intel 4004 skeemid, simulaatorid ja ajalugu, simulaator
- MOS 6502 simulaator ja easy 6502 pisiõpik ja terminaator oli progetud 6502 assembleris klipp
- Spacewar: esimene graafiline arvutimäng,töötav versioon javascriptis
- Atari muuseum
- mehaaniline pong ja taustaks
- SRI international
- Bell labs
- Eric Raymond: How to become a hacker
- Colossal Cave (adventure) teksti-seiklusmäng online ja veidi vigane javascripti versioon. Vaata ka suuremat kollektsiooni vanade teksti-seiklusmängude javascripti-versioonidest.
- Magnavox odyssey
- Apple II Karateka simu (mängimiseks qwaszx(? või all paremal klahvid ?), tühik ja nooleklahvid). Vaata taustaks Karateka, Jordan Mechner ja Prince of Persia
Lisaks teisele loengule:
- Segaduses algajad
- Väga hea raamat riistvaralähedasest programmeerimisest: Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University
- Vaata, kuidas eri kompilaatorid assemblerit genereerivad
- Loe veidi ja uuri What every programmer should know about memory
- Väga vanade koduarvutite lag oli väiksem, kui praegustel: Computer latency: 1977-2017
4. nädal: Lähiajalugu 1990-... ja andmetüübid masinalähedaselt
24. september.
- Kell 12: Lähiajalugu: kaheksakümnendate teine pool kuni 2005. IBM PC, Macintosh, uued vanad opsüsteemid. Võrgundus ja veeb.
- Loengumaterjal a osa:Itsissejuhatus5oa.ppt, Itsissejuhatus5oa.pdf.
- Loengumaterjal b osa:Itsissejuhatus5ob.ppt, Itsissejuhatus5ob.pdf.
- Loengumaterjal c osa:Itsissejuhatus5oc.ppt, Itsissejuhatus5oc.pdf.
- Kell 14: loeng andmetüüpidest 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, stringid, massiivid, puud.
Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:
- global productivity slowdown
- Peter Thiel: we wanted flying cars, instead we got 140 characters ja hariduse eesmärkidest ja kommentaare sellele
- biotechi innovatsiooni aeglustumine ja kiirelt kasvavad kulud
- has progress in science and technology come to a halt?
- freakonomicsi podcast samal teemal
Lisaks ajaloost:
- Arvutimuuseum Tartu ülikoolis
- GUI ajalugu
- 101 arvutireklaami
- Arvutite ajaloolised tv-reklaamid
- "Teejuht võrgumeediasse" toorik aastatest 1995-1996. Pakub eeskätt ajaloolist huvi.
- Tutvu: J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest
- Apple Macintoshi reklaamfilm: 1984
Lisaks andmete esitusest:
- ujukoma-arvude seletus ja detailsemalt wikipedias ja ajaloost
- how to implement strings
- ja kuidas python stringe optimeerib
- pythoni listid sisemiselt
- kataloog puude visualiseerimise viisidest
- hulk eri andmetüüpide visualiseeringuid
Muud huvitavat:
5. nädal: E-riigi alused ja programmeerimiskeeled ja nende realisatsioon
1. oktoober.
- Kell 12: Margus Püüa räägib E-riigi alustest.
- Loengumaterjal: E-riigi arendamine_2020.pdf lk 1-40
- Kell 14: Erinevad programmeerimiskeeled ja kompileerimine/interpreteerimine.
- Loengumaterjal: itsissejuhatus7.ppt, itsissejuhatus7.pdf
- Eksamiks: kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python).
Lisaks:
Tutvu veidi nende populaarsus-võrdlustega:
- Tiobe programmeerimiskeelte populaarsusindeks
- Githubi progekeelte populaarsusindeks
- Põhjalik Githubi repode analüüs mh keelte kaupa
- Nõudluse järgi üks populaarsusindeks ja teine populaarsusindeks
Tillukeste interpretaatorite ja kompilaatorite koodinäited:
Siis vaata veidi neid asju:
- Programming languages influence network
- Computer languages history
- Wikpedia list ja Wikipedia võrdlused
- Computer language benchmarks
- Pikk raamat päris tarkvarast päris algajatele
- vaata detailset ülevaadet parallelismist mikroprotsessorites
- Toredad Pythoni pisi-mängud programmeerimise harjutustena
- How Python works: esimene osa, teine osa
Ja väga detailidesse minekuks on huvitav lugeda Javascripti interpretaatorite/kompilaatorite optimeeringutest:
6. nädal: Operatsioonisüsteemid ja tekstitöötlus
8. oktoober
- Kell 12: Operatsioonisüsteemid
- Loengumaterjal: Itsissejuhatus8a9.ppt, Itsissejuhatus8a9.pdf.
- Kell 14: Ivari Horm räägib tekstitöötlusest.
- Loengumaterjal: teksti toimetamine. Lisaks (mittekohustuslik) on siin allpool lingid näitefailide algfailidele ja tulemustele.
- 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.
Soovitavat katsetamist:
- levinux: eksperimenteerimiseks mõeldud mikro-linux: "tiny virtual Linux server that runs from USB or Dropbox with a double-click (no install or admin rights required) on Macs, Windows or Linux PCs"
- Linux windowsis - WSL - Microsofti õpetus
- Eriti soovitavat lugemist:
- Muidu soovitavat lugemist:
- Wikipedia artikkel opsüsteemidest
- Linux distributions
- päris hea opsüsteemide ehituse pisi-tutorial
- Ulrich Drepperi cache-lühiülevaade ja paralleelsuse-ülevaade
- üldse mitte kohustuslik (algajatel raske mõista :-) The Art of Unix Programming
- Minix: Linuxi inspiratsiooniks olnud mini-UNIX
- Unix history
- virtuaalmälu vikipeedias
- multitasking vikipeedias
- Väga detailne ülevaade mälu organiseerimisest
7. nädal: Tarkvara arhitektuur ja küberkaitse
15. oktoober.
- Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid jms.
- Loengumaterjal: Itsissejuhatus9a20.ppt, Itsissejuhatus9a20.pdf.
- Kell 14: Sten Mäses räägib küberkaitsest.
- Loengumaterjal: Loeng-2020-10-15-cybersec_intro.pdf
- Eksamiks: kohustuslik lugemine siin all, mis on teek ja mis raamistik, nende näited, arusaamine põhilistest litsentsitüüpidest (vabavaralised (gpl vs mit ja bsd) ja mitte-vabavaralised), gpl-i põhipoindid. Küberkaitse küsimused täpsustuvad loengu järel.
Kohustuslikku lugemist sel teemal eksamiks:
- Martin Fowler tarkvara arhitektuurist
- The law of leaky abstractions
- No silver bullet ja lühem kokkuvõte
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- mis on vabatarkvara Gnu interpretatsiooni kohaselt
Lisaks mittekohustuslikku, aga eriti soovitavat lugemist, tähtsuse järjekorras:
Lisaks: täiesti mittekohustuslikke ideid lugemiseks:
8. nädal: Veebirakendused ja tabelarvutus
22. oktoober.
- Kell 12: Veebirakendused. Loengumaterjal: Itsissejuhatus10a20.ppt, Itsissejuhatus10a20.pdf.
- Eksamiks: 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). Tabelarvutuse kohta küsimusi ei tule.
- Kell 14: Ivari Horm räägib tabelarvutusest.
- Loengumaterjal: https://study.risk.ee/arvuti/tabelarvutus/pohimoisted (slaidid, näitefailid)
Veebirakenduste teemal vaata veel:
9. nädal: Rekursioon ja interneti funktsioneerimine
29. oktoober.
- Kell 12: Rekursioon, funktsionaal- ja loogiline progemine
- Loengumaterjal: Itsissejuhatus11.ppt, Itsissejuhatus11.pdf.
- Kell 14: interneti funktsioneerimine: Ivo Müürsepp
- Loengumaterjal: ITI0101 Arvutivorgud IM.pdf
- Eksamiks: rekursiooni äratundmine, baasjuht ja rekursiivne juht, rekursiooni ekvivalentsus tsükliga, arusaamine funktsionaalse keele näitejuppidest loengus: mida mingi näitekood teeb / mis on rehkendamise tulemus. Mis on lambda-arvutus. Prologi näide tuleb ära tunda (et on Prolog). Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis mille sees). Päiste detailide kohta ei küsita.
Lisaks proovi ja loe veidi:
- Fraktaalid wikipedias
- Mandelbub ja selle videoklipid Mandelbox and Flying Lights, Like in a dream II, Weird planet II. Taustaks veel Geometric visual hallucinations, Euclidean symmetry and the functional architecture of striate cortex
- kiire Mandelbroti fraktaal online ja veidi aeglasem
- Mandelbroti hulga (pildi) joonistamise programme mitmes eri keeles
- fractal trees javascriptis, sissejuhatus ja terviknäide draw.html. Vt ka animeeritud puu. Siit edasi arvutigraafika veebiraamat.
- Tower of Hanoi
- Lambda-arvutus
- Vaata ja proovi näiteid modifitseerida:
- Võta seesama Ecki labor, mis varem (Ecki laborite allalaadimine ja katsetamine) ja käivita TMCM_Labs.jar.
- Avanevas menüüs võta xTurtle lab ja lae sisse näiteks BinaryTrees.txt, RecursiveBush.txt, KochCurves.txt
- Loe lisaks Lihtsamad rekursiivsed pildid
- Huvi korral installeeri ja proovi Prologi: SWI Prolog.
Tutvuda lühidalt interneti funktsioneerimisest:
- Veeluste internetikaablite zoomitav kaart ja veel detailsem zoomitav kaart
- Kuidas veealused kaablid välja näevad
- Suurimad veebisaidid
- https://en.wikipedia.org/wiki/Internet_protocol_suite
- https://en.wikipedia.org/wiki/Internet_of_things
- How does the internet work?
- Huvi korral loe mahukamast protokollinduse kursusest lisa: Andmeside protokollid
10. nädal: Algoritmid: lahenduvus ja keerukus
5. november.
- Kell 12: Algoritmid: lahenduvus.
- Loengumaterjal: Itsissejuhatus13a.ppt, Itsissejuhatus13a.pdf.
- Kell 14: Algoritmid: keerukus. Ülevaade kursusest. Õppejõud Marko Kääramees.
- Loengumaterjal: Algoritmid_2019.pdf.
- Eksam: 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. Keerukusest: mis on algoritmide keerukus ja mis on O-notatsioon. Mis on sorteerimise parim keerukus halvimal juhul.
Vaata lisaks lahenduvuse teemal:
ja algoritmide teemal:
- sorteerimisalgoritmide visualiseeringud siin ja siin ja siin
- Travelling salesman problem, optimaalset lahendust otsiva programmi Java lähtekood, lokaalsete otsingute (optimaalsus ei ole tagatud) visualiseeringud siin ja siin
11. nädal: Ajuteadus ja andmebaasid
12. november.
- Kell 12: Ajuteadus. Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
- Loengumaterjal: Brain_science.pdf.
- Kell 14: Erki Eessaar räägib andmebaasidest. Andmed, informatsioon, andmebaas, andmebaasisüsteem, SQL, NoSQL. SQLis (PostgreSQL) väike näide tabelite loomise ning andmete otsimise ja muutmise kohta.
- Loengumaterjal: Andmebaasidest_s2020c.pdf ja täiendavalt xlsx ja sql näitefailid
Täiendavat ajuteaduse teemadel
- kõigepealt vaata/kuula TED loenguid Metzinger, Wolpert, Graziano, Hoffman
- Loe suunaseadmiseks neurons are more complex than what we have imagined
- Vaata üle need neuroteaduse wikilehed: grey matter, white matter, neuron, number of neurons, axon, synapse, glia pluss olulist rakkudest: cells are very fast and crowded places
- Vaata üle need aju funktsioneerimise wikilehed: cognitive neuroscience, computational theory of mind, global workspace theory, grandmother cell
- Jaan Aru raamat
- A.I. podcasti episoodid Brain Development from Stem Cell to Organoid. Thousand Brains Theory of Intelligence, Neuroplasticity and the Livewired Brain
- Mindscape podcasti Damasio episood, Poeppeli episood
- Brain science podcasti episood sünapside keerukusest, neural reuse and embodied cognition, synaptome, glial cells, Brain Anatomy, a brain for numbers
- Other recommended podcasts, youtube lectures and background for these
- Graziano on consciousness and neuroscience
- MIT tasuta online kursus Minds and Machines: algab 17 nov.
Proovi järgi andmebaaside teemal; kui keeruline, tee algul läbi walkthrough ja/või w3schools SQL tutorial.
- SQL murder mystery
- endale installeerimiseks ja katsetamiseks: sqlite
- väike näide, kuidas pythonist sqlite kasutada ilma midagi installeerimata.
12. nädal: Tehisintellekt ja masinõpe
19. november
- Kell 12: Tehisintellekt: ülevaade, semantika, loomulik keel, loogika.
- Loengumaterjal: Itsissejuhatus14o.ppt, Itsissejuhatus14o.pdf.
- Kell 14: Priit Järv räägib masinõppest.
- Eksamiks: 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 masinõpe. Mis on IBM Watson ja Wolfram Alpha. Võib tulla küsimus, et kas mingit sorti ülesannet praegused tehisintellektisüsteemid suudavad ok/väga hästi/väga halvasti lahendada. Andmeanalüüsi kohta küsimusi ei tule.
Väga hea mõte on teha ise läbi lihtne sissejuhatav MOOC-kursus tehisintellektist: eestikeelne või inglisekeelne.
- Taustaks: tehisintellektinduse magistrikursus TTÜs ja ülevaade tehisintellektinduse valdkondadest
- Lisaks tasub vaadata:
- Miks mitte karta super-tehisintellekti
- Rodney Brooksi väike tehisintellekti-sari osa 1, osa 2, osa 3, osa 4
- How networks become conscious ja Why can't my computer understand me
- Marvin Minsky The Society of Mind
- Õppimisalgoritmidest ja Google artiklid õppimisalgoritmidest
- Teadmiste integraatorid Ibm Watson, Wolfram Alpha ja Siri
- Päris hea võrgust lugev ja õppiv süsteem NELL vt ka seniõpitut ja olulist alus-meetodit
- Klassikaline vestlev pseudointellekt Eliza ja modernsem vestlev pseudointellekt
- Loe Matrix, Skynet ja sõda teispoolsusega, Dennetti artikleid, tuntud õpikut,
13. nädal: Arendusprotsess, IT äri (ja P2P võrgud, ledger, bitcoin?)
26. november.
- Kell 12: Tarkvaraarendusprotsess, IT projektid ja äri.
- Loengumaterjal: Itsissejuhatus15o11.ppt, Itsissejuhatus15o11.pdf.
- Kell 14:
- Eksamiks: Arendusprotsessi kohta loengumaterjalidest küsimusi ei tule. Küll aga on küsimused allpool kohustuslike artiklite kohta. P2P teemadel: peamised P2P liigid, milleks on / mida optimeerib Bittorrent, darkneti / TORi põhiideed, mis ja milleks on Bittorrentis kaevandamine / proof of work.
Lisaks projektidest:
- How projects really work
- Agile ja lisaks selle juurde Martin Fowleri artikkel
- Programmeerimine: oskajad ja mitteoskajad
- Sam Altmani startup-kursuse loenguvideod
- Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: The iceberg secret revealed
- Joel Spolsky: IT firma töökorraldus: 12 steps
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Gnu manifestid The Free Software Definition ja Selling Free Software
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
- 20 aastat kogemust tarkvara arendusmeetoditega
Lisaks P2P-st, ledgerist ja bitcoinist:
- Vaata üle võrgurakendused II kursuse teemad
- Vaata Bitcoini tehnoloogiajuppide interaktiivset demo: võta ülamenüüst järjest "Hash", "Block", "Blockchain" ja proovi järgi.
- bitcoini ülevaade osa 1
- bitcoini ülevaade osa 2
- bitcoini ülevaade osa 3
- bitcoini hetke-statistika
- bitcoini ledgeri uute blokkide hetke-ülevaade
14. nädal: Masinõpe (ja projektide arendus ettevṍtetes ?)
3. detsember
- Kell 12:
- Kell 14:
- Eksamiks: peamised masinõppe liigid, mille jaoks nad sobivad (näited ja lühiselgitus).
15. nädal: Andmebaasid (ja e-valimised?)
10. detsember.
- Kell 12:
- Kell 14:
Proovi järgi; kui keeruline, tee algul läbi walkthrough ja/või w3schools SQL tutorial.
- SQL murder mystery
- endale installeerimiseks ja katsetamiseks: sqlite
- väike näide, kuidas pythonist sqlite kasutada ilma midagi installeerimata.
- Eksamiks: mida peab hääletamissüsteem tagama, miks on i-hääletamine keerulisem, kui internetipangandus, mis on topeltümbriku süsteem ja kuidas see põhijoontes on Eesti i-hääletusel implementeeritud, mis on i-hääletamisel hääle töötlemise põhisammud (ehk, mida on protsessi käigus vaja teha).
16. nädal: Konsultatsioon (ja loengud ettevõtetest?)
17. detsember.
- Kell 12: Konsultatsioon eksami teemal: mida küsitakse, kuidas toimub, kuidas hinnatakse, mida õppida jne.
- Kell 14:
Lisaks e-valimistest:
- Solvaku ja Vassili põhjalik ülevaade e-valimiste arengust, kasutusest, efektidest 2005-2015
- E-valimiste üldleht
- Praeguse süsteemi üldkirjeldus
- Tehnilised dokumendid, spetsifikatsioonid
- E-valimiste võimaluste analüüs riigikogule 2001 aastal
- vana süsteemi lähtekood
- praeguse süsteemi lähtekood
- Valimiste tüüpide interaktiivne ülevaade
Näiteid vanadest eksamitest
Siin on näited väga ammu tehtud eksamitest. Tegelikud eksamiküsimused tulevad teistsugused, formaat on sama.
Kohustuslikud lugemismaterjalid
Järgnevate materjalide läbilugemine on kursuse läbimisel kohustuslik ja nende kohta tuleb eksamil lugemiskontrolli-küsimusi:
- Loogika ainest ja ajaloost: T.Tammet: Loogika aine ja ajalugu: sissejuhatus T.Tamme, T.Tammeti ja R.Prangi loogikaõpikule "Mõtlemisest tõestamiseni".
- Alan Turing Computing Machinery and intelligence
- Abstraktsioonidest ja tehnoloogiatükkidest: Law of leaky abstractions
- Paul Graham Hackers and painters
- Stiilist või midagi: The Tao of Programming. Selle teksti inspiratsiooniks/taustaks on daodejing, see tausta-originaal-daodejing ei ole kohustulik lugemine.
- Kohustuslikud artiklid IT projektide, ideoloogia, äri ja juhtimise teemal on järgmised. Neid "ära õppida" vms pole vaja, piisab lihtsast mõnusast kiirest läbilugemisest:
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: The iceberg secret revealed
- Joel Spolsky: IT firma töökorraldus: 12 steps
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Gnu manifestid The Free Software Definition ja Selling Free Software
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
- 20 aastat kogemust tarkvara arendusmeetoditega
Väga kasulikud lugemismaterjalid: loe neid!
- Loe iga päev: http://news.ycombinator.com/
- Loe iga päev: http://www.reddit.com (hea mõte on registreeruda ja valida sobivad alamredditid, näiteks
- Loe vahel: http://www.engadget.com
- Loe vahel: http://www.news.com
Kursuse käigus on mõistlik lugeda valikut artikleid kõigist neist saitidest:
- Paul Grahami esseed, uusi suhteliselt harva.
- Gnu manifestid: suur ideoloogiline taustajõud
- David Eck: Labs and Applets for "The Most Complex Machine": harjutamiseks
- Jargon leksikon ja the New Hacker's Dictionary: ajalooliselt huvitav
- The cathedral and Bazaar: ajalooliselt huvitav
Kuula
- ai podcasti, näiteks Steven Pinkeri episoodi.
- Mindscape podcasti
- Jonathan Webber on deceiving with words episood
Kui kõik tundub liiga lihtne, siis:
- Loe läbi enamus Paul Grahami esseid.
