Sissejuhatus infotehnoloogiasse

Allikas: Lambda
(Ümber suunatud leheküljelt Itv0010)

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

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, 6203457, ICT 426
olemas on ka 2023 aasta arhiiv kõigi eelmise aasta materjalidega.


NB! Väike kavamuutus/täpsustus

8 nädal (24 okt) ja 9 nädal (31) okt on nüüd allpool kavas planeeritud, st info värske/õige.


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. Videoalvestuste lingid leiad edaspidi allpool nädalate loengupresentatsioonide järel.

Live feedi ja salvestused leiad siit.

Maht, aeg, tulemus

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

  • Neljapäeval kell 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega. Õppejõud (v.a. esimesed kaks nädalat) Tanel Tammet.
  • Neljapäeval kell 13:45: süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Erinevad õppejõud. Ka siin antakse vahel koduülesandeid.

Sessiooniõppe (IADB10A, IADB10B) sissejuhatav loeng on reedel, 6 septembril kell 11:45 auditooriumis NRG-131 (loengu annab Tanel). Selle loengu ülevaatematerjalid.

NB! Esimesel kahel nädalal toimuvad ainult eri teemade süvaloengud eri õppejõudude poolt; Taneli loengud algavad kolmandal nädalal.

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

Seitsmes kontrolltöö, mis jääb üles 25. oktoobrini, kaasa arvatud:

Kontrolltöö 7, seitsmenda nädala teemadel


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ärgse esmaspäeva hommikuks ja jääb üles vähemalt järgmise loengupäeva (neljapäev) lõpuni.

Vahetulemused pannakse üles ca kord kuus.

Siin on 1-4 kontrolltöö vahetulemused. Tulbad: tudengikood, initsiaalid, vahetulemus, 1-4 kontrolltöö veapunktid. 1 veapunkt tähendab 2 või 3 vigast vastust, 2 veapunkti 4 või 5 vigast vastust jne. x tähendab, et vastav töö on tegemata, mis annab 4 veapunkti. Keskmine veapunktide arv oli 3.75, ümardatult 4. Seega, kui sul oli kokku näiteks 3 veapunkti, on su vahetulemus 1 punkt (selle võrra oled keskmisest parem). Mitte-ascii initsiaalid on esitatud veidra suvatähega.

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: miks ja kuidas on asjad 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 kursusesse. Tehisintellekt ja masinõpe.

5. september.

  • Kell 12: Sissejuhatus kursusesse. Tehisintellekt. Loengu teeb Otto Mättas. Tanel liitub telcos viimasel pooltunnil ja räägib kursusest ja hindamisest jne.
Loengumaterjalid: Otto AI materjalid.
  • Eksamiks (esialgne): 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:

2. nädal: Robootika alused, loomulik keel ja keelemudelid

  • Kell 13:45: Tanel Alumäe räägib loomuliku keele tehnoloogiast ja suurtest keelemudelitest: LLM, GPT ja muu cutting edge värk. Loengumaterjal: Keelemudelid.pdf
  • Eksamiks (esialgne): 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:

3. nädal. Sissejuhatus baasvärkidesse: arvuti ja info, ajaloo algus ... 1940

  • Kell 12: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
Loengumaterjal: itsissejuhatus1a24.pptx, itsissejuhatus1a24.pdf.
  • Kell 13:45: 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:

4. nädal: Algoritmid ja veebirakendused

  • Kell 12: Algoritmid ja keerukus. Ülevaade kursusest. Loengu annab Marko Kääramees.
Loengumaterjal: Algoritmid_2024.pdf.
  • 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 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 teeme veel ühe täiendava loengu, mis viimaseid punkte katab.


Veebirakenduste teemal vaata veel:

Täiendavalt algoritmide teemal:

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: Itsissejuhatus3o.ppt, Itsissejuhatus3o.pdf.
  • Kell 13:45: arvuti riistvara: transistorid, loogikalülitused, aritmeetika, mälu, programmid.
Loengumaterjal: Itsissejuhatus_proc_23.ppt, Itsissejuhatus_proc_23.pdf.
  • 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.

Lisaks esimesele loengule:

Lisaks teisele loengule riistvarast:

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

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

7. nädal: Interneti funktsioneerimine ja andmebaasid

  • Kell 12: Interneti funktsioneerimine: loengu annab Ivo Müürsepp.
Loengumaterjal: 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.
Loengumaterjal: andmebaasidest_2024.pdf ja täiendavalt xlsx näitefail ja sql näitefail


Eksamiks esialgselt (läheb veidi täiendamisele): 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.

8. nädal: Küberkaitse ja andmetüübid masinalähedaselt

  • Eksamiks esialgselt: Lihtsad andmetüübid, stringid, massiivid, puud, mis on pointer.

Lisaks andmete esitusest:

Muud huvitavat:

9. nädal: Lähiajalugu 1990-2009 ja programmeerimiskeeled

  • 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.
