Sissejuhatus infotehnoloogiasse

Allikas: Lambda

...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, 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. Põhilink on siin. Konkreetsete videoalvestuste lingid leiad edaspidi lisaks allpool nädalate loengupresentatsioonide järel.

Maht, aeg, tulemus

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

  • Neljapäeval kell 12: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/koduülesanded on lihtsa veebivormi kujul ja ilmuvad siia lõiku järgmisel päeval peale loengut (reedel) ja jäävad üles vähemalt järgmise loengupäeva (neljapäev) lõpuni.

Lisaks ülesannetele küsime samal vormil ka küsimusi ja kogemusi, mida järgmises loengus (ja mujal) läbi mõelda ja arvestada.

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

Palun täida korrektselt alguse väljad 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.

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:

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.