Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

12 it kordamiskysimused (0)

1 Hindamata
Punktid




Ujukoma arvude eistamisel kaks põhiosa. eksponent ja mantiss ja mis nende mõte on. Kuidas negatiivset arvu esitatakse. Mis on tüüpilised täisarvu suurused, millega tüüpiline protsessor korraga hakkama saab. Päis – ip pakett, mille sees on tcp pakett.c Eksamil 10 küsimust. Kirjalikud vastused (ei ole valikvastused). 1/10 on  lugemisküsimus. 11. ja 12. nädala küsimused kõige kehvemini tavaliselt eksamil vastatud. Nädal Loeng 1 Loeng 2 1 ok ok 2 ok ok 3 ok ok 4 ok ok 5 30.09. ok 01.10. ok 6 07.10. 08.10. 7 14.10. 15.10. 8 21.10. 22.10. 9 28.10. 29.10. 10 04.11. Rekursioon 05.11. Helmes 11 11.11.  12.11. Kääramees 12 18.11. Masinõpe 19.11. 13 25.11. 26.11. 14 02.12. Priit Järv. 03.12. 15 09.12. Konsult. 10.12. E-valimised 16 16.12. 17.12. 1. nädal. Sissejuhatus: arvuti ja info, ajaloo algus ... 1940 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. Bitt - 1 binary digit Bait – 8 bitti, 8 binaararvu. Kilobait – 1024 baiti Megabait - 1,048,576 bytes, 1024 kilobaiti Mälu ehitatakse kahe astme suurustena. Siis nt 1024 on lähim kase aste 1000-le. Tähtede kodeerimine – igale tähele on vastavusse pandud mõni number.  Kokkuleppeline. Nt ASCII kokkulepe – tabel, kuidas mingile numbrile paned vastavusse  mingi tähe. Püüab kodeerida kirjutusmasinat. ASCII decimalid 0-127 (128 karakterit,  mahub 7 biti sisse). UNICODE (extended ascii) – 4 baiti (4x8=32 bitti). Esimesed 128 


on samad mis asciis. Ülejäänud on muud tähed. UTF8 on viis Unicode lühemalt käsitleda (Unicode kompaktsema esitamise viis). 1,112,064 code points. Algoritm - on täpne samm sammuline, kuid mitte tingimata, formaalne juhend millegi  tegemiseks. Toiduretsept. Juhend ruutvõrrandi lahendamiseks. Algoritmiline probleem  probleem, mille lahenduse saab kirja panna täidetavate juhendite loeteluna. Programm - on formaalses, üheselt mõistetavas keeles kirja pandud algoritm. Arvutid  suudavad täita ainult programme. Posu mingeid käske. Kreeka loogikud. Loogika on teadus mõtlemise alustest. Loogika uurib mõtlemise  paratamatuid aspekte ehk seda, mis üldse teeb mõtlemisest mõtlemise ehk õige mõtlemise ehk seda, mida ja kuidas üldse mõelda saab. Loogikud Parmenides, Zenon Eleast  (promos paradokse, et asjad on keerulisemad kui nad paistavad (nt liikumist ei ole  olemas, Achilleuse kilpkonna paradoks jne)), Sokrates, Platon, Aristoteles. Kõrgaeg  kompaktne periood 5 saj – 350 e.m.a. Fundamentaalsed mõtlemismeetodid: Induktsioon – Õpid. Matemaatiline induktsioon (teistmoodi). Deduktsioon - järeldad midagi. On mingid reeglid. Süllogismid – Aristoteles leiutas. Väiksed reeglid. Iga x on y, mõni z on x. Järeldus mõni  z on y. See on süllogism – väitlus, kus etteantud väidetest on väitlus, kus mingitest  etteantud väidetest (eeldustest) järeldub paratamatult uus väide. Aristotelese puhul alati  kaks kategoorilist eeldust, üks kategooriline järeldus. Lausearvutus (pead mh oskama tõeväärtustabelit koostada) – seda oskab teha küll.  Alused 1847-1854. George Boole ja de Morgan. Matemaatilise algebra ideede  kasutamine loogika jaoks. Pascal – kristlik filosoof (1640) esimene aritmeetiline masin, mis ainult liitis ja lahutas.  Isa oli maksuametnik ja nende kaudu müüs neid. Leibniz (1646-1716), filosoof. Leibnizi arvuti, mis liitis, lahutas, korrutas ja jagas.  Perfokaardid – 1800, Jacquard mõtles välja. Tema eesmärk oli teha automatiseeritud  kangasteljed. Perfokaaridga saab sama masinaga toota erinevaid tekstiile ja mustreid jne.  Perfolint mõeldi telegraafi automatiseerimiseks. Üks kaart on üks rida teksti (nt 8 rida  ühe baidina). Babbage – 1822. Difference engine, jäi pooleli. Mõtles välja päriselt esimene  mehhaanilise programmeeritava arvuti. Väga suur ja ülikeeruline. Herman Hollerith: 1890 : perfokaartidega masin USA rahvaloenduse andmete  töötlemiseks. Sellest firmast kasvas välja IBM. Colossus ja saksa krüptomasinad – Saksa sõjavägi alates 1920 krüpteeris teksti.  Enigma krüpteeris (Lorenz jt ka). Poola tuumik tegeles nende dekrüpteerimisega. Hiljem läks Inglismaale üle, Turing liitus  ka. Colossus oli dekrüptimise masina nimi (1943 Londonis saksa allveelaevade salakirja  dekodeerimiseks). Turing - Alan Turingi idee, milline võiks olla lihtne universaalne arvuti: suudaks  arvutada/järeldada kõike!! Turingi tees: kõike, mida üldse saab mingi masinaga 


arvutada/järeldada, saab ka Turingi masinaga arvutada. Teoreetiline masin, mida  tegelikult ei teinud. Lihtsa programmeeritava mehhaanilise arvuti tegemise õpetus  sisuliselt. Kõik programmeeritavad arvutid on võimelised tegema seda mida teisedki  programmeeritavad arvutid. Vahe on kiiruses. Shannon - MIT, 1938 , Shannon i magistritöö sidus: Boole algebra. Elektrilülitid ja  skeemid. Bitid ja info kodeerimine. Info otsimise algoritmid. Mõtles välja info  kodeerimise teooria (kuidas info bittidesse pakkida efektiivselt). Konrad Zuse – Z1. (1936). Oli oma proge keel. 1941 päris esimene mehhaaniline  programmeeritav arvuti, Turing Complete 1998. Täitsa ise tegi. Programmeeritavate  arvutite pioneer Saksamaalt. By 1967, the Zuse KG had built a total of 251 computers.  Due to financial problems, the company was then sold to Siemens. Esimesed programmeeritavad arvutid. 2. nädal: Keskajalugu 1940-1960 ja e-riik. 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. E-riigist: mis on x-tee. Transistor – leiutati 1947. Nendest arvutid on tehtud ja peaaegu kogu elektroonika on  tehtud. Leiutati Bell Telephone Laboratories firmas, telefoni monopol. Shockley, Brattain ja Bardeen said Nobeli selle eest. Samuel – 1952, mõtlemisarvutimängude esiisa. IBM. Tema mäng püüdis ka õppida. Shockley semiconductor – 1955. Püüdis teha kommertsiaalset transistorit. Ettevõte  kõrbes. Sellest pundist inseneridest tekkis Intel ja AMD mõlemad. Fortran – 1957. Formula translator. Esimene kõrgtaseme keel. IBMis välja töötatud.  Võimaldas loopide abil teha korduvaid tegevusi. Insenerülesannete lahendamiseks  mõeldud. Selge nišš füüsikutel jms. Fairchild Semiconductors – 1957. Shockleyst 8 inseneri tegid. Pooldus hiljem. SAGE – 1958. Interneti esiisa. Semi-Automatic Ground Environment. Suur võrgustik  tuumasõja valveks. Esimene suur arvutite suhtlemise võrgustik. Texas Instruments – 1954. Juhtiv arvutitükkide tootja. Kommertsiaalsed silikoon- transistorid. 1958 Kilby tegi seal integraalskeemi. Samal ajal Robert Noyce tegi selle  Fairchildis. Integraalskeem – vt eelmist :) 1960 Fairchild tegi esimese kommertsiaalse  integraalskeemi. COBOL – 1960. Teine kõrgkeel. Common Business Oriented Language. Mereväes  logistika ja laomajanduse jaoks. Seda juhtis Grace Hopper (admiral). Ajaloolisel põhjusel USA suurtes pankades, kindlustusettevõtetes jne. Ei visata kergelt ära. Aga antiikne keel. LISP – 1954. John McCarthy loodud tehisintellekti jaoks sobiv programmeerimiskeel. 


Teise fookusega kui Cobol. Kultuskeel. Tohutult mõjutanud paljusid keeli (Python,  JavaScript). LOGO oli lihtsam Lisp lastele. Seymour Papert mõtles välja. pdp-1 – 1960 Digital Equipment Corporationi tehtud arvuti, mida ülikoolidele müüdi.  Kommertsiaalselt õnnetu asi. Toodeti 50 tk ja sellele tehti esimene videomäng Space  War! PDP-8 oli esimene päriselt edukas. 5x odavam kui IBMi mainframe’id.  System 360 – 1964. IBMi süsteem. Perekond mainframe’e, kus saab teha kokkusobivad  seadmed. Et arvutile sobib ketas ja printer jne. Varem sellist ei olnud ja pidi eraldi  progema hakkama. Sellele tegid ka op.süsteemi OS360. Moore's law – 1965. Moore oli Inteli president pikalt (Fairchildi asutaja). Prognoos või  tähelepanek tulevikuks. Ühe integraalskeemi peal olevate komponentide (transistoride)  arv kasvab umbes 2x 1.5 aasta jooksul. Pannakse tihedamalt või skeem läheb suuremaks.  Ei räägi kiirusest! Intel - 1968. Moore ja Noyce teevad Inteli AMD – 1969 loodi paralleelselt Inteliga. Fairchildist inimesed tegid mõlemad. Engelbart – 1963 Stanfordis. Mõtles välja hiire. 1968 mõtles välja kaasaegse välimusega Wordi analoogi, kontorikomplekti. Ei läinud reaalsesse kasutusse kunagi aga demo on  kuulus (kõigi demode ema). Unix – 1969 tehti. Esimene OP süsteem, mis on siiani kasutusel. Tegid DECil, AT&T  Bell Labis. Unixist arenes Linux ja Apple OSid. Esimene mikroprotsessor – 1970. Intel tegi esimese 4004 mikroprotsessori kalkulaatoris kasutamiseks. 4. loeng e-riigist: mis on x-tee. Esimene rakendamine 2001. Esimene piiriülene teenus  2009. 75 miljonit päringut iga kuu. Tehniline ja organisatsiooniline keskkond, mis  võimaldab turvalist ja tõestusväärtust tagavat internetipõhist andmevahetust riigiasutuste  vahel ja erasektoriga. Teabe vahetamiseks kirjeldab üks X-tee liige jagatavad andmed  ning kõik teised liikmed saavad kokkuleppe alusel seda infot kasutada. Kuna X-teega  liitunud süsteeme on palju, saavad X-tee liikmed oma äriprotsesside tõhustamiseks  kasutada teiste liikmete teenuseid ja andmeid. X-teel on mitmekülgne turvalahendus:  autentimine, mitmetasemeline autoriseerimine, kõrgetasemeline logide töötlemise  süsteem, krüpteeritud ja allkirjastatud andmeliiklus. 3. nädal: Keskajalugu 1970 ... 1990 ja küberkaitse. 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. Küberkaitse termineid:  turvateater, malware, cookie, phishing, social engineering. esimene mikroprotsessor SQL – 1970. IBMis. Andmebaasikeel. Honeywell Information Systems.  Kommertstootena 1976.


ARPANET – 1971. Interneti sünd. Katse võrguprotokolli jaoks. Atari – 1972. Esimesed suurema levikuga arvutimängud. Nolan Bushnell. 1977 sai  sellest koduarvuti firma. Esimene kolmest edukast. Warner ostab 26 miljoniga ära. CP/M – 1973. 10ks aastaks kõige suurem OP süsteem koduarvutite jaoks. Gary Kildall.  Sellest võinuks saada midagi nagu Windows vms. Winchester – 1973. Hard disk unit. IBMi tehtud. Altair – 1974. MITS, pisike ühemehefirma teeb esimese väikearvuti. Müüb miljoni eest  seda. Gates ja Allen hakkasid Altairi jaoks softi tegema ja sellest sai alguse Microsoft.  Said sellest inspiratsiooni, et teha mikroarvutit. Project Alto – 1972. Xeroxi mõte teha väikest kontoriarvutit. Mõjutas Maci ja  Microsofti, kes käisid seda vaatamas. Xerox ise ei suutnud mõelda, kas müüma hakata  või mitte. Tohutult mõjus masin, kuulus arvuti, mida kunagi õieti müüma ei hakatud. UNIX ja C – 1969 AT&T Bell Labsis Kenneth Thompson ja Dennis Ritchie tegid.  Thompson mõtles UTF8 välja ühe õhtuga, mõtles välja ka keele B. Richie tegid sellest  keele C, et oleks UNIXit kergem kirjutada. – 1970ndate esimeses pooles. autorid on (Thompson ja) Ritchie ja Kerninghan.  Peaaegu kõik baasasjade softid on Cs kirjutatud. Laseb progejal kõik ise teha. Microsofti algus – 1969. Gates ja Allen tegid testtöid ja kutsusid end Lakeside  Programming Group. Hiljem tegid Traf-o-Data. Micro-Softi toode oli BASIC unixi jaoks. Apple algus – 1975. Wozniak insener. Jobs müügimees. 1977 koduarvutid – Esimesed massiliselt edukad koduarvutid. Commodore PET  (personal electonic transactor). Apple II. TRS-80 (Tandy Radio Shack) - prognoosisid  3000 aastas müüki aga müüsid kuuga 10 tuhat. Visicalc – esimene spreadsheet 1979. Algselt Apple II jaoks. Daniel Bricklin ja Robert  Frankston tegid. Aga hiljem tuli Lotus, mis tegi kogu kontoritarkvara paremini.  Apple II – 1976 alustab Wozniak tööd selle kallal. 1977 saab valmis. Üks esimestest  populaarsematest koduarvutitest. 1983 tehti miljonis arvuti. Symbolics – 1980. Created special hardware for running LISP programs (mostly AI)  efficiently.The whole system written in LISP. Väga kallid arvutid. IBM PC 5150 – 1981 hakkab tegema koduarvutit. Muutus väga suureks asjaks ja suretas  kõik teised koduarvutid välja. Microsoft oli peamine tarkvara pakkuja neile (ostsid MS- DOSi Seattle Computer Productsist), kuna IBM polnud ise väikestele arvutitele varem  teinud. Sun Microsystem – 1976 Bill Joy asutab. Sun Microsystems is founded. "SUN"  originally stood for Stanford University Network. Motto “Network is the computer”. First workstation introduced. It includes TCP/IP, now known as the Internet protocol suite  (NOT invented by Sun). Oracle ostab ära. Teeb Java keele.  Oracle – 1983 Relational Software Inc. changed its name to Oracle Corporation.


Macintosh – 1984. Lisa (1983-1986) odavam versioon. the first successful mouse-driven computer with a graphic user interface, with a single $1.5 million commercial during the  1984 Super Bowl. Apple ja Microsofti tooteliinid -   Küberkaitse termineid 17.09.2019:  Turvateater – lae alla tarkvara ja sinu arvuti on turvaline. Tehakse tegevusi, mis loovad  ettekujutuse turvalisusest (nt lennujaamas turvakontroll), mis tegelikult pole turvalisust. Hea küberturbe loeng on, kus on Alice ja Bob. DDoS on distributed denial of service. Malware - any software intentionally designed to cause damage to a computer, server,  client, or computer network (by contrast, software that causes unintentional harm due to  some deficiency is typically described as a software bug). Cookie Phishing - the fraudulent attempt to obtain sensitive information such as usernames,  passwords and credit card details by disguising oneself as a trustworthy entity in an  electronic communication. Social engineering - the psychological manipulation of people into performing actions or divulging confidential information. 4. nädal: Lähiajalugu 1990-... ja e-riik edasi: ohud, analoogid.  23.09.2019. Eksamiks: Python, html ja http, internet eestis, linux, netscape, usenet, php, päevalehed  eestis, palm pilot, google, deep blue, wikipedia, x-tee. Python – 1989. Guido van Rossum. Suur kogemus progekeelte alal. Kogu aeg kasvanud.  Python 3 tuli 2008 ja ei olnud backward compatible. HTML ja http – 1990. brauser sündis ka. Internet oli juba ammu olemas (e-mail, AOL  veebi moodi asjaga, jne). Tim Berners-Lee tegi füüsikute jaoks mugava  publitseerimistööriista ja tuli HTML. Kirjutas ise väikse serveri ja brauseri, mida oleks  lihtne kasutada. TBL browser jooksis NeXTi (Jobsi startup, unixi põhine kõva lauaarvuti) peal.  Internet eestis – 1990. e-post ja USENET. Ühendus Küberneetika Instituudi ja soome  UNIXi kasutajate seltsi vahel. Päris TCP/IP 1992. üle satelliidi esmalt Tallinn- Stockholm-Tartu. Teine liin oli kaabliga Helsingis. Elasid välisrahastusest ja olid  mõeldud akadeemiliseks tegevuseks. Linux – 1991 tegi Linus Torvalds Helsinki ülikooli tudengina op.süsteemi. Kasutas  Minixit ja Gnud. 1194. Linux 1.0. 2004. Ubuntu, mis on kõige suurem Linuxi distro. Netscape – 1994 NCSA www-meeskonnast sündis Netscape Navigator (esimene suur 


brauser). $4 miljonit James Clarki investeering. 1995. läks börsile. IE oli kehvem. Raha  teenimise võimalust ei tekkinud. Müüsid maha AOLile. Tegid koodi vabavaraks ja sellest  sai Mozilla ja Firefox. Usenet – 1984 (vist, sest Netscape ajaks oli see juba 10 aastat olemas olnud).  ülemaailmne uudisgruppide süsteem. Nagu Reddit. 1994. Netscape message on USENET. Olid moderaatorid. Sai levitada massiliselt infot. php – 1994., samal ajal koos mysqliga (mida tegid Michael Widenius ja David Axmark).  Progekeel veebilehtede tegemiseks. Pole inimeste lemmik. MySQLi branch on MariaDB. Päevalehed Eestis – 1995. Eesti esimene päevaleht internetis. EPL zzz.ee serveris. Iga  ajastu oma stiilis. Palm pilot – 1996. väga edukas esimene pihuarvuti. Algselt US Roboticsi oma. Google – 1997. Larry Page ja Sergey Brin Stanfordis tegid raamatukogule süsteemi.  Mõtlesid, et hea oleks kasutada sellist asja nagu page rank. 1998 Sun co-founder andis  100,000. 1999 sain 25 miljonit Sequoia Capitalilt ja Kleiner Perkins. Deep blue – 1997. IBMi poolt tehtud paralleelarvuti spetsiaalselt male jaoks. Ametlik  matš. Täna iga normaalne laptop on suurema arvutusvõimsusega kui Deep Blue. Wikipedia – 2001 loodud, progetud phps. X-tee – 2001. Infovahetus riigiregistrite süsteemide ja andmebaaside vahel. Cybernetica  AS, Assert/Fujitsu ja Küberneetika Instituut hakkasid ehitama. 5. nädal: Programmeerimise alused, masinalähedane  programmeerimine ja andmetüübid Eksamiks: turingi masin, relee, mälutüübid. Lihtsad andmetüübid (täisarvude, ujukoma- arvude, tähtede esitamine), stringid, massiivid, puud. Turingi masin – ei ole reaalne asi. Turingi masina mälu on lint, mida loeb/kirjutab eraldi  pea. Programm on eraldi tabelis ridadena, mis kõik on kujul. Loeb andmed lindilt  (magnetlint hea). Väike mälu, mis ei ole lindil ja jätab meelde seisundit. Ei ole von  neumanni tüüpi, sest mälu ja programm on eraldi. Relee – mootoriga lüliti. Vedru hoiab lahti. Magnet tõmbab kinni (kui magnetile voolu  anda). Transistorid teevad sama asja. Saab kasutada näiteks lausearvutuse  realiseerimiseks. Mälutüübid – Mälu on aeglane ja ei lähe eriti ruttu kiiremaks. 10 nanosekundit. Mälu ei  ole tehtud transistoridest vaid on tehtud kondensaatoritest Arvuti põhimälu DRAM on  ehitatud väikestest kondensaatoritest: iga kondensaator hoiab ühte bitti. Tema juhtimiseks on kasutusel veel üks transistor. Kondensaatoritega mälu ei osata väga kiireks teha. Kondensaatoritega mälu on odav. Protsessori registrid (eriti kiired mäluosad) ja cache mälu (abimälu põhimälu ja  registrite vahel) on ehitatud transistoridest (SRAM): 4 või 6 transistori ühe biti kohta. See on kiire tehnoloogia. Samas on see kallis. Arvuti kiirust mõjutab cache suurus.


SSD (flash mälu, mälupulgad) on samuti transistoridest, aga aeglane ja odav. RAM on 250x aeglasem kui register. 100x aeglasem kui L1 cache. 01. oktoober Andmete esitamine on puhtalt oma teha. Lihtsad andmetüübid – täisarv, ujukoma-arv, sümbol ehk täht. Millest protsessor aru  saab. Keerukamate jaoks (list, string) kasutame teegi funktsioone, mis keegi on juba valmis  progenud. Kasutavad oma süntaksit. Täisarvude (A la 34, 4545, 0, 92829292) – põhiasjad, millega protsessor tegutseda  oskab. Mälust lugeda, mällu kirjutada, teha tehteid…Protsessor oskab kasutada 4 ja 8  baidiseid täisarve. Cache mälust loetakse alati korraga vähemalt 8. Negatiivsed täisarvud – esimene bitt määrab, kas arv on negatiivne või mitte. Ujukoma-arvude – Kasutatakse 8 baiti. Teine variant on 4 baiti. Suuruse näitaja on  eksponent, numbritega osa on mantissa ja üks bit on negatiivse-postiivse jaoks ka.  Mantissa osa on suurem. IEEE standard, et kõik protsessorid üht moodi kodeeriks. Arvud, mis kümnendsüsteemis esitad, ei pruugi kahendsüsteemis välja tullagi sest on piirangud. Tähtede esitamine – ühe tähe kodeerimiseks 1 bait (C), Java kasutab 2 baiti. Pythonis  muidu ühebaidised aga täpitähed näiteks 2 baidised. On mitu erinevat teksitüüpi (UTF8  või binary tekst). Stringid - Tekst on lihtsalt jada baite mälus järjest pluss pikkuse määrang. Lihtsamal  juhul (ascii ja iso 8859 1 kodeeringud) on üks täht üks bait. Keerukamal juhul (utf8) on  ascii tähed üks bait, teised rohkem. Java stringides on üks täht kaks baiti. Pikkuse määrangut tehakse kahel eri viisil: C stringid lõpevad baidiga 0. Pythoni, Java, Javascripti jne stringide osaks on eraldi pikkuse number. Java stingidel on pikkuse number ja veel lisainfot (lukustamise piirkond, klassi info). Massiivid ja puud on komplekstüüp. Massiivid - Massiiv on jada ühetüübilisi väärtusi: tähti, täisarve, ujukoma arve, teisi  massiive vms. Tüüpiline juhtum on lihtsalt jada täisarve mälus. Näide kahebaidiste  arvude massiivist mälus: Alumine on aadress ja ülemine on tegelik aadress. C-keeles massiivil ei ole pikkuse numbrit. Hoiad ise eraldi muutujas nt. C keeles ei  sisalda massiiv mingit pikkuse-numbrit. Programmeerija peab ise teadma või eraldi  salvestama, et kui suur mõni tema tehtud massiiv on. Java ning Javascripti ja Go 


massiivid sisaldavad lisaks andmetele ka massiivi pikkuse numbrit. Kahemõõtmeline massiiv on näiteks tabel. Olgu meil vahelduseks stringide massiiv: ta sisaldab eri stringide alguspunktide  mäluaadresse . Stringid ise ei pea olema lähestikku Pythonis stringil on kaasas pikkus ja mäluaadress (pointer). Puud – puul ei ole progekeeles täpset tähendust. Näitepuud koosnes iga element  väärtusest ja kahest mäluaadressist. Progemises piisab kahendpuudest peaaegu alati. Kui sa Pythonis kirjutad A = [1, 5, 2, 4] siis tehakse sulle massiiv mäluaadressidest:  pointeritest karbistatud objektidele. Pythonis ja Javascriptis ei ole üldse tüüpe, kõik  muutujad sisaldavad pointereid. 6. nädal: Programmeerimiskeeled ja suurte infosüsteemide  andmearhitektuur. 7. oktoober Eksamiks: kompileerimine, interpreteerimine, parsimine, jit, vahekood,  programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine  (assembler, fortran, cobol, lisp, C, modula/pascal, python).  Programmeerimiskeeled ja assembler on inimese jaoks. Masin nendest midagi aru ei saa.  Kõik progekeeled peale assembleri on kõrgkeeled. C ja Fortran on masinalähedased. Kompileerimine - kompilaator teeb neist assemblerikeelsed ajutised failid. Kompilaator  teeb assemblerfailidest masinkood+sümbolinfo failid. Kompileerimisel on palju faase.  Analüüs, koodi genereerimine, optimeerimine. Lõpptulemus on target code. Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X  programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y.  Näited: C, Fortran, Go. Kompileerimine võib võtta aega. Siis võib kasutada  interpreteerimist. Kompilaator kompileerib X faili vahekoodiks Y, seejärel interpreteeritakse vahekoodi Y  (Python, Java). interpreteerimine -  masinkoodis programm nimega interpretaator loeb sisse X keeles  faili, teisendab ta nö pseudo-assembleriks / vahekoodiks ja asub seda vahekoodi varianti  rida-realt täitma. Programmi interpreteerimine on ca 10-200 korda aeglasem, kui  kompileeritud koodi täitmine. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne. parsimine -   jit -  Interpretaator interpreteerib vahekoodi Y, kuid kompileerib töö ajal osa Y-st  masinkoodiks, mida seejärel täidab (Java, C#, Firefoxi Javascript) nn just-in-time  compilation ehk JIT. Hoiab Javat kiirena. vahekood -  Vahe kood on asembleri sarnane kood, mis lubab programmil kiiremini  töötada programmeerimiskeeled vs kirjelduskeeled -  HTML on kujunduskeel, selles 


programme ei saa teha.  json -  kirjelduskeel. Iga keerulisem andmestruktuur on hea esitada kohe jsonina.  Tekstiline kuju, mida on hea parsida. javascript object notation. HTML -  kujunduskeel, mida brause interpreteerib. JavaScript on progekeel, millega  saad muuta nt HTMLi datat. Kujundusemärgenditest koosnev. SQL -  päringukeel (aga oli slaididel kirjelduskeelte slaidil). Andmebaasist data  pärimiseks. CSV-s kujundusasju pole (erinevalt Excelist) ja tänu sellele on seda hea programmiga  sisse lugeda. keelte äratundmine assembler -   fortran -   cobol -   lisp -   C -   Modula/pascal -   Python -  C. Loogeliste sulgude ja seminkoolini järgi  tunneb ära. Annab tulemuseks trükib välja  täisarvu 55. Teeb 10 liitmist 0-9… Assembler. Näeb midagi sellist välja. json html sql Fortran. Summeerib arve 0 - n Cobol. Summeerib arve 0 kuni n. Nagu  inglise keel. Progejatel ei meeldi pikad  tekstid. LISP. Summeerib arve 0 – n Kõik lispi proged on data ja proge samal ajal.  Saab teha hästi lihtsat proge. Listi süntaks on  ainuke ja sellepärast hästi palju sulgusid.  C. Summeerib arve 0 kuni n Python. Summeerib arve 0 - n Pascal. Tsükkel lõppeb END. Koolonid ja  sulud. 


Mis on data warehouse - andmehoidla (data warehouse) on eri liiki andmebaas. dDta  warehouse (DW or DWH), also known as an enterprise data warehouse (EDW), is a  system used for reporting and data analysis, and is considered a core component of  business intelligence. DWs are central repositories of integrated data from one or more  disparate sources. They store current and historical data in one single place that are used  for creating analytical reports for workers throughout the enterprise. Python - on eriline, sest sellel on taanded, mis on süntaksi osad. Ilma tüübita keel. 7. nädal: Operatsioonisüsteemid ja tekstitöötlus. 14. ja 15. okt. 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. opsüsteemi roll - OS ehitab programmide jaoks simuleeritud virtuaalmaailma.  Opsüsteemi põhieesmärgid: Pakkuda programmeerijale valmistehtud standardtükke.  Võimaldada kasutajal arvutis ühtemoodi ja harjumuspäraselt tegutseda, sõltumatult  sellest, mis programmid tal arvutis on. Arvutit saaks programmeerida ka ilma  opsüsteemita. Sel juhul: Oleks iga programmi tegemine palju raskem, kasutajate jaoks  näeks eri programmid väga eri moodi välja. Kui opsüsteemi ei oleks, peaks iga programm paljusid asju ise teha oskama (leida mälu, proge avada, kinni panna, võrguga suhelda,  kettalt lugeda, kirjutada jne)! Hetkel 4. põlvkonna OSid. mis on distro – tuum (nt Linuxi tuum) + draiverid + kasutajaliidese osad + tohutult softi  paketeeritud kokku installeerimistarkvaraga. Neid on meeletutes kogustes. Neid  ehitatakse olemasolevate distrote peale ja muudetakse midagi ära. Olulisemad nt Debian,  RedHat, Ubuntu jne. mis on Linux – Unixi tasuta versioon, mis jookseb paljudel protsessoritel (Intel, ARM  jne paljud väikesed eksootilised protsessorid). Üks osa on Linuxi tuum, mis on suhteliselt väike. mis on mac OS X – Apple desktop operatsioonisüsteem, mille mikrotuumaks (kernel  base) on Mach (CMU). Nüüd töötab Intelil. Palju rõhku on sellele pandud, kuidas aknaid  teha (GUI). Android – Linuxi distro (tinglikult) telefonide jaoks. Androidi tuuma sees on SQLite. protsessid – proge, mis on käima pandud. Vaja mälupiirkonda, kus ta töötab ja seisundit  (state – registrid, pointer jne). Ühed protsessid võivad potentsiaalselt käivitada teisi  protsesse. Opsüsteem kaitseb üht protsessi teise eest. multitasking -  paralleeltöö – ühel tuumal üks protsess korraga. Protsesside hulk on piiratud.  Paralleeltööd on illusioon. Igale tööle antakse natuke aega järgemööda (vist juhuslikus  järjekorras).


wait/run – protsessidel on olekudiagramm. Nt kui ootab inimese sisendit (väline tegevus  nt võrgust lugemine, kettalt lugemine), siis ta paneb protsessi blocked olekusse. Kui  tingimus on jälle täidetud, siis läheb jälle edasi. Mis on interrupt - The interrupt handler must save the machine state, do some  processing, then call the process scheduler and dispatcher. See on hetk, kus protsess  pannakse seisma. OS salvestab maha registrite seisu, et oskaks seda uuesti käivitada.  OPsüsteem on regulaarselt valmis kuulama, kas keegi tahab talle midagi öelda. Mis on virtuaalmälu -  Virtuaalmälu: OS mapib reaalse mälu „näilikuks“. 1. Kui mälu  saab otsas, siis swapib osa mälu, mida aktiivselt ei kasutada, kettale. Või läheb mälu  asemel lihtsalt osa otse kettale. 2. Füüsilises mälus tükid ei tule järjest vaid luuakse  ettekujutus, et tulevad järjest.  Mälupüramiid Tekstitöötlus: 
Lihttekst 
– plain text, kogu info tekstina, võib sisaldada kujundusmärgendeid. HTML,  Markdown, LaTeX, PostScript (loevad printerid). Rõhk sisul, mitte vormil. Tulemus  jõuab kiiresti. Ebamugav lugeda, tulemust pole näha, nõuab süntaksi tundmist, rohkem  kirjutamist. WYSIWYG – what you see is what you get. Lõplik vormindus redigeerimisel kohe näha. Mugavam lugeda, vorm domineerib sisu üle. Kooditabel – teksti kodeering. Ascii (7 bit) tabel, esimesed 127 märki. 0 on null. Kõik  inglise tähestiku märgid ja osad sümbolid, millele on vastavuseks number. Kui tekst  kodeeritakse ühega ja dekodeeritakse teise tabeliga. Koodutabel määrab kuidas faili  näidatakse. Kaasajal räägitakse UTF8st. Unicode (1-4B). Kui ei taha vaeva näha, siis  kasuta seda. Ascii Unicode Utf-8 -  Mis on LaTeX – TeX Donald Knuth 1978. Tekstilao (paiknemine, jaotumine ridadeks- veergudeks, joondamine jne) kirjeldamise märgendikeel. Mõte on lihtne ja ilus  küljendamine sõltumata arvutisüsteemist. LaTeX on TeXi edasiarendus struktuuri ja sisu  haldamise makrodega, mis hõlbustaks TeXi kasutamist. Kasutatakse akadeemiliste ja  tehniliste dokumentide tegemiseks (hea valemeid teha). Markdown – märgistuskeel teksti vormindamiseks (John Gruber 2004, juhendite,  kommentaarid jms lühikeste tekstide loomiseks). Puudub ühtne standard ning algselt  puudu osad vajalikud elemendid. Erinevad dialektid erinevates keskkondades. Erinevalt  TeXist lihtne lugeda ka vormindamata kujul ja veebikeskkondades levinud. Arvutis saab  kasutada markdown editori.


8. nädal: Tarkvara arhitektuur ja tabelarvutus 21.10. Eksamiks: 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. Tabelarvutuse kohta küsimusi ei tule. Fowler on arendusmetoodika guru. Arhitektuur on udune mõiste, mis peaks kirjeldama,  mis on tähtis. Peab saama kergesti muuta ja täiendada (sageli teiste poolt).  Tarkvara/rakendus on sotsiaalne konstruktsioon, mille osaks on ka inimesed, kes seda  kasutavad ja arendavad. Tarkvara juures on oluline teha kõike teha võimalikult lihtsalt  (kasutada olemasolevaid tükke, vältida fancy asju, planeerida nii et saaks edasi  arendada kergelt). Keerukuse surve. Näiliselt lihtsad asjad ei ole tavaliselt lihtsad. Law of leaky abstractions. Abstraktsioonid tilguvad läbi. Kui teed mingi asja peale, mida sa ei tunne, siis võid sattuda keerukuse  peale. No Silver bullet – uued tehnoloogiad tarkvaras nt OOP ei tee tarkvara arendust  drastiliselt keerulisemaks. on läinud efektiivsemaks aga järsku hüpet ei ole olnud. Fancy  meetod ei tee tarkvara tegemist palju keerulisemaks. Teise keele kasutamine ei tee  lihtsamaks. Keerukas ei ole andmestruktuur või tsüklid vms vaid see ülesanne mida sa  lahendad. Maleprogramm on keeruline sõltumata keelest. mis on teek – library. Väikesed jupid, mis teevad mingid konkreetset asja. Konkreetseid,  piiratud funktsioone realiseerivad väikesed komponendid ja nende komplektid . Mõned  komplektid on hiigelsuured. Funktsioonide näiteid: Trükkimine, faili kirjutamine,  võrguühenduse avamine. mis raamistik – framework. Keegi tegi juba proge, mis on laiemalt kasutatavat sorti.  Pooltooteline asi, kus suured tükid on ära tehtud. Saad ise täiendada ja ära visata.  Edasiarendamiseks ja ümbertegemiseks mõeldud terviklikud näite rakendused, levinud  eeskätt tüüpiliste “ andmebaasi kesksete veebirakenduste jaoks. Igast hästi läbimõeldud  rakendusest võib saada selline näiterakendus. Lihtsa asja jaoks raamistiku kasutamine  pole hea. Populaarseid raamistikke: Java Spring, Ruby on Rails, JavaScript Angular,  Python Django. nende näited –  Litsents on lihtsalt ühepoolne võta või jäta “ leping, et kuidas tarkvara tohib kasutada.  Kommertslitsentsid on väga mitmekesised: igaüks kirjutab endale sobiva. Vabavara on  vahel dual licenced: valid, kas kasutad piirangutega vabavarana või teistsuguste  piirangutega kommertslitsentsiga. Vabavaralitsentside hulgas on mitmed rohkem/vähem  vabad kategooriad. Vabavara (filosoofiline mõiste) on erimoodi olemas. Vaba on nagu „free speech“ (võib  modifitseerida, levitada, kasutada) pigem kui „tasuta õlu“. Sageli on olemas piirangud.  Vabavara ei pea olema tasuta. Seda võib müüa ka (aga ei pruugi osta, sest saab ka tasuta). Võib mis iganes eesmärgil käima panna, peab olema lähtekood (open source kaasas aga  sourcega kood ei ole tingimata vabavara). Alati, kui sellest tükist tekib mingi jura, siis  mina pole süüdi.


Arusaamine põhilistest litsentsitüüpidest -  Vabavaralised (gpl vs mit ja bsd) – GPL tüüpiliselt „õigus kasutada ja arendada“ aga kui  teed, siis litsents kandub edasi (ei tohi öelda, et sinu tehtud). MIT ja BSD on on väga lihtsad litsentsid. Teha mida iganes aga mitte ennast panna  autoriks. Võib kasutada ka kommertsiks. BSD samasugune aga mingite lisatingimustega. Mitte-vabavaralised -  GPL-i põhipoindid – see konkreetne tarkvara vabaks kaustamiseks aga kui midagi teed,  siis see teine tarkvara peab kasutama sama litsentsi (nt kui paned oma tarkvara sisse).  Kleepuv litsents, et maksimaalselt leviks. Võite kasutada küll aga ei saa kasutada oma  litsentsi pärast seda. Keegi ei saa legaalselt ära pätsata. Algne autor saab anda  kommertslitsentsi, kui keegi soovib müüa. Piirab kasutamist enamvähem mõistlikult ära.  LGPL lubab kasutada ka teegina.   9. nädal: Võrgurakendused ja interneti funktsioneerimine. 28. ja  29. okt. Eksamiks: mis on http, https, html, css, javascript, ajax, json, xml (näiteks ära tunda, kas  see on json või XML), kuidas üldjoontes töötab klassikaline veebirakendus ja kuidas  single-page app (koodinäiteid / nende detaile ei küsita).  Arvutivõrgud: mac aadress, ip aadress, port, ethernet, ip, tcp, udp, kapseldamine (mis  mille sees). Päiste detailide kohta ei küsita. Mis on http – HTTP on omaette protokoll TCP peal , mida kasutatakse veebilehtede ,  piltide , tekstifailide , zip failide , jsoni jne jne saatmiseks veebiserveri ja brauseri vahel.  http protokolliga päring üle TCP/IP serveri porti. http protokolliga vastus üle TCP/IP  kliendi porti (mis port, selle ütleb klient TCP sees). URL on koht kataloogipuus. HTTP vastus on: päis – tühi rida – sisu. HTTPS – HTTP krüptovariant. HTTPS päring on krüpteeritud variant http päringust:  päring ise ja vastus krüpteeritakse võtmega, mis automaatselt genereeritakse (brauseri  poolt) iga ühenduse jaoks. Algul toimub võtmevahetus. HTML – kujunduskeel mitte programmeerimiskeel. Veebilehed on lihtsad tekstid, millele server paneb ette http päise. CSS – kujunduskeel HTMLi kujundamiseks. CSS is a language that describes the style of an HTML document. CSS describes how HTML elements should be displayed. JavaScript – täiesti normaalne progekeel. Pannakse HTMLi sisse. Ilma tüüpideta keel  aga süntaks on C moodi. Ajax – Asynchronous JavaScript + XML. Update a web page without reloading the page. Request data from a server - after the page has loaded. Receive data from a server - after 


the page has loaded. Send data to a server - in the background. Mõte selles, et saad  brauseris javascriptiga avada serveri urli ja siis brauseris saadud teksti või andmetega  (tüüpiliselt javascripti formaadis ehk jsonis) edasi tegutseda. Masintöödeldav andmete esitamine: JSON ja XML - puhtalt andmeesituskeeled. Mingit  proge teha ei saa. Eelmisel kümnendil muutus XML väga populaarseks andme esituskeeleks. Seejärel  muutus populaarseks JSON kui hulga lihtsam andme esituskeel: lihtsalt javascripti  andmesüntaks, väga sarnane pythoni süntaksile. Praegu kasutatakse mõlemat, aga JSON  on palju populaarsem. Laiatarbe süsteemid a la Google pakuvad enamasti JSONis andme  esitust. json –    xml (näiteks ära tunda - kas see on json või XML) –  kuidas üldjoontes töötab klassikaline veebirakendus ja kuidas single-page app  (koodinäiteid / nende detaile ei küsita).  Üheleherakendus on veebirakendus või veebisait, mis suhtlusel kasutajaga kirjutab  käesoleva veebilehe dünaamiliselt üle, selle asemel et serverist tervet uut lehte alla  laadida. See tähendab, et rakendus jookseb täielikult klientarvuti veebilehitsejas, luues  sujuvama kasutajakogemuse ilma katkestusteta eri lehtede vahel. Niimoodi jääb mulje, et  rakendus töötab nagu töölauaprogramm, kuna kogu informatsioon laetakse alla esimese  korraga või dünaamiliselt vastuseks kasutaja tegevustele ning lisatakse vajaduste kohaselt lehele. Selline veebileht ei lae ennast kasutussessiooni jooksul kordagi uuesti ega suuna  kontrolli edasi uuele lehele, kuigi eri tööriistadega, näiteks HTML5 History API, võib  tekkida mulje, et laetakse uusi lehti juurde või navigeeritakse teistele lehtedele.  Üheleherakendust kasutades toimub tihtipeale taustal dünaamiline suhtlus veebiserveriga. Seda tüüpi rakenduse loomiseks kasutatakse tavaliselt HTMLi, JavaScripti ja CSSi. Arvutivõrgud:  Internet on kohtvõrkude sidumise süsteem. Arvutid on kohtvõrgud. Igal arvutil on oma  unikaalne nimi ehk aadress Ethernetis. MAC aadress. 48 bitine (6 baiti). mac aadress - Igal arvutil on oma unikaalne nimi ehk aadress Ethernetis. MAC aadress.  48 bitine (6 baiti). Et saaks vahet teha seadmetel. Igale seadmele pannakse võrgukaarti  tootja poolt. Igal tootjal oma vahemik. Seda saab muuta. Kui arvuti Y saadab arvutile X teksti, siis ta saadab selle alguses traatipidi KÕIGILE  arvutitele võrgus, aga teksti juures on öeldud, et AINULT X (MAC aadress!) peab seda  kuulama. Teised ignoreerivad. Seetõttu saab krüpteerimata sidet ka pealt kuulata. Checksum kontrollib, kas vigu polnud.


IP aadress – Internet seob kohtvõrke, kohtvõrgus reeglina Ethernet (sh wifi). Eri  kohtvõrkude sidumiseks antakse igale masinale unikaalne nn IP aadress: tüüpiliselt neli  baiti (193.40.254.28). Kuhu IP aadressile saatsid ja kust sa saatsid on pandud Data sisse.  IP aadress ja muu vajalik info on etherneti paketi sisu üks osa. Ameerika serverist veebilehe saamiseks meie ruuter saadab suuremasse telco ruuterisse,  kes vaatab, kuhu edasi saata.  Teksti küljes on alati IP aadress. Iga võrgus olev masin suunab saadud teksti õiges  suunas. Routing table ütleb, vaadates IP aadressi. Aadress: iga saadetava tekstijupiga  pannakse kaasa selle masina aadress, kuhu tekst saata tuleb. Paketid: harilikku ümbrikku aga ei mahu terve entsoklüpeedia kümme köidet! Mida  teha? Paneme eraldi köited eri ümbrikutesse ja saadame kümme ümbrikku. Iga paketi  alguses IP aadress.  port – port on see, mis ütleb OSile, et mis programmile tuleb data anda. Pordid on  mõeldud OSile. Mingid proged tavaliselt on mingi pordi küljes. Masinas elab korraga  palju programme ja igaüks tahab saada/saata oma pakette. Millisele programmile  konkreetne pakett saata? Programmidele antakse kasutamiseks nummerdatud TCP või  UDP port (need ei ole füüsilised pistikud!) Ühenduse määravad: IP aadressid, pordid,  protokoll. ethernet – IP pakett etherneti paki sees. IP sees on TCP või UDP – üks kahest tõesti on IP paketis, kus on protokolli koht.  IP – kõige olulisem protokoll internetis üldse. IP protokoll on kokkulepe, et kuidas infot  saata ja sellest aru saada tuleb. IP protokoll lubab saata ainult suhteliselt väikeseid  sõnumeid (64 kB aga reaalsuses vähem). Iga sõnumi ette pannakse lisainfo (päis ehk  header), mis ütleb, et: kuhu saata (IP), kust tuli (ip) ja hulga lisainfot veel. IP paketis on  sees protokoll, mis progega (TCP või UDP) edasi tuleks töödelda. IPv4 peaaegu alati  kasutatakse seda. IPv6 võib panna väga pika aadressi.  IPv4 - neli täisarvu 0-255 193.40.254.28 IPv6 - 2001:0db8:85a3:0000:0000:8a2e:0370:7334 MAC (Etherneti aadress) - 01:23:45:67:89:ab TCP (Transmission Control Protocol) – IPst järgmise taseme protokoll. Usaldatav. TCP (transfer control protocol). Toimub kontroll. Tekitab simuleeritud näilise ühenduse. UDP - UDP (user datagram protocol). Ei kontrollita, kas info jõudis pärale. Paneb pordid  kaasa ja kontrollsumma kaasa. Kasutatakse mängudes, kuna TCP kontroll võib tekitada  teadmata pikkusega viivitusi. Live jaoks ei ole TCP väga hea. Kapseldamine (mis mille sees) – rakendus (ssh shell, twitter vms), ratransport, IP,  Ethernet ja edasi.


10. nädal: Rekursioon, funktsionaal- ja loogiline progemine,  reaalsed projektid 4. ja 5. nov. 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  näide tuleb ära tunda (et on Prolog). Arendusprojektide kohta küsimusi ei tule. rekursiooni äratundmine – iga kord rekursiivse tegevuse tegemisel võiks asi minna  lihtsamaks. vahetulemused pannakse mällu. Rekursioonil peab olema mingi baascase, kus ta peatub. Kõike, mida saab rekursiooniga, saab teha ka ilma rekursioonita (tsüklitega ja  vastupidi). def fact(x):      return fact(x) 3*2*1 Sabarekursioonil on rekursioon ongi viimane tegevus, mis tehakse. Funktsioonis on  sabarekursioon siis, kui selle sama funktsiooni väljakutse on viimane tegevus. Mitte-sabarekursiivses tegevuses on vaja vahetulemused kuidagi meelde jätta. Pannakse  stacki ja tullakse mööda stacki tagurpidi tagasi. Baasjuht ja rekursiivne juht -  Rekursiooni ekvivalentsus tsükliga – kõike mida saab teha tsükliga, saab teha ka  rekursiivselt. Funktsionaalne programmeerimine (funktsioonide kasutamine). Funktsioonile võib anda  argumendiks  teisi funktsioone ja funktsiooni  arvutamise resultaadiks võib samuti olla  funktsioon. Enamik kaasaegseid programmeerimiskeeli on funktsionaalne  programmeerimise meetoditest mõjutatud. Arusaamine funktsionaalse keele näitejuppidest loengus:  Mida mingi näitekood teeb / mis on rehkendamise tulemus -   Mis on lambda-arvutus - Lambda-arvutuse keel on Alonzo Churchi poolt 1930. aastatel  leiutatud lihtne ja universaalne meetod  funktsioonide kirjapanekuks. Asendamise meetod Lambda-arvutuse teooria tegeleb arvutatavuse ja arvutatavate funktsioonide uurimisega,  kasutades selleks lambda-arvutuse keelt kui universaalset programmeerimiskeelt.  Churchi tees väidab, et iga algoritmi saab lambda-arvutuse keeles kirja panna. On  võimalik näidata, et lambda-arvutus, nagu ka Prolog, C ja Basic on üks paljudest  universaalsetest programmeerimiskeeltest. Konkreetselt on lambda-arvutuse keel ja  teooria funktsionaalsete programmeerimiskeelte aluseks.


Prologi näide tuleb ära tunda (et on Prolog) - esimene -- ja siiani kasutusel -- loogilise  programmeerimise keel. Prolog-ile lisaks on välja töötatud mitmeid uuemaid loogilise  programmeerimise keeli ja süsteeme. 11. nädal: Algoritmid: lahenduvus ja keerukus. 11.11 ja 12.11 Eksam: 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. Keerukusest: mis on  algoritmide keerukus ja mis on O-notatsioon. Mis on sorteerimise parim keerukus  halvimal juhul. Lahenduvus (uurimisvaldkonnana algoritmiteooria või rekursiooniteooria) teoreetilises  ja tavamõttes - lahenduvus ehk kas üldse ülesannet lahendada saab? Kui kaua läheb aega, kuni peatub. Selgub, et iga täpselt formuleeritud probleemi (matemaatika- ja  programmeerimisprobleemid) jaoks ei leidugi lahendavat algoritmi! Vähe sellest: kui  võtta “juhuslik” probleem, siis tõenäosus, et lahendav algoritm leidub, on lõpmatult  väike! „Tavamõttes“ tüüpilised põhjused, miks me ei saa tavaprobleeme lahendada – ei ole  piisavalt infot ja juhuslikkus segab. Näiteks, kuidas saada kiiresti väga palju raha. Matemaatika- ja programmeerimisprobleemide juures eeldame lahenduvuse  valdkonnas üldjuhul, et: Infot on piisavalt: meil on olemas kõik vajalikud aksioomid /  programm / täpne ülesanne, näiteks ja juhuslikkust ei ole. 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.  Reaalarvude hulga lõpmatus on suurem kui positiivsete täisarvude lõpmatus. Cantori  teoreem ütleb üldisemalt, et mingi hulga H kõigi alamhulkade hulk on suurema  võimsusega kui see hulk H. Kaks hulka on sama võimsad, kui neil on võimalik leida 1:1 vastavus. Positiivsed ja  negat. täisavud on 1:1 vastavusse võimalik viia. Murdarvud vs pos täisarvud on ka 1:1  vastavuses (see on lahendatud lõpmatu tabeli kujul diagonaali läbiva sik-sakiga).  Reaalarvude korral ei ole enam 1:1 vastavust – püüame teha aga ei saa. Isegi 0 ja 1  vahel ei saa teha. Ei saa teha tabelit, kus oleks kõik reaalarvud. Mis on peatumisprobleem - selle lahendamatuse tõestuse idee. Ehk näide 


mittelahenduvusest. Osad programmid peatuvad, osad mitte. Kas õnnestub kirjutada  programm ja kontrollida programmi abil, kas programm jääb seisma. Kui programm  muudkui edasi käib, siis ei tea, kas jääb. Lihtsatel juhtudel saab (näed tingimuse ära).  Cool näide: 3n+1 ülesanne. Collatz. Mitte keegi ei tea, kas see jääb alati peatuma. Hetkel tundub, et jääb alati. Keegi lihtsalt ei ole osanud seda tõestada. Lahendajat ei saagi  kirjutada. Tekib vastuolu. Kontiinumhüpotees. Kas täisarvude lõpmatuse ja reaalarvude lõpmatuse vahepeal on  veel lõpmatusi, ehk hulki, mis oleks võimsamad täisarvude omast ja vähem võimsad  reaalarvude omast? Keerukusest:  Mis on algoritmide keerukus - kui ruttu ülesannet lahendada saab. Missuguse  funktsionaalse sõltuvusega sõltub sisendi suurusest tema täitmise aeg (põhioperatsioonide tegemise aeg). Põhioperatsioon tehe, sisend on admete hulk. Algoritmi keerukus on  põhioperatsiooni(de) arvu sõltuvusfunktsioon K(n) sisendi(te) suurusest n. Keerukust  saab analüüsida algoritmi pealt ilma programmeerimata ja aega mõõtmata. Mis on O-notatsioon - annab keerukusklassi – millise proportsiooniga suureneb  arvutusaeg sõltuvalt sisendi suuruse muutusest. Ütleb ära põhilise funktsiooni, mis  keerukuse ära määrab. O-notatsioonis esitatakse keerukusfunktsiooni määrav komponent. Selles päris kindel pole: Mis on sorteerimise parim keerukus halvimal juhul – O(n2).  Ruutkeerukus. Quicksorti juures halvima juhu keerukus. 12. nädal: Tehisintellekt ja andmeteadus. Eksamiks: 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  masinõpe. Mis on IBM Watson ja Wolfram Alpha. Võib tulla küsimus, et kas mingit sorti  ülesannet praegused tehisintellektisüsteemid suudavad ok/väga hästi/väga halvasti  lahendada. Andmeanalüüsi kohta küsimusi ei tule. Mis on tugev AI – ehk lai AI -  if a machine approaches or supersedes human  intelligence, if it can do typically human tasks, if it can apply a wide range of background knowledge and has some degree of self-consciousness. Lai AI on nagu päris  tehisintellekt, mis oleks nagu inimene. Inimesest palju kõvem. Kitsas on see, mis  tegelikult on. Oskab rääkida, saab küsimustest aru, oskab nõusid pesta, autot juhtida jne. Mis nõrk AI - the use of software to study or accomplish specific problem solving or  reasoning tasks that do not encompass (or in some cases, are completely outside of) the  full range of human cognitive abilities. Probleemilahenduse algoritme, mis ei sisalda  enamust inimmõistuse võimekust. See mis tegelikult on. Mängib malet, tunneb pilte vms.  Teeb üht asja, milleks on progetud või õpetatud. Tehisintellekt: Tehisintellekt on arvutisüsteemi võime jäljendada loomulikku intellekti ja  täita funktsioone, mida seostatakse inimmõistusega, näiteks võimega arutleda ja õppida. Masinõpe on tehisintellekti üks valdkondi. Masinõpe kirjeldab algoritme, mis on  võimelised õppima.


Mis on Turingi test – katse, kas vestleval programmil on tegelikult mõistus. Kui  katsetajad ei suuda ära arvata (st ära-arvamise sagedus on 50% ja 50% eksitakse), siis on  jutlev masin päriselt intelligentne. Tegelikkuses ei suuda praegu keegi teha programmi,  mis suudaks Turingi testi edukalt läbi teha: sellest ollakse väga kaugel. Mis on Joseph Weizenbaumi Eliza - Vestlev pseudointelligentne psühhoanalüütik. Eliza on lihtne programm, mille sees on suur hulk “standardlauseid” ja “standardsõnu”. Kui  Elizale anda lause, milles on sõna tema “standardsõnade” loetelus, siis Eliza valib mõne  “standardvastuse” ja paneb sinna sisse osi talle antud tekstist. Jääb mulje, et Eliza haakub  vestlejaga. Eliza poolt antud laused on samuti harilikud inimkeelsed laused (sest need on  programmeerija talle andmebaasi pannud”. Mis on otsimeetodites minimax ja alpha-beta (tehnilisi detaile ja näiteid ei tule).  Mõtlemismängudes.  Minimax on analüüsipuu lõpp-positsioonide hinnangute puus ülestõstmine. Vaheldumisi  minimeerid ja maksimeerid käigu headust.  Alpha-beta - meetod otsingupuust mittevajalike harude kõrvalejätmiseks. Mis on masinõpe – Masinõpe on tehisintellekti üks valdkondi. Masinõpe kirjeldab  algoritme, mis on võimelised õppima. Õppimine tähendab reeglite loomist etteantud  näidetest. Õppimiseks on vaja meeletu kogus näiteid (ebareaalne). Wikipedia masinõppe definitsioon: Arvutiprogramm õpib kogemusest E ülesannete  klassi T ja tulemuste mõõdu P suhtes, kui selle tulemuslikkus klassi T ülesannetes, nii  nagu mõõdetud P kaudu, paraneb kogemusega E. Õppija põhiline eesmärk on teha  üldistusi eelneva kogemustehulga põhjal. Programmi jaoks tulnud treeningandmed on  suvalise tõenäosusjaotusega, kuid programm peab nende andmete põhjal eraldama  informatsiooni, mis võimaldaks programmil luua kasulikke vastuseid ja teha üldiseid  järeldusi. Mis on IBM Watson – 2010. Watson is a question-answering computer system capable  of answering questions posed in natural language, developed in IBM. Wolfram Alpha - is a computational knowledge engine or answer engine developed by  Wolfram Alpha LLC, a subsidiary of Wolfram Research. Võib tulla küsimus - et kas mingit sorti ülesannet praegused tehisintellektisüsteemid  suudavad ok/väga hästi/väga halvasti lahendada.  13. nädal: Arendusprotsess, IT äri ja P2P võrgud, ledger, bitcoin Eksamiks: Arendusprotsessi kohta loengumaterjalidest küsimusi ei tule. Küll aga on  küsimused allpool kohustuslike artiklite kohta. P2P teemadel: peamised P2P liigid,  milleks on / mida optimeerib Bittorrent, darkneti / TORi põhiideed, mis ja milleks on  Bittorrentis kaevandamine / proof of work. P2P teemadel: peamised P2P liigid - Kliendid/kasutajate programmid suhtlevad omavahel otse, ilma keskse serveri vahenduseta. Näiteks saadad oma läpparist otse teisele  inimesele. Liigid on: • Struktureeritud ja struktureerimata. Keskse süsteemiga asi on hea aga keskne 


punkt on kriitline (politsei võib kinni panna). Keskne server on nõrk koht: selle  mahavõtmine paralüseerib võrgu. Struktureerimata on gnutella nt, mis pärib  lihtsalt kõikidelt aga probleemiks hästi palju päringuid (otsingud koormavad kogu võrgu üle) ja pead teadma, kus on mõni masin, millel veel gnutella käib.  • Supernodes (Kazaa, Skype) – mingi hulk kliente, et vähendada päringute arvu. Ei  ole otseselt serverid vaid iga programm ise võib hakata supernodeks mingile  hulgale klientidele. • Struktureeritud P2P – igal masinal on natuke infot selle kohta, mis kellelgi on. Iga masin oskab suunata õigemasse kohta, mitte ei küsi kõigilt. Ei ole supernode ega  server. Milleks on / mida optimeerib BitTorrent - Jagatud faili tükid levivad ja neid saab ka  teistelt tõmmata. Fookus ei ole info leidmisel vaid optimeerida suure faili jagamist (film,  OS). Et kõik masinad ei hakkaks ühelt tõmbama vaid tõmbaks igaühelt natuke (ei  koormaks masinat ega ühendust üle). Otsimehhanism on sellest täiesti lahus  (pealisehitus). Deep web - üldmõiste lehtede kohta, mida avalikud otsimootorid ei leia, kuna - näiteks –  parooli all. Dark web - veebilehed, mis on teadlikult varjatud ja anonümiseeritud, et  oleks raske tuvastada, mis serveris asuvad, kes seal käivad jne. Darkneti / TORi põhiideed – anonüümsed ühendused (Proxy). Proxy: kuskil võrgus on  teine masin, mille kaudu sina ühendud. Sealt võid sa ühenduda järgmisse masinasse,  tekitades proxyde ahela mööda maailma. Ahelat on üldjuhul võimalik jälgida, kuid mida  pikem ja veidramates kohtades proxyd, seda raskem. Darknet: proxyde idee on viidud  äärmusse P2P tehnoloogia abil, eesmärgiga varjata, kust liiklus tuleb. TOR on enim  levinud krüpteeritud proxyde ahel. Iga masin krüptib ära ja pärast krüptib lahti. Sellest  moodustub selline krüptitud kihtide sibul. Mis ja milleks on Bitcoinis kaevandamine / proof of work - Et erinevaid blockchaini  harusid tekiks harva ja kogu süsteemi saaks hoida süngis. Preemiaraha tuleb sellest, et ta  võib ise endale eikuskilt ülekande teha. Bitcoinis on palju tehnoloogiaid kokku pandud. Iga ülekanne saadetakse kõigile. Kõigil on kõigi kõik kanded olemas. Seda on raske  süngis hoida. Kogutakse kokku blokkideks. Ja välditakse seda, et kõik peaks kontrollima  kõiki kandeid. Krüptohash takistab tabeli tagantjärgi võltsimist. Uues tekstis on eelmise  teksti hash (hash+uus -> hash) sees. Ülesanne: mõni osaleja peaks vahel kontrollima, kas saadetud ülekanded on korrektsed.  Kontrollitud hulk uusi ülekandeid tuleks siis digiallkirjastada ja lisada blockchaini.Aga  miks peaks keegi oma arvuti panema seda tegema? Aga kui paljud teevad seda  paralleelselt, tekib palju erinevaid blockchaini harusid, mis pole süngis. Panevad oma arvuti plokke kontrollima, et saada preemiat. Anname igale kontrollijale  väikese auhinnaraha. Teeme kontrollimise kunstlikult raskeks, et õnnestunud kontrolle  oleks harva (bitcoinis keskmiselt ca kord 10 min jooksul).


14. nädal: Masinõpe ja projektide arendus Eksamiks:  https://course.elementsofai.com/ee/4/1 Peamised masinõppe liigid -   Juhendatud õpe: meile antakse mingi sisend, näiteks liiklusmärgiga foto, ja meie  ülesanne on ennustada õige väljund või tähis, näiteks missugune liiklusmärk on pildil  (kiiruspiirang, stoppmärk jne). Lihtsaimatel juhtudel on vastused kahendvalik kujul (neid  nimetatakse binaarse klassifikatsiooni ülesanneteks). Inimesed õpetavad masinaid näiteks pilte ära tundma, pangatehinguid ära tundma. Mis puutub masinõppesse, siis keskendume eelkõige juhendatud õppele ja eriti  klassifitseerimisülesannetele. Klassifitseerimises vaatleme mingit sisendit, nagu näiteks  fotot liiklusmärgist, ja püüame tuletada selle „klassi“, näiteks liiklusmärgi tüübi  (kiiruspiirang 80 km/h, ülekäigurada, stoppmärk jne). Klassifitseerimisülesannete  näideteks on veel Twitteri libakontode identifitseerimine (sisendiks on jälgijate nimekiri  ja mil määral nad seda kontot jälgivad ning klassiks on kas libakonto või päris konto) ja  käsitsi kirjutatud numbrite tuvastamine (sisendiks on pilt, klassiks 0,...,9). Juhendamata õpe: puuduvad tähised ja õiged väljundid. Ülesandeks on leida andmete  struktuur: näiteks sarnaste objektide grupeerimine, et moodustada klastrid, või andmete  taandamine väikesele arvule olulistele mõõtmetele. Ka andmete visualiseerimist võib  pidada juhendamata õppeks. Konkreetne näide on toidupoeketid, mis koguvad andmeid oma klientide  ostlemiskäitumise kohta (selleks teil ongi kõik need kliendikaardid). Et oma kliente  paremini mõista, võib pood need andmed visualiseerida, kasutades graafikut, milles iga  klienti tähistab punkt ning samu tooteid ostvad kliendid paigutatakse üksteisele lähemale  kui kliendid, kes ostavad erinevaid tooteid.
Stiimulõpe: tavaliselt kasutusel sellistes olukordades, kus AI agent, näiteks isejuhtiv  auto, peab tegutsema mingis keskkonnas, kus tagasiside heade ja halbade valikute kohta  saadakse viivitusega. Stiimulõpet kasutatakse ka mängudes, milles tulemus otsustatakse  alles mängu lõpus. Robotit peab õpetama kõndima. Need kategooriad on mingil määral kattuvad ja hägused. Seega on mingit teatud meetodit vahel raske ühte kategooriasse liigitada. Näiteks, nagu nimigi vihjab, on niinimetatud  osaliselt juhendatud õpe osaliselt juhendatud ja osaliselt juhendamata. 15. nädal: Konsultatsioon ja e-valimised. 09.12 ja 10.12. Eksamiks: mida peab hääletamissüsteem tagama, miks on i-hääletamine keerulisem, kui  internetipangandus, mis on topeltümbriku süsteem ja kuidas see põhijoontes on Eesti i- hääletusel implementeeritud, mis on i-hääletamisel hääle töötlemise põhisammud (ehk,  mida on protsessi käigus vaja teha). E-hääletamiseks nimetatakse maailmas tüüpiliselt hääletamismasina kasutamist.  Interneti teel hääletamine (i-hääletamine) riiklikel valimistel on maailmas väga  haruldane.


Mida peab hääletamissüsteem tagama ? • Hääled loetakse õieti kokku • Hääled on anonüümsed • Ainult hääletamisõiguslikud saavad hääletada, ei saa hääletada topelt, ei saa  hääletamist delegeerida • Hääletajaid ei diskrimineerita • … ja hea oleks häälte ostmist takistada jms ... Miks on i-hääletamine keerulisem kui internetipangandus? Internetipanga toimingud ei ole anonüümsed: kõik identifitseeritakse, logitakse ja  vajadusel saab minna kohtusse. E-hääled on anonüümsed: ei ole võimalik tuvastada,kes kuidas hääletas. Mis on topeltümbriku süsteem ja kuidas see põhijoontes on Eesti i-hääletusel  implementeeritud Sinu hääl on sisemises ümbrikus: seal ei ole sinu nime Sinu nimi on välisel ümbrikul. Välimise ümbriku järgi sind registreeritakse hääletajaks,  võetakse välja sisemine ümbrik ja pannakse valimisurni.  Meie e-valimiste süsteem on algusest peale modelleeritud nimelt posti teel hääletamise  elektroonilise variandina. Sellest analoogiast ka elektroonilise topeltümbriku kasutamine. Mis on i-hääletamisel hääle töötlemise põhisammud (ehk mida on protsessi käigus  vaja teha) Kontrollida, et ta saaks hääletada (oleks nimekirjas). Juhuarv genereerida. Panna ajatempel, kontrollida sertifikaadid.   Hääle liikumine süsteemis: Ümbrikul on peal ajamärgend ja kehtivuskinnitus.  E-hääle töötlemise etapid Ajamärgendid – millal hääled tulid jne.
Vasakule Paremale
12 it kordamiskysimused #1 12 it kordamiskysimused #2 12 it kordamiskysimused #3 12 it kordamiskysimused #4 12 it kordamiskysimused #5 12 it kordamiskysimused #6 12 it kordamiskysimused #7 12 it kordamiskysimused #8 12 it kordamiskysimused #9 12 it kordamiskysimused #10 12 it kordamiskysimused #11 12 it kordamiskysimused #12 12 it kordamiskysimused #13 12 it kordamiskysimused #14 12 it kordamiskysimused #15 12 it kordamiskysimused #16 12 it kordamiskysimused #17 12 it kordamiskysimused #18 12 it kordamiskysimused #19 12 it kordamiskysimused #20 12 it kordamiskysimused #21 12 it kordamiskysimused #22 12 it kordamiskysimused #23
Punktid Tasuta Faili alla laadimine on tasuta
Leheküljed ~ 23 lehte Lehekülgede arv dokumendis
Aeg2022-05-06 Kuupäev, millal dokument üles laeti
Allalaadimisi 0 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor 431647 Õppematerjali autor

Kasutatud allikad

Sarnased õppematerjalid

Sissejuhatus infotehnoloogiasse 2018
4
docx

Sissejuhatus infotehnoloogiasse 2018

Sissejuhatus infotehnoloogiasse 2018 1. Nädal. bitt(b) = 1b, Bait(B) = 8b, kB = 1024 B, MB = 1024 kB jne 2. Nädal. Eksamiks: kreeka loogikud, süllogismid, induktsioon, deduktsioon, 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. Küberkaitse termineid: (turvateater, malware, cookie, phishing, social engineering). Kreeka loogikud:Parmenides, -5. Saj, pikad loogilised põhjendused Zenon Eleast, -5. Saj, apooriad/paradoksid Sokrates, -5. Saj, sofistid Platon, -5,-4. Saj Aristoteles, -4. Saj, süllogismid, stoikud (1. eeldus: iga koer on imetaja. 2. eeldus: mõned neljajalgsed on koerad. järeldus: mõned neljajalgsed on imetajad.), Stoikud uurisid, kuidas saab loogiliste sidesõnade (ja, ei, või, ku

Sissejuhatus infotehnoloogiasse
Sissejuhatus infotehnoloogiasse eksamikonspekt
35
pdf

Sissejuhatus infotehnoloogiasse eksamikonspekt

1. nädal • 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. Algoritm – täpne samm-sammuline, kuid mitte tingimata formaalne juhend millegi tegemiseks. Nt toiduretsept, juhend ruutvõrrandi lahendamiseks. Programm – formaalses, üheselt mõistetavas keeles kirja pandud algoritm. Arvutid suudavad täita ainult programme. Bitt – info mõõtmise ühik, tuleb mõistest binary digit – nö kahendarv kahe võimaliku väärtusega 0 ja 1. Saab näidata kahte võimalikku olekut. Nibble - 4 bitti. Bait – arvutites kasutatav inf

Sissejuhatus infotehnoloogiasse
Sissejuhatus infotehnoloogiasse konspekt
14
docx

Sissejuhatus infotehnoloogiasse konspekt

SISSEJUHATUS INFOTEHNOLOOGIASSE lambda.ee Kohustuslik lugemismaterjal Alan turing computing machinery and intelligence Ta võrdleb seda kas masin saab mõelda, võttes aluseks imiteerimismängu. Selles on 3 mängijat, mees, naine ja arvaja. Arvaja peab ära arvama kes on mees ja kes naine kasutades küsimusi. Kui mehe ja naise asemele panna masin siis arvaja peab uuesti küsimusi küsima. Kui meheks ja naiseks on masin ja arvaja vastab masina vastuste põhjal vähem ära kes on mees ja kes naine siis on tegemist suhteliselt intelligentse masinaga. Ta lisaks väidab et pole mõtet riietada masinat inimese moodi, kuna arvaja ei tohi näha mees ega naist. Kõige parem strateegia masinal võitmiseks oleks imiteerida võimalikult täpselt tüüpilisi mehe vastuseid Ta toob seal välja, et kõige parem strateegia masinal võitmiseks on näiteks see, et kui ta tahab meest järgi teha siis peaks masin andma vastuseid, mis on naturaalsed,tavalised mehe puhul Hackers and Painters Võrleb se

Juhiabi
12 it kt 2
43
docx

12 it kt 2

193798 – matrikli number 1. Kontrolltöö Meie kursus lõpeb ....
'Ei saagi hästi'>Ei saagi hästi 'Juhuslike arvude generaator'>Juhuslike arvude generaator 'Turingi masin'>Turingi masin 'Digitiseerija'>Digitiseerija 'Elektroonikaseade'>Elektroonikaseade Mida mõeldakse vanaaegse terminiga 'Von Neumanni tüüpi arvuti'?
'CPU'>CPU 'Cache'>Cache 'Välismälu'>Välismälu 'Põhimälu'>Põhimälu 'Abimälu'>Abimälu 'SSD

Kategoriseerimata
12 it kt-2
45
docx

12 it kt-2

193798 – matrikli number 1. Kontrolltöö Meie kursus lõpeb ....
'Ei saagi hästi'>Ei saagi hästi 'Juhuslike arvude generaator'>Juhuslike arvude generaator 'Turingi masin'>Turingi masin 'Digitiseerija'>Digitiseerija 'Elektroonikaseade'>Elektroonikaseade Mida mõeldakse vanaaegse terminiga 'Von Neumanni tüüpi arvuti'?
'CPU'>CPU 'Cache'>Cache 'Välismälu'>Välismälu 'Põhimälu'>Põhimälu 'Abimälu'>Abimälu 'SS

Algoritmid ja andmestruktuurid
Sissejuhatus infotehnoloogiasse
29
docx

Sissejuhatus infotehnoloogiasse

1 nädal. Sissejuhatus: arvuti ja info, ajaloo algus ... 1940 Meanings: Bit - the smallest unit of storage ( 1 binary digit) Byte - collection of 8 bits / is a unit of storage, 8 binary digits long Kilobyte - A unit of storage capacity (1024 bytes ) Megabyte - 1,048,576 bytes Gigabyte - 1,073,741,824 bytes Terabyte - 1 trillion bytes Algorithm - is a step by step method of solving a problem Program - is the expression of an algorithm in a programming language. ALGORITM - kindel eeskirjade jada, mis määrab üheselt ülesande lahenduskäigu. PROGRAMM - programmeerimiskeeles kirja pandud algoritm Greek logicians ( Kreeka loogikud ): Parmenides (5 sajand e.m.a.) : kasutas pikki loogilisi põhjendusi. Zenon Eleast (5 sajand e.m.a.) - apooriad/paradoksid Sofistid - Sokrates (470-399 e.m.a) - Platon (428/427 - 348/347 e.m.a): Aristoteles : väidete struktuur kui iseseisev uurimisobjekt Aristoteles Süllogismide näited: 1. eeldus: iga koer on imetaja. 2. eeldus: mõned nel

Sissejuhatus infotehnoloogiasse
Sissejuhatus infotehnoloogiasse konspekt 2020
10
docx

Sissejuhatus infotehnoloogiasse konspekt 2020

λ EksamEksam 1 Eksamiks:  pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; Bit Eksam/ EksamBitt 1 or 0 Byte Eksam/ EksamBait 8 Bits Kilobait Eksam(KB) 1 024 Bytes Megabait Eksam(MB) 1 024 KB  kuidas Eksamtähti Eksamkodeeritakse:  ASCII (American Standard Code for Information Interchain) 8bit = 16 * 8 = 128 märki  EBCDIC (Extended Binary Coded Decimal Interchange Code) 8bit, IBM  UNICODE (Extended ASCII) (utf-8), 1Byte for first 128, up to 4B for the rest~143 859 märki  algoritm Eksam- Eksamtäpne samm-sammuline juhend millegi tegemiseks  programm Eksam- Eksamformaalses üheselt mõistetavas keeles kirja pandud algoritm  Ajaloost:  Kreeka Eksamloogikud  Parmenides (5 sajand e.m.a.) : kasutas pikki loogilisi põhjendusi.  Zenon EksamEleast (5 s

Sissejuhatus infotehnoloogiasse
IT EKSAM
17
odt

IT EKSAM

Aritmeetiline masin- 1640, ainult liitis ja lahutas, Kristlik filosoof Blaise Pascal Leibnizi arvuti ­ 1671, Saksa filosoof Leibniz, arvuti: liitis, lahutas, korrutas, jagas Elektritelegraaf - Morse 1837 Loogika (lausearvutuse) alused 1847-1854 Perfolint - Wheatstone 1857 Frege loob kaasaegse predikaatarvutuse - 1879 Herman Hollerith perfokaartidega masin USA rahvaloenduse andmete töötlemiseks ­ 1890, sellest firmast tekkis IBM Vaakumtoru - 1906, Lee Deforest Artikkel Turingi masinast: universaalsus, mittelahenduvus ­ 1935-1937 Churchi lambda-arvutus, Churchi tees. - 1936,universaalsus, mittelahenduvus Z1 ­ 1936 , Konrad Zuse mehhaaniline arvuti MARK I ­ 1939-1944, Harvardi elektriline(releedega) digitaalne arvuti ABC computer ­ 1939-1942 , Atanasoff-Berry esimene elektronarvuti Esimene transistor - 1947 EDSAC ­ 1949, esimene praktiline stored-program arvuti, programmid olid aukudega peberiribadel ERA 1101 ­ 1950 ESIMENE KOMMERTS-TOOTMISES ARVUTI, hoidis bitte magneetilises t

Algoritmid ja andmestruktuurid




Meedia

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun