Loengud
Õpe toimub täielikult online režiimis; kuid pakume ka ühe füüsilise kogunemise korra, mis on vabatahtlik.
Iga nädal on üks teema. Loengud on ca 3-6 lühemat videot ja näited. Lisaks saab ise katsetada. Iga nädal on ka lühitestid (quiz) mille täitmine annab punkte aine sooritamisse.
Iga nädal toimub loeng Zoom-is, kolmapäeviti kell 16:15-17:45. Seal käiakse samu teemasid üle, vastatakse küsimustele, tehakse näiteid ja demosid, aidatakse osalejaid. Osalemine füüsilisel kogunemisel ega hübriidis pole kohustuslik. See on pigem võimalus otse küsida, suhelda ja saada "teine vaade" või täiendav konsultatsioon samadele teemadele.
Tähtis teavitus: Lisapraktikum neljapäeviti kell 12.15-14.00 (alates 07.04 kuni 02.06); Deltas arvutiklass 2021. Eesmärk: abistada projektide tegemisele kaasa praktikumijuhendajate abil.
Järgmiste abimaterjalide lingid ilmuvad nähtavale kui logite sisse:
(te pole sisse loginud)
2022 kevade versioon ainest on edukalt läbi. Näited tehtud projektikestest: Attach:digit_demod.pdf
L00. Sissejuhatus - aine tutvustus
Kursuse sissejuhatus / ülevaade / põhjendus -- vaata video:
Palun täita sissejuhatav küsitlus
- Crash Course - Computer Science - äge seeria arvutite tööpõhimõtetest, ajaloost,jne. See on lisamaterjal, millest võib olla palju kasu kuid pole tingimata kohustuslik.
L01: Bitt ja bait, digitaalne ja kahendsüsteem, arvuti.
- Bitt ja informatsioon, kilo- , mega- , giga- ...
- Kahendsüsteem, arvud
- Arvutamine (digitaalloogika) ja arvuti
- Värvid (RGB), pildid, video ja tekst ...
- Digitaalne heli Video: Anna Aljanaki
- Loengus olnud näited:
- Crash Course Computer Science -- Representing Numbers and Letters with Binary *
- Crash Course Computer Science -- How Computers Calculate? (aritmeetika - arvutamine) ***
- Registers and RAM (registrid ja mälu) ***
- CPU - Central Processing Unit (protsessor) ***
- Instructions & Programs (kuidas arvuti programmi täidab) ****
- Advanced CPU Designs *****
- kuidas arvutid arvutavad?
- TÜ ATI MOOC-id (toimuvad vastavalt võimalustele)
L02: Lühiekskurss programmeerimisse (Python)
- Väärtused, muutujad, tehted
- If-then-else
- Tsüklid
- Alamprogrammid ja nende ära kasutamine
- Teiste tehtud tarkvara kasutamine enda tarkvaras (teegid jne)
- Sisend-väljund
- Google Colab:
- Näide 1:
- Crash Course CS - Early programming **
- Crash Course CS - The First Programming Languages ***
- Crash Course CS - Data Structures **
L03: Algoritm - kõige fundamentaalsem IT termin :)
- Algoritm on kõige tähtsam mõiste üldse
- Tegevusjuhis ja idee, mis samme täites jõuda lahenduseni
- "Head" ja "halvad" algoritmid :)
- Kui kiirus on oluline ..
- Algoritm kasutab ise-ennast, ... (rekursioon)
- Jaga ja valitse
- Sorteerimise näited
- Crash Course CS - Early programming **
- Crash Course CS - The First Programming Languages **
- Crash Course CS - Intro to Algorithms **
- Crash Course CS - Alain Turing and Turing Machine ****
- Kas me teame, et lihtne programmike peatub alati? -- kaudne vastus, vt videot 3x+1 programmist (ja programmeeri see ise! :) )
L04: Programmeerimiskeeled - miks, kellele, millised?
- On palju eri viise kuidas programmeerijate (inimeste) tööviljakust tõsta
- Programmeerimiskeeltel on ajalugu - kuidas neid välja on mõeldud ...
- Programmeerimiskeeltel on erinevad kasutusotstarbed
- Python, C, assembler, perl, bash,
- SQL andmebaasidele
- HTML, Javascript - veebilehtedele
- Wiki, LaTeX, jne - küljenduseks
- R - statistika
- XML, Json, jne - arvutite omavahelise suhtluseks
- Prolog ja tehisintellekt
- Crash Course CS - Early programming **
- Crash Course CS - The First Programming Languages **
L05: Digitaalse maailma pilt, proovime ka joonistada pilti "kilpkonnaga" -
- Tee punkt, tõmba joon
- Liigu edasi, pööra, liigu, pööra, ... vaheta värvi; peatu, mõtle ...
- Joonistame midagi?
L06: Andmestruktuurid - kuidas arvuti hoiab ja näeb andmeid
- Üks väärtus ja selle tüüp
- Tabel
- Aadressid (kes tunneb keda?)
- Puud (hierarhiad)
- Paisktabel :)
- Crash Course CS - Data Structures
L07: Tekst, infootsingud, masintõlge - ekskurss, mida ise saan teha
- Sõnad, laused, lõigud, dokumendid
- Kuidas otsida "õiget"
- Kuidas lahendada ristsõnu? (Vt ka Wordle mängu lahendaja kirjeldus
- Kuidas arvuti tõlgib keeli?
- Lisainfo: (log into courses to see link)
- Crash course in Computer Science -- Natural Language Processing
- Õpik Speech and Language Processing (3rd ed. draft) Dan Jurafsky and James H. Martin
- EKI sõnastikud - https://portaal.eki.ee/sonaraamatud.html
- Keeleveeb sõnastikud jne - https://keeleveeb.ee/
- Keeleressursid - https://keeleressursid.ee/et/keeleressursid
- Projekt Gutenberg - https://www.gutenberg.org/
L08: Andmebaas - kuidas (suured) andmed on hallatud
- Kui ma ostan poes kaupa, reserveerin pileti, jne - mis siis juhtub?
- Andmebaas - kuidas andmeid hästi kirjeldada, kasutada, "koos hoida"
- Kuidas andmenbaasid nii kiired on?
- Katsetus
- Excel ja pivot tabel, andmete analüütika
L09: Operatsioonisüsteemid - kuidas kõik need failid ja programmid mu arvutis või telefonis töötavad
- Linux, Windows, Apple, iOS, MacOS, Android, ...
- Kes üttleb, mis programmid mis järjekorras saavad töötada?
- Kus on mu failid ja kudias nad on hoitud?
- UNIX: vt ka Mac Terminal, Linux ...
- Windows: Terminal/Power Shell. Installida saab Cygwin, Linux alam-mooduli, virtuaalmasinad, SSH kasutamiseks: Putty .
L10: Arvutivõrk - kuidas töötab Internet? :)
- Nimed ja Aadressid: google.com, digit.cs.ut.ee , jne jne
- Kuidas töötab võrk?
- Sõnumite saatmine?
- E-kiri, Veeb, TV, Netflix, ...
- Akronüümid: TCP/IP, UDP, DNS, https, WWW, ...
- Vannevar Bush As We May Think Atlantic, July 1945. (ABout Memex)
- Internet "50" 29. oktoober 1969 pressikajastust
- Crash Course CS - Computer Networks
- Crash Course CS - Internet
- Crash Course CS - World Wide Web WWW
- ARPANET (Britannica)
- Internet (Britannica)
- Mis juhtus Facebookiga 5. oktoobril 2021?
L11: Tehisintellekt ja masinõpe muudavad arvutite võimalusi tundmatuseni
- Mis on tehisintellekt?
- Kuidas me sellest kasu saame?
- Regressioon, närvivõrk, otsustuspuu, jne.
- Kas ja kuidas peaksime kaitsma end tehisintellekti eest/vastu?
- Male -- kuidas arvuti seda mängib?
- David Atteborough meets Computer Vision
- Kas kõik linnud, sh pingviinid, lendavad? (2008)
- Õpeta ise pildi või heliga - https://teachablemachine.withgoogle.com/
- Närvivõrkude näidisrakendus: https://playground.tensorflow.org/
- Google tööriistu: https://ai.google/tools/
- DALLE-2 - tekst -> kunst https://openai.com/dall-e-2/
- Pliiatsinoonistused - https://quickdraw.withgoogle.com/
L12: Otsimine ja optimeerimine - kuidas jõuda sihtkohta, kuidas leida parim lahendus? (27.04 - J.Vilo ei saa osaleda loengul)
- Mis on otsitav? Kuidas seda leida?
- Kui optimum on "võimatu" leida (n. liiga aeglane), siis mis on alternatiivid?
- Ahne
- "Kaval"
- Kuidas loodus seda teeb? Evolutsioon ja geneetika, sipelgad, jt
- Kuidas arvuti malet mängib?
- Algoritmide visualiseerimine
- Mona lisa geneetilise algoritmiga lähendamine
- Karl Sims: virtuaalsed olevused
- Deep Mind - kõndimise evolutsioon arvutis
- Evolveeruvad robotloomakesed
L13: Võrgustikud - seosed inimeste, arvutite, tegevuste, tunnuste vahel ...
- Google otsingu dominantseks tõusu põhjused - "veebilehtede võrgustiku analüüs"
- Auto navigatsiooniseadmed - milline on lühim tee "Nuustakule"?
- Sotsiaalvõrgustik, suunamudijad, arvamusliidrid, jne
L14: Infoturve - kuidas tagada andmete õigsus, kaitstus, autentsus ... ja mis see krüptoraha veel on?
- Salakiri (krüpteerimine)
- Avaliku võtme krüptograafia - meie ID kaardi ökosüsteem
- Failide sõrmejäljed
- Digitaalne allkiri
- Plokiahel
- Krüptorahad jne
- Google Python Colab näide räsifunktsioonidest sha256 jne
L15: Tarkvaratehnika ja inimese (lõppkasutaja) kasutajamugavus
- Tarkvara teevad ja kasutavad inimesed. Kuidas seda organiseerida, kuidas teha "head tarkvara".
- Mis sammudest koosneb tarkvara arendusmeeskonna töö?
- Kuidas inimesed oma tööd organiseerivad?
- Tarkvara nõuded: funktionaalsed, mittefunktsionaalsed ...
- Disain, arendus, testimine, juurutus, haldus/hooldus - elutsükkel
- Crash Course CS -- Software Engineering
- https://education.github.com/pack
- Näidis slaidid ja ettekanne - kuidas tiimid võiks töötada -- ei ole hõbekuuli, on erinevad viisid, mõned töötavad ühes ja teised teises kontekstis.
L16: Kuidas muudavad arvutid meie käitumist, sotsiaalseid norme, jne.
- Millised tooted ja teenused on kasulikud, miks
- Ajalugu
- Kes toodab sisu?
- Suured süsteemid, globaalne võrk
- Intellektuaalomand ja selle kaitse, vana tarkvara ja selle kaitse
- Õigus
- Tark linm turvaline kodu ja ühiskond.
- Youtube: Crash Course to CS - Psychology - disain
- Youtube: Crash Course to CS - Graphical User Interfaces
- L16.10_Dylan Beattie – WhatsApp, Web3, and Wordle, @Digit2022 - hea ülevaade Interneti arengutest ja mõjudest; ka rahast Internetis...
- Arvutiteaduse instituudi loovuse päev -- ettekanded loovuse ja IT seostest; kunstist