Itv0010 2011
...ajalugu, suunad, põhialused, tehnoloogia, äri.
Ainekood: ITV0010 Lektor: Tanel Tammet |
Sisukord
- 1 See leht on varemloetud kursuse arhiiv, siin ei ole värsket informatsiooni! Otsi üles kursuse hetkel aktiivne leht.
- 1.1 Kolmas järeleksam 2012 sügis
- 1.2 Kursuse tulemused, sh esimene järeleksam
- 1.3 Eksamiajad
- 1.4 Kontrolltööde tulemused
- 1.5 Maht, aeg, tulemus
- 1.6 Kursuse eesmärk
- 1.7 Loengute plaan ja materjalid
- 1.8 Harjutamist eksamiks/arvestuseks
- 1.9 Kohustuslikud lugemismaterjalid
- 1.10 Soovitavad lisalugemismaterjalid:
- 1.11 Väga kasulikud lugemismaterjalid: loe neid!
- 1.12 Kui kõik tundub liiga lihtne, siis:
See leht on varemloetud kursuse arhiiv, siin ei ole värsket informatsiooni! Otsi üles kursuse hetkel aktiivne leht.
Kolmas järeleksam 2012 sügis
- Järeleksam: 29. august (kolmapäev) kell 9.00-12.00, IT majas ruumis IT-140.
Kursuse tulemused, sh esimene järeleksam
Esimene järeleksam toimub reedel, 27 jaanuaril kell 10.00 ruumis II-102
Tulemustega üldse mitte seotult: vaata cooli värsket projekti http://www.sightsmap.com, mis tekkis kaasnähtusena uurimis/arendusprojektile http://www.sightsplanner.com
Eksamiajad
Eksamiaegu on kaks:
- Reede, 6 jaanuar ruumis VI-229. Osadele gruppidele algusega kell 12, teistele gruppidele kell 15:
- kell 12: rühmad IAPB12 IAPB13 IASB11 IASB12 IASB13
- kell 15: rühmad IAEB11 IAPB11 IATB11 IATB12 ja kõik, kes pole siintoodud rühmades.
- Esmaspäev 16 jaanuar ruumis VII-131. Osadele gruppidele algusega kell 9, teistele gruppidele kell 12:
- kell 9: rühmad IAPB12 IAPB13 IASB11 IASB12 IASB13
- kell 12: rühmad IAEB11 IAPB11 IATB11 IATB12 ja kõik, kes pole siintoodud rühmades.
Sa võid ise valida, kas tulla 6 või 16 jaanuari eksamile. Mõlemile tulla ei saa.
Eksamile ei pea registreeruma, kui oled deklareerinud aine selleks semestriks. Kui oled deklareerinud 2010 või varem, pead registreeruma. Eksamiajad/registreermisvõimalus on praegu ÕISis.
Kontrolltööde tulemused
Maht, aeg, tulemus
Loenguid nädalas: 2 tundi. Kui pole teisiti märgitud, toimuvad kõik loengud:
- TTÜ-s järgmistel aegadel.
- Eestikeelne loeng: teisipäeval 10:00-11:30, ruumis I-202 (loeb Tanel)
- Venekeelne loeng: esmaspäeval 14:00-15:30, ruumis VII-226 (loeb Deniss)
Kursus lõpeb EKSAMIGA. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet. Kursuse käigus on vaja osaleda ka kahel kontrolltööl, üks oktoobris, teine detsembris. Juhendatavaid/kontrollitavaid praktikume sellel kursusel ei ole, kursuse käigus antud harjutused tuleb teha iseseisvalt.
Kursuse eesmärk
- Anda kokkusurutud ülevaade informaatikast tervikuna.
- Anda ajalooline ülevaade IT teooria, tehnoloogia ja äri arengust.
- Tutvustada edaspidiseid teemasid/loengukursusi stuudiumi vältel.
NB! Kursus EI ÕPETA elementaarset arvutikasutamist. Samuti ei õpeta kursus programmeerimist, kuigi annab õrna sissejuhatuse programmeerimisse.
Loengute plaan ja materjalid
Kursusel ei ole ühtegi konkreetset õpikut. Järgnevas on toodud iga loenguga seotud materjalid eraldi.
Kursus jaguneb kaheks blokiks: esimene kolmandik sissejuhatus ja ajaloopõhine tehnoloogiaülevaade, järgmised kaks kolmandikku 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. Sissejuhatus
- Programmeerimine ja arvuti tööpõhimõtted.
- Loengumaterjal: itsissejuhatus1o11.ppt, itsissejuhatus1o11.pdf.
- NB! Esimese loengu annab Jüri Vain: Tanel Tammet on konverentsil.
- Lisaks:
- vaata väikest Turingi masina videot
- loe juttu ja mängi andmete esitamise appletiga.
- loe läbi: Paul Graham: Why nerds are unpopular?
- loe läbi: Tanel Tammet: Inimlikkus on loomalikkus
- 2. Varane ajalugu
- Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
- Loengumaterjal: itsissejuhatus2o07.PPT, itsissejuhatus2o07.pdf.
- Lisaks:
- Kruusi diskreetse matemaatika kursus!
- Paul Graham: What you'll wish you'd known
- Harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid (1, 2, 3) tee ülesandeid ise juurde ja kasuta seda rakendust enesekontrolliks (vt ka selle rakenduse süntaksit).
- Eck lab: Turing machines.
- Alustada: Loogika aine ja ajalugu
- Vaata BBC dokumentaalsarja lõpmatusest
- Varastest masinatest:
- Näide olulisest analoogarvutist: Norden bombsight
- Inglise krüptosaaga: Colossus, Turing, sakslaste Enigma ja Lorenz SZ 40
- Esimesed digitaalsed elektriga töötavad arvutid:
- Konrad Zuse, vt ka seda saiti.
- Atanasoffi elektronarvuti
- Mark I: esimene programmeeritav elektromehaaniline arvuti.
- 3. Keskajalugu
- II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
- Loengumaterjal: itsissejuhatus3o11.PPT, itsissejuhatus3o11.pdf.
- Lisaks:
- Paul Graham: Undergraduation pluss järelmärkused: more advice for undergrads
- Fortran
- PDP-1 restoration project, spacewar in PDP-1 simulator
- Ivan Sutherland's sketchpad video vt ka sketchpadi artikkel
- Douglas Engelbart "mother of all demos"
- SAGE
- Counterculture
- Silicon Valley
- Whole earth catalog
- 4. Keskajalugu jätkub
- seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
- Loengumaterjal: itsissejuhatus4o11.PPT, itsissejuhatus4o11.pdf.
- Lisaks:
- Jätk küsimusele "mida ülikoolis teha?". Joel Spolsky: Advice for Computer Science College Students
- 5. Lähiajalugu
- kaheksakümnendate teine pool kuni kaasaeg. IBM PC, Macintosh, uued vanad opsüsteemid. Võrgundus ja veeb.
- Loengumaterjal: Itsissejuhatus5o11.PPT, Itsissejuhatus5o11.pdf.
- Lisaks:
- Thirst for knowledge may be opium craving
- GUI ajalugu
- Arvutite tv-reklaamide ajalugu
- "Teejuht võrgumeediasse" toorik aastatest 1995-1996. Pakub eeskätt ajaloolist huvi.
- Apple Macintoshi reklaamfilm:
- 6. Arvuti riistvara. Mälu, protsessor, käsud.
- Loengumaterjal: Itsissejuhatus6o7.PPT, Itsissejuhatus6o7.pdf.
- Lisaks:
- Kindlasti loe kõigepealt läbi lühike lugu transistoride kasutamisest loogikalülituste ehitamiseks ja vaata veidi täienduseks siit ja protsessorist siit
- Seejärel tee iseseisvalt D.Ecki harjutusi, osad siit: Eck laborid (siit saad võtta eraldi rakendusena). NB! Loe ise läbi, proovi ja tee igast osast üks-kaks harjutust, selles järjekorras:
- Head alternatiivsed simulaatorid katsetamiseks:
- Minecrafti spetsidele: redstone ja arvutid
- introd siin ja siin ja loogikalülitused
- shock and awe: täielik 4-bitine arvuti minecraftis
- Veidi tutvuda nende saitidega:
- 7. Programmeerimiskeeled.
- Loengumaterjal: Itsissejuhatus7o07.PPT, Itsissejuhatus7o07.pdf.
- Lisaks: Eck laborid jätk: loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- Huvi korral võid veel:
- lugeda Diy calculator raamatut ja tervet saiti
- uurida sarnast, alternatiivset pisimasina-simulaatorit: MarieSim,
- või lugeda ülevaadet progekeelte arengust
- 8. Operatsioonisüsteemid.
- Loengumaterjal: Itsissejuhatus8o11.PPT, Itsissejuhatus8o11.pdf.
- Kohustuslikku lugemist
- Kohustuslik on esimene 1/4 pikast artiklist In the Beginning was the Command Line
- Soovitavat lugemist:
- Wikipedia artikkel opsüsteemidest
- Ulrich Drepperi cache-lühiülevaade ja paralleelsuse-ülevaade
- üldse mitte kohustuslik (algajatel raske mõista :-) The Art of Unix Programming
- Minix: Linuxi inspiratsiooniks olnud mini-UNIX
- Unix history
- virtuaalmälu vikipeedias
- multitasking vikipeedias
- linuxchix kernel hacking
- 9. Tarkvara arhitektuur. Teegid, komponendid, andmebaasid jms.
- Loengumaterjal: Itsissejuhatus9o11.ppt, Itsissejuhatus9o11.pdf.
- Kohustuslikku lugemist
- The law of leaky abstractions
- No silver bullet ja lühem kokkuvõte
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Lisaks: täiesti mittekohustuslikke ideid lugemiseks:
- 10. Võrgutarkvara. Interneti baastehnoloogia.
- Loengumaterjal: Itsissejuhatus10o08.ppt, Itsissejuhatus10o08.pdf.
- Lisaks: Tutvuda:
- http://en.wikipedia.org/wiki/TCP/IP_model
- Huvi korral loe mahukamast protokollinduse kursusest lisa: Andmeside protokollid
- Tanel Tammet: külm kübersõda
- 11. Võrgutarkvara. Interneti rakenduste tehnoloogia.
- Loengumaterjal: Itsissejuhatus11o07.PPT, Itsissejuhatus11o07.pdf.
- Lisaks: Tutvuda lühidalt:
- Loengunäite variant: http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html
- http://www.w3schools.com/.
- http://www.w3c.org/.
- XMLHttpRequest Demo (async javascript)
- Loengunäide: Tiny www server ja lihtsaid cgi programminäiteid
- Greenspuni vana kuulus Panda book
- Apache
- veel näiteid: kalkulaator, css, javascript, XML ja XSL näited
- javascript ja mashup: http://www.sightsmap.com/
- 12. Rekursioon. Funktsionaalne ja loogiline programmeerimine.
- Loengumaterjal: Itsissejuhatus12o11.pdf.
- Lisaks proovi ja loe veidi:
- Fraktaalid wikipedias
- Fraktaalide applet vali vasaku hiireklahvi abil sisemine ala ja joonista uus
- Tower of Hanoi
- Lambda-arvutus
- Vaata ja proovi näiteid modifitseerida:
- Huvi korral installeeri ja proovi Prologi: SWI Prolog.
- 13. Algoritmid. Keerukus ja lahenduvus.
- Loengumaterjal: Itsissejuhatus13o07.PPT, Itsissejuhatus13o07.pdf.
- Lisaks: Huvi korral vaata TSP programmi Java lähtekood
- 14. Tehisintellekt.
- Loengumaterjal: Itsissejuhatus14o11.pdf.
- Ajuteaduse teemadel tasub kuulata kõigepealt Metzingeri podcasti ja siis jätka www.brainsciencepodcast.com podcastide kuulamist (hea tegevus kogu jõuluvaheajaks!).
- Taustaks: intertehismoistus.PPT ja ülevaade tehisintellektinduse valdkondadest
- Lisaks tasub vaadata:
- Boston Dynamics robot donkey (aka big dog) video
- Darpa grand challenge 2005 ja urban challenge
- TTÜ roboswarm
- Teadmiste integraatorid Ibm Watson, Wolfram Alpha ja Siri
- Päris hea võrgust lugev ja õppiv süsteem NELL vt ka seniõpitut ja olulist alus-meetodit
- Klassikaline vestlev pseudointellekt
- Õppejõu ja kolleegide turismisoovitaja prototüüp ja ülevaateartikli draft
- Loe Matrix, Skynet ja sõda teispoolsusega, klassiku ülevaadet tehisintellektindusest, Dennetti artikleid, tuntud õpikut,
- 15. IT äri, IT projektid
- Loengumaterjal: Itsissejuhatus15o11.ppt, Itsissejuhatus15o11.pdf.
- Lisaks:
- How projects really work
- Real software engineering
- 10 failed startups of an unknown guy
- Agile ja lisaks selle juurde Martin Fowleri artikkel
- Kohustuslikud artiklid (toodud ka sellel lehel allpool,kohustuslike lugemismaterjalide osas):
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: IT firma töökorraldus: 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.html
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Gnu manifestid The Free Software Definition ja Selling Free Software
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
- 16 Ülevaade saabuvast eksamist ja konsultatsioon
Harjutamist eksamiks/arvestuseks
Tee iseseisvalt vanad eksamid:
NB! selle aasta erinevused nimetatud näidetega võrreldes:
- Küsimused on - ootuspäraselt - teistsugused.
- Kahendarvude ülesannet ei tule.
- Keerukamad ülesanded võivad anda rohkem punkte, kui lihtsad: vahemikus 10-15 punkti, lihtsad vastavalt vähem: 6-9 punkti.
Kohustuslikud lugemismaterjalid
Järgnevate materjalide läbilugemine on kursuse läbimisel kohustuslik.
- Loogika ainest ja ajaloost: T.Tammet: Loogika aine ja ajalugu: sissejuhatus T.Tamme, T.Tammeti ja R.Prangi loogikaõpikule "Mõtlemisest tõestamiseni".
- Opsüsteemidest laiemas kontekstis: Kohustuslik on algusosa (esimene 1/4) pikast artiklist In the Beginning was the Command Line
- Abstraktsioonidest ja tehnoloogiatükkidest: Law of leaky abstractions
- Stiilist või midagi: The Tao of Programming. Selle teksti inspiratsiooniks/taustaks on daodejing (sea brauserist view->character encoding unicode), see tausta-originaal-daodejing ei ole kohustulik lugemine.
- Kohustuslikud artiklid IT projektide, ideoloogia, äri ja juhtimise teemal on järgmised. Neid "ära õppida" vms pole vaja, piisab lihtsast mõnusast kiirest läbilugemisest:
- Paul Graham: How to start a startup?
- Paul Graham: Great hackers
- Joel Spolsky: IT firma töökorraldus: 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.html
- Paul Reeves: What is software design? vana artikkel ja What Is Software Design: 13 Years Later
- Gnu manifestid The Free Software Definition ja Selling Free Software
- Fred Brooks 1986: No Silver Bullet
- Random ramblings: Top ten geek business myths
Soovitavad lisalugemismaterjalid:
- Ajalugu 1945-1990 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): The Computer Museum.
- Ajalugu 1947-1999 (see ei ole otseselt kohustuslik): autor Ken Polsson.
- Vana jutt infoühiskonnast: T.Tammet 1995-1996: "Teejuht võrgumeediasse" toorik, pakub eeskätt ajaloolist huvi.
Väga kasulikud lugemismaterjalid: loe neid!
- Loe iga päev: http://news.ycombinator.com/
- Loe iga päev: http://www.reddit.com (hea mõte on registreeruda ja valida sobivad alamredditid, kindlasti
- Loe regulaarselt: http://www.dzone.com/
- Loe regulaarselt: http://www.slashdot.org
- Loe regulaarselt: http://www.news.com
Kursuse käigus on mõistlik lugeda valikut artikleid kõigist neist saitidest:
- Paul Grahami esseed, uusi suhteliselt harva.
- Software management, ca kord kuus materjale: http://www.joelonsoftware.com
- Jargon leksikon ja the New Hacker's Dictionary.
- The cathedral and Bazaar
- Gnu manifestid
- David Eck: Labs and Applets for "The Most Complex Machine".
Kui kõik tundub liiga lihtne, siis:
- Loe läbi enamus Paul Grahami esseid.
- Loe läbi Steven Raymondi raamat (NB! algajatel raske õieti mõista :-) The Art of Unix Programming
- Vaata, mis võrgust (loodetavasti) edaspidi saab: Semantic Web
- Loe läbi hulga Daniel Dennetti esseid
- Tee omal käel ette läbi terve Programmeerimise põhikursus (peaasi: tee kõik harjutustööd: programmeerimise õppimiseks ainus viis on palju programmeerida :-)
- Õpi assembleris programmeerima (üpris ebapraktiline oskus, aga hästi hariv :-)