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



Eksamite esialgne ajaplaan

Esialgne ajaplaan (võib veel muutuda): 6, 13, 21 jaanuar: igal päeval kaks kellaaega, eri gruppidele.


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

12. kontrolltöö, mis jääb üles 9. detsembrini, kaasa arvatud:

Kontrolltöö 12, kolmeteistkümnenda nädala teemadel

Kontrolltöös on paar küsimust puu ülesande kohta. Lahenda selliselt:

Ava brauseris Ecki xTurtle Turtle Graphics, ava "Select program" menüüst "Tutorial 7: recursion" ja muuda lehe ülemises suures tekstiväljas olevat SUB Tree(size,level) programmi (see ei ole kohe teksti alguses, vaid veidi allpool) vastavalt kontrolltöö küsimustele. Siis vajuta "Run the program!" nuppu ja vaata, mida programm joonistab.

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


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.

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

24. oktoober

  • 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

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

  • Loenguvideo: paistab olema alles ainult esimese loengu salvestus.
  • Eksamiks esialgselt: 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.

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

Lisaks projektidest:

15. nädal: 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.

Täiendavalt plokiahelatest:

Täiendavalt ajuteaduse teemal:

16. nädal: Planeerimisel ja konsultatsioon eksamiks

19. detsember

  • Kell 12: Planeerimisel.
  • Kell 13:45: Konsultatsioon eksamiks

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.