Loengumaterjal a osa:Itsissejuhatus5oa.ppt, Itsissejuhatus5oa.pdf.
Loengumaterjal b osa:Itsissejuhatus5ob.ppt, Itsissejuhatus5ob.pdf.
Loengumaterjal c osa:Itsissejuhatus5oc1.ppt, Itsissejuhatus5oc1.pdf.
  • Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed eestis, palm pilot, google, deep blue, wikipedia, x-tee. Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python).

Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:

Lisaks ajaloost:

Tillukeste interpretaatorite ja kompilaatorite koodinäited:

Tutvu veidi nende progekeelte populaarsus-võrdlustega:

Siis vaata veidi neid asju:

10. nädal: Tarkvara arhitektuur ja algoritmid: lahenduvus

  • Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
Loengumaterjal: Itsissejuhatus9a21.ppt, Itsissejuhatus9a21.pdf.
  • Kell 13:45: Algoritmid: lahenduvus.
Loengumaterjal: Itsissejuhatus13a.ppt, Itsissejuhatus13a.pdf.
  • Eksamiks: Tarkvara arhitektuur: kohustuslik lugemine siin all, mis on teek ja mis raamistik, nende näited, arusaamine põhilistest litsentsitüüpidest (vabavaralised (gpl vs mit ja bsd) ja mitte-vabavaralised), gpl-i põhipoindid. 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:

Vaata lisaks lahenduvuse teemal:

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

Lisaks: täiesti mittekohustuslikke ideid lugemiseks:

11. nädal: Planeerimisel

12. nädal: Rekursioon ja andmekaeve

  • Kell 12: Rekursioon, funktsionaal- ja loogiline progemine. Loengumaterjal: Itsissejuhatus11.ppt, Itsissejuhatus11.pdf
  • Kell 13:45: Innar Liiv räägib andmeteadusest ja andmekaevest. Loengumaterjal: andmeteadus_2023.pdf,
  • Loengusalvestus
  • 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 aru saada. Andmeteaduse (teine loeng) kohta küsimusi ei tule.

Lisaks proovi ja loe veidi:

Vaata ja proovi näiteid modifitseerida:
Huvi korral katseta

13. nädal: "Arvutuslik loovus" + tekstitöötlus

  • Kell 12: Martin Verrev räägib teemal "Arvutuslik loovus" (computational creativity). Loengus on palju live-programmeerimist ja näiteid. Loenguslaidid leiab siit.
  • Kell 13:45: Tekstitöötlus: Ivari Horm
Esialgne loengumaterjal: teksti toimetamine. Lisaks (mittekohustuslik) on siin allpool lingid näitefailide algfailidele ja tulemustele.
  • Loenguvideo. NB! Videos ei ole (õnnetu juhuse läbi) õppejõude näha, küll aga on neid kuulda.
  • Eksamiks: Tekstitöötlus: lihttekst, WYSIWYG, kooditabel, ascii, unicode, utf-8, mis on latex, markdown, nende plussid ja miinused, kus kasutatakse. Arvutusliku loovuse kohta küsimusi ei tule.

14. nädal: Planeerimisel ja tabelarvutus

  • Kell 12: Planeerimisel.
  • Ivari tabelarvutuse loengusalvestus 2022 aastast: vaata alates minutist 1:45. 2023 aasta loengusalvestus kahjuks ebaõnnestus, aga 2022 salvestus on täiesti sobiv.
  • Eksamiks: 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? Tabelarvutuse kohta küsimusi ei tule.

Lisaks:

  • LLMi kasutamiseks oma tarkvaras on suhteliselt lihtne ja hea variant OpenAI API

15. nädal: Küberkaitse ja teoreetiline arvutiteadus

  • Kell 13:45: Pawel Sobocinski räägib teoreetilisest arvutiteadusest (inglise keeles). Loengumaterjal
  • Eksamil nende loengute teemal küsimusi ei tule.

16. nädal: Tarkvaratoodete ehitamine ja robootika alused

  • Eksamiks: Robotitest: tüüpilised andurid, tagasisidega ja ilma selleta juhtimine, miks on robotniidukid, aga mitte robotnõudekoristajad? 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?



17. Digit. muutused, virtuaalassistendid ja ajuteadus

  • Kell 12: Tarmo Koppel räägib digitaalsetest muutustest ja pikemalt virtuaalassistentidest ja nendega kursuse õpetamisest.
  • Kell 13:45: Ajuteadus. Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
Loengumaterjal: Brain_science.pdf.
  • Eksamil nendest loengutest küsimusi ei tule.

Täiendavalt ajuteaduse teemal:

18. nädal (tegelikult lükkub varasemaks, mõne eelmise asemel): Konsultatsioon eksamiks ja plokiahelad

  • Eksamiks: Projekti jaotus etappideks, kosemudel vs agiilne arendus. Plokiahelate ja krüptoraha küsimusi ei tule.

Täiendavalt plokiahelatest:

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.