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!

19. detsember loengu sisuks on ülevaade eksamist, küsimustest jne, pluss konsultatsioon, st õppejõud vastab küsimustele ja seletab, mis segane.

See loeng toimub ainult teamsis sellel lingil, mitte füüsiliselt auditooriumis!

Eksamite ajaplaan

Eksamiajad ja kohad on järgmised. Igal päeval kaks kellaaega, eraldi IADB ja mitte-IADB:

  • 6. jaanuar: kell 12 kõik IADB ja kell 15 kõik mitte-IADB, ruumis NRG-131, Energeetikamaja
  • 13. jaanuar: kell 13 kõik mitte-IADB ja kell 15:30 kõik IADB, ruumis U06A-229, Õppehoone 6a
  • 21. jaanuar: kell 11 kõik IADB ja kell 14 kõik mitte-IADB, ruumis U02-102, Õppehoone 2

Konkreetne kellaaeg päeva jooksul sõltub sinu grupist, nagu üleval öeldud.

Pane tähele ka, et ajad ja eksamiruumid on kõigil kolmel päeval erinevad.

NB! Eksamiks registreerida ei ole vaja.

NB! Eksamile tuleb kaasa võtta pildiga dokument ja näidata seda eksamitöö äratoomisel õppejõule.


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

Selleks aastaks on kontrolltööd lõppenud! Ehk siis, viimane kontrolltöö oli 13, neljateistkümnenda nädala teemadel.

See-eest on endiselt palve teha läbi ja salvestada järgmine küsimustik (kui sa ei ole seda juba teinud):

Kuidas sa mõistad 'agentsuse' tähendust?

Küsimustik on vabatahtlik ja ei anna ei pluss- ega miinuspunkte. Küsimustiku arendasime grupitööna selles aines. Oleme kõik tänulikud, kui ta ette võtad!


Nüüd on olemas kõigi kontrolltööde tulemused kokku. Tulbad: tudengikood, initsiaalid, tulemus, 1-13 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 12.48, ümardatult 12. Seega, kui sul oli kokku näiteks 5 veapunkti, on su tulemus 8 punkti (selle võrra oled keskmisest parem). Mitte-ascii initsiaalid on esitatud veidra suvatähega või küsimärgiga.


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: 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: 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, 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.


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

24. oktoober

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

Muud huvitavat:

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

31. 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.
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: Operatsioonisüsteemid ja tekstitöötlus

7. november

  • Kell 12: Operatsioonisüsteemid.
Loengumaterjal: Itsissejuhatus_opsyst.ppt, Itsissejuhatus_opsyst.pdf.
  • Kell 13:45: Tekstitöötlus: Ivari Horm.
Loengumaterjal: Teksti Toimetamine 2024. Lisaks (mittekohustuslik) on siin allpool lingid näitefailide algfailidele ja tulemustele.
  • 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:

Eriti soovitavat lugemist opsüsteemidest:

Muidu soovitavat lugemist opsüsteemidest:

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

11. nädal: Teoreetiline arvutiteadus ja tabelarvutus

14. november

  • Eksamil nende materjalide kohta küsimusi ei tule.

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

21. november

  • Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
Loengumaterjal: Itsissejuhatus9a21.ppt, Itsissejuhatus9a21.pdf.
  • Kell 13:45: Algoritmid: lahenduvus.
Loengumaterjal: Itsissejuhatus13a.ppt, Itsissejuhatus13a.pdf.
  • 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:

Vaata lisaks lahenduvuse teemal:

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

Lisaks: täiesti mittekohustuslikke ideid lugemiseks:

13. nädal: Rekursioon ja veebirakendused teine osa

28. november

  • Kell 13:45: Veebirakendused teine osa: fookus progedele ja serveripoole tehnoloogiatele. Loengu annab Martin Verrev. Siin on loenguslaidid. Tuleta meelde esimese osa Martini slaide siin. Vaata täienduseks ka Taneli loengumaterjali (nende kohta eksamil otse küsimusi ei tule, tuleb ainult eelmiste slaidide kohta):Itsissejuhatus10a20.ppt, Itsissejuhatus10a20.pdf
  • 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. 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:

Vaata ja proovi näiteid modifitseerida:
Huvi korral katseta

Veebirakenduste teemal vaata veel:

14. nädal: Tarkvara arendusprotsess ja tarkvaratoodete ehitamine

5. detsember.

  • Kell 13:45: Uku (endine Wise, praegune getalign.com) räägib tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal. Presentatsioon 2023: Tootefirmad 2023.pdf
  • 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?

Lisaks projektidest:

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

12. detsember.

  • Kell 13:45: Ülevaade päris aju (mitte tehis) kohta teadaolevast, põhiteooriatest ja lähenemistest.
Loengumaterjal: Brain_science.pdf.
  • Eksamiks nende loengute kohta küsimusi ei tule.

Täiendavalt hajussüsteemidest: vaata seda kursust.

Täiendavalt plokiahelatest:

Täiendavalt ajuteaduse teemal:

16. nädal: Konsultatsioon eksamiks

19. detsember

  • Kell 12: Konsultatsioon eksamiks

Konsultatsioon toimub ainult teamsis sellel lingil, mitte füüsiliselt auditooriumis!

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.