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@ttu.ee, 6203457, ICT 426
olemas on ka 2021 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 kättesaadav live feed.

Videoalvestuste lingid leiad allpool nädalate loengupresentatsioonide järel.

Maht, aeg, tulemus

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

  • Reedel kell 12:00: loeng eksamiks vajalike materjalide ja koduülesannetega. Õppejõud Tanel Tammet.
  • Reedel kell 13:45: süvaloengud kitsamatel teemadel, tervikkursuste ülevaated ja teemasid tööstusest. Erinevad õppejõud. Ka siin antakse vahel koduülesandeid.

Sessiooniõppe sissejuhatav loeng on reedel, 2 septembril kell 17:45-19:15 ruumis ICT-315 (Akadeemia tee 15A)

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 loengupäevast kuni järgmise loengupäevani (siis tulevad uued materjalid). Koduülesanded - kui neid antakse - on kontrolltöö üheks osaks.

Nädala kontrolltööd publitseeritakse loengupäeva õhtul või järgmise päeva hommikul.

Samuti antakse kursuse käigus teha väikeseid harjutusi: need tuleb teha iseseisvalt ja tulemused vastata samades mikro-kontrolltöödes.

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. nädala kontrolltöö siin: küberkaitse ja lahenduvus.

NB! Viimase ülesande juures on 3n+1 programm järgmine:

def seq3np1(n):
  while n != 1:
    print(n)
    if n % 2 == 0: # n is even
      n = n / 2
    else: # n is odd
      n = (n * 3) + 1
  print(n) # the last print is 1

Tee väike programm, mis katsetab järjest arve 1,2,3,4 jne, kuni leiab seq3np1 jaoks esimese sellise sisendarvu n, mille puhul seq3np1 teeb üle 100 tsükli (ehk, trükib üle 100 rea). See leitud sisendarv ongi vastus, mis tuleb kontrolltöösse panna.


Kontrolltöö ilmub siia peatükki lingina loengupäeva õhtuks või järgmise päeva hommikuks ja jääb üles järgmise loengupäevani, kuni tulevad uued küsimused.

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 kaheks blokiks: esimene, lühem blokk on sissejuhatus ja ajaloopõhine tehnoloogiaülevaade, järgmised, põhiblokid on erinevad tehnoloogiad, arvutiteadus ja äri.

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: arvuti ja info, ajaloo algus ... 1940

2. september.

  • Kell 12: Sissejuhatus. Arvuti ja info kodeerimise põhimõtted.
Loengumaterjal: itsissejuhatus1a22.ppt, itsissejuhatus1a22.pdf.
  • Kell 14: Varane ajalugu. Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
Loengumaterjal: itsissejuhatus2a2.ppt, itsissejuhatus2a2.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

9. september.

  • Kell 12: 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_21a.ppt, Itsissejuhatus_proc_21a.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: Keskajalugu 1970 ... 1990 ja masinalähedane programmeerimine

16. september

  • 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 lugeda ja veidi harjutada Easy 6502 pisiõpikuga.
  • 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:

4. nädal: Algoritmid ja andmebaasid

30. september

  • Kell 12: Algoritmid: keerukus. Ülevaade kursusest. Õppejõud Marko Kääramees.
Loengumaterjal: Algoritmid_2019.pdf.
  • Kell 14 (mitte 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_s2021.pdf ja täiendavalt xlsx ja sql näitefailid
  • Eksamiks: 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. (2) Mis asi on: andmebaas, andmebaasisüsteem, SQL.

Täiendavalt algoritmide teemal:

5. nädal: Lähiajalugu 1990-2009 ja andmetüübid masinalähedaselt

7. 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. Lihtsad andmetüübid, stringid, massiivid, puud, mis on pointer.


Lisaks produktiivsuse kasvu ja innovatsiooni aeglustumisest:

Lisaks ajaloost:

Lisaks andmete esitusest:

Muud huvitavat:

6. nädal: Operatsioonisüsteemid ja tekstitöötlus

14. oktoober.

  • Kell 12: Operatsioonisüsteemid
Loengumaterjal: Itsissejuhatus8a9.ppt, Itsissejuhatus8a9.pdf.
  • Kell 13:45: Tekstitöötlus: Ivari Horm
Esialgne loengumaterjal: teksti toimetamine. Lisaks (mittekohustuslik) on siin allpool lingid näitefailide algfailidele ja tulemustele.
  • 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.
  • Loenguvideo (teises loengus ei ole ekraanipilti kaasas: vaata paralleelselt ülalolevat loengumaterjali juurde)

Soovitavat katsetamist opsüsteemidega:

Eriti soovitavat lugemist opsüsteemidest:

Muidu soovitavat lugemist opsüsteemidest:

7. nädal: Interneti funktsioneerimine ja tabelarvutus

21. oktoober

  • Kell 12: interneti funktsioneerimine: Ivo Müürsepp
Loengumaterjal: Arvutivorgud_3.pdf: see on 2021 aasta Ivo materjal.
  • Eksamiks: Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis mille sees). Päiste detailide kohta ei küsita. Tabelarvutuse teema: mismoodi kirjutatakse Excelis lihtsamaid valemeid.

Tutvuda lühidalt interneti funktsioneerimise teemal:

8. nädal: Programmeerimiskeeled ja veebirakendused.

28. oktoober.

  • Eksamiks: Kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python). 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).

Tillukeste interpretaatorite ja kompilaatorite koodinäited:

Tutvu veidi nende progekeelte populaarsus-võrdlustega:

Siis vaata veidi neid asju:

Veebirakenduste teemal vaata veel:

Muud huvitavat:

9. nädal: Tarkvara arhitektuur ja tehisintellekt

4. november.

  • Kell 12: Tarkvara arhitektuur. Teegid, komponendid, andmebaasid, litsentsid jms.
Loengumaterjal: Itsissejuhatus9a21.ppt, Itsissejuhatus9a21.pdf.
  • Kell 13:45: Tehisintellekt.
Loengumaterjal: ai_sissejuhatus_c.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. Mis on tugev ja mis nõrk AI, mis on turingi test ja mis on eliza. Mis on otsimeetodites minimax ja alpha-beta (tehnilisi detaile ja näiteid ei tule). Mis on peamise tehisintellekti arendamise meetodid/lähenemised. Mis sorti ülesandeid praegused tehisintellektisüsteemid suudavad ok/väga hästi/väga halvasti lahendada? Mis on IBM Watson, GPT3, AlphaZero.

Kohustuslikku lugemist arhitektuuri teemal eksamiks:

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

Lisaks: täiesti mittekohustuslikke ideid lugemiseks:


Lisaks tehisintellekti teemal:

Taustakuulamiseks soovitavaid podcastiepisoode:

10. nädal: Masinõpe ja plokiahelad

11. november.

  • Kell 13:45: Dirk Draheim räägib plokiahelate, Bitcoini, Web 3 jms tehnoloogiast ja teooriast: inglise keeles. Loenguslaidid.
  • Loenguvideo: heli algab ca 7. minutil. Teise loengu presentatsiooni-osa muutub nähtavaks ca 1:52.


  • Eksamiks: 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)? Mis on peer-to-peer network, kuidas plokiahel võltsimatust tagab, mis asi on distributed ledger (hajusraamat) ja mida selles kontekstis mõeldakse konsensuse all.

Lisaks uuri masinõppe kohta:

ja plokiahelate kohta:

11. nädal: Andmevood ja andmelaod + ise-järelvaatamine: kuidas saada heaks programmeerijaks.

18. november.

  • Kell 12: Orion Governance kaasasutaja ja chief data scientist Kalle Tomingas räägib väga suurte infosüsteemide andmeladudest, andmevoogudest ja analüüsist.


12. nädal: Küberkaitse ja algoritmid: lahenduvus.

25. november.

  • Kell 12: Olaf Maennel räägib küberkaitsest inglise keeles: The evolving world of cyber-operations. Abstract:

“Cyber”, as the 5th domain of warfare, is getting more awareness recently. Our unpreparedness is also becoming apparent. In this talk, we will revisit some recent developments in the sector and discuss the underlying fundamentals of the problems we are seeing. How can we increase our cybersecurity posture as individuals and organisations? Simple cybersecurity awareness changes, combined with some common sense and essential critical thinking, can already bring us quite far. We will discuss some examples of offensive methods and understand how to build the required defensive culture.

  • Kell 13:45: Algoritmid: lahenduvus.
Loengumaterjal: Itsissejuhatus13a.ppt, Itsissejuhatus13a.pdf.
  • 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. Küberkaitse teemad täpsustuvad loengute järel.

Vaata lisaks lahenduvuse teemal:


13. nädal: Rekursioon, funktsionaal- ja loogiline progemine + loeng Wise (endine Transferwise) poolt

2. detsember

  • Kell 13:45. Uku Wisest räägib tarkvara-toodete ehitamise - product engineering - ja vajalike/abiks/super oskuste teemal. Presentatsioon taustaks: Media:wise_taltech_talk.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. Prologi ja lambda-arvutuse näited tuleb ära tunda ja aru saada.

Lisaks proovi ja loe veidi:

Vaata ja proovi näiteid modifitseerida:
Huvi korral katseta Prologi online või installeeri SWI Prolog.

14. nädal: Plokiahelate jätk, IT projektid ja äri. Planeerimisel

9. detsember

  • Kell 13:45: Tarkvaraarendusprotsess, IT projektid ja äri.
Loengumaterjal: Itsissejuhatus_projektid_raha_20.pptx, Itsissejuhatus_projektid_raha_20.pdf
  • Eksamiks:

Lisaks projektidest:

15. nädal: Planeerimisel + konsultatsioon eksamiks

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

Mõned valikepisoodid mujalt: