Itv0010 2009
Allikas: Lambda
...ajalugu, suunad, põhialused, paradigmad, äri.
|
Ainekood: ITV0010 Lektor: Tanel Tammet (http://tanel.tammet.googlepages.com) blog (http://pirrejaraak.blogspot.com) |
See leht on varemloetud kursuse arhiiv, siin ei ole värsket informatsiooni! Otsi üles kursuse hetkel aktiivne leht.
Järeleksami tulemused mais
Tulemused leiad siit tabelist (http://www.lambda.ee/images/8/85/Itssissejuh_2010kevad_jareleksam.pdf). NB! P.Kirss 93512 ei ilmunud hinnetelehele, uuri dekanaadist!
Järeleksam toimus reedel, 28 mail, kell 14.00 ruumis VI-201
NB! NB! Järeleksamile pääsemiseks peab ennast ÕIS-s eelnevalt eksamile registreerima. Mine ÕIS-s http://ois.ttu.ee "sooritused" -> "teadmiste kontrollidele registreerimine", otsi selle aine 28.05.2010 eksam ja registreeri ennast sellele. Probleemide korral otsi abi dekanaadist.
Järeleksamitulemused veebruarus
Sessi eelnädala järeleksami tulemused leiad selle lingi alt.
Sessiaegsed eksamitulemused leiad selle lingi alt. Tulemused on sorteeritud initsiaalide järgi, eesnimi kõigepealt, siis perekonnanimi. Kui oma initsiaale mingil põhjusel ei leia, võib tegu olla kirjaveaga: siis otsi matriklinumbrit.
Mõned lõbusamad eksimused - täiesti anonüümselt - on kogutud siia.
Eelnädala järeleksam toimub 29 jaanuaril (reede) kell 11.00 auditooriumis VI-201.
NB! NB! Järeleksamile pääsemiseks peab ennast ÕIS-s eelnevalt eksamile registreerima. Mine ÕIS-s http://ois.ttu.ee "sooritused" -> "teadmiste kontrollidele registreerimine", otsi selle aine 29.01.2010 eksam ja registreeri ennast sellele. Probleemide korral otsi abi dekanaadist.
Järeleksamid toimuvad veel kevadsemestri lõpupoole ja sügissemestri eelnädalal.
Maht, aeg, tulemus
Loenguid nädalas: 2 tundi. Kui pole teisiti märgitud, toimuvad kõik loengud:
- TTÜ-s järgmistel aegadel.
- Reedel 10.00-11.30, aula (loeb Tanel)
- Venekeelne loeng: kolmapäeval VII-131 kell 14.00-15.30 loeb Deniss
Kursus lõpeb EKSAMIGA. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet.
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.
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: itsissejuhatus1o07.PPT, itsissejuhatus1o07.pdf.
- Lisaks:
- loe juttu ja mängi andmete esitamise appletiga (http://math.hws.edu/TMCM/java/DataReps/index.html).
- loe läbi: Paul Graham: Why nerds are unpopular? (http://www.paulgraham.com/nerds.html)
- loe läbi: Tanel Tammet: Inimlikkus on loomalikkus (http://www.metsas.ee/et/tekstid/tanelt/inimlikkus_on_loomalikkus)
- 2. Varane ajalugu
- Industrialiseerimine. Teoreetilised alused. Loogika. Esimesed arvutid.
- Loengumaterjal: itsissejuhatus2o07.PPT, itsissejuhatus2o07.pdf.
- Lisaks:
- Kruusi diskreetse matemaatika kursus! (http://www.pld.ttu.ee/~kruus/diskmat/index.html)
- Paul Graham: What you'll wish you'd known (http://www.paulgraham.com/hs.html)
- Harjuta lausearvutuse tõeväärtustabelite tegemist: vaata vanu eksamiülesandeid (1, 2, 3) tee ülesandeid ise juurde ja kasuta seda rakendust (http://logik.phl.univie.ac.at/~chris/gateway/formular-uk-zentral.html) enesekontrolliks (vt ka selle rakenduse süntaksit (http://logik.phl.univie.ac.at/~chris/gateway/server-languagehelp.html)).
- algus-1945: A history of computers (http://www.maxmon.com/history.htm)
- Eck lab: Turing machines (http://math.hws.edu/TMCM/java/labs/xTuringMachineLab.html).
- Alustada: Loogika aine ja ajalugu
- Varastest masinatest:
- Näide olulisest analoogarvutist: Norden bombsight (http://en.wikipedia.org/wiki/Norden_bombsight)
- Inglise krüptosaaga: Colossus (http://en.wikipedia.org/wiki/Colossus_computer), Turing (http://en.wikipedia.org/wiki/Alan_Turing), sakslaste Enigma (http://en.wikipedia.org/wiki/Enigma_machine) ja Lorenz SZ 40 (http://en.wikipedia.org/wiki/Lorenz_SZ_40/42)
- Esimesed digitaalsed elektriga töötavad arvutid:
- Zuse elektromehaaniline arvuti (http://www.epemag.com/zuse/), vt ka seda saiti (http://www.zib.de/zuse/English_Version/index.html).
- Atanasoffi elektronarvuti (http://www.computermuseum.li/Testpage/ABC-Computer-1940.htm)
- Mark I (http://en.wikipedia.org/wiki/Harvard_Mark_I): esimene programmeeritav elektromehaaniline arvuti.
- 3. Keskajalugu
- II maailmasõda kuni kuuekümnendateni. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
- Loengumaterjal: itsissejuhatus3o07.PPT, itsissejuhatus3o07.pdf.
- Lisaks:
- Paul Graham: Undergraduation (http://www.paulgraham.com/college.html) pluss järelmärkused: more advice for undergrads (http://www.paulgraham.com/undergrad2.html)
- Fortran (http://en.wikipedia.org/wiki/Fortran)
- PDP-1 restoration project (http://pdp-1.computerhistory.org/pdp-1/), spacewar (http://spacewar.oversigma.com/) in PDP-1 simulator
- Ivan Sutherland's sketchpad video (http://www.youtube.com/watch?v=mOZqRJzE8xg) vt ka sketchpadi artikkel (http://en.wikipedia.org/wiki/Sketchpad)
- Douglas Engelbart "mother of all demos" (http://video.google.com/videoplay?docid=-8734787622017763097&q=engelbart)
- SAGE (http://en.wikipedia.org/wiki/Semi_Automatic_Ground_Environment)
- Counterculture (http://en.wikipedia.org/wiki/Counterculture_of_the_1960s)
- Silicon Valley (http://en.wikipedia.org/wiki/Silicon_Valley)
- Whole earth catalog (http://en.wikipedia.org/wiki/Whole_Earth_Catalog)
- 4. Keskajalugu jätkub
- seitsmekümnendad, kaheksakümnendad. Mikroprotsessorid. Mini-, mikro- ja persionaalarvutid.
- Loengumaterjal: itsissejuhatus4o07.PPT, itsissejuhatus4o07.pdf.
- Lisaks:
- Jätk küsimusele "mida ülikoolis teha?". Joel Spolsky: Advice for Computer Science College Students (http://www.joelonsoftware.com/articles/CollegeAdvice.html)
- Spacewar: esimene graafiline arvutimäng (http://www.computerhistory.org/pdp-1/index.php?f=theme&s=4&ss=3),töötav applet (http://spacewar.oversigma.com/)
- Atari muuseum (http://www.atarimuseum.com/)
- mehaaniline pong (http://www.cyberniklas.de/pongmechanik/indexen.html)
- SRI international (http://en.wikipedia.org/wiki/SRI_International)
- Bell labs (http://en.wikipedia.org/wiki/Bell_Labs)
- Eric Raymond: How to become a hacker (http://www.catb.org/~esr/faqs/hacker-howto.html)
- Colossal Cave (adventure) (http://www.rickadams.org/adventure/) teksti-seiklusmäng
- Magnavox odyssey (http://www.pong-story.com/odyssey.htm)
- 5. Lähiajalugu
- üheksakümnendad kuni kaasaeg. IBM PC, Macintosh, uued vanad opsüsteemid. Võrgundus. Kokkuvõtted suurtest teemadest.
- Loengumaterjal: Itsissejuhatus5o07.PPT, Itsissejuhatus5o07.pdf.
- Lisaks:
- Thirst for knowledge may be opium craving (http://www.eurekalert.org/pub_releases/2006-06/uosc-fk062006.php)
- GUI ajalugu (http://toastytech.com/guis/guitimeline.html)
- Arvutite tv-reklaamide ajalugu (http://blogs.pcworld.com/techlog/archives/002950.html)
- Alustada: "Teejuht võrgumeediasse" toorik.
- Tutvu: J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest (http://sise.ttu.ee/it/vorgutarkvara/wai2030/eestiajalugu.ppt)
- Apple Macintoshi reklaamfilm:
- Väike mpeg variant (http://cs.ttu.ee/kursused/itv0010/various/1984.mpeg)
- Suur quicktime variant (http://cs.ttu.ee/kursused/itv0010/various/1984.mov)
- 6. Arvuti riistvara. Mälu, protsessor, käsud.
- Loengumaterjal: Itsissejuhatus6o7.PPT, Itsissejuhatus6o7.pdf.
- Lisaks:
- Veidi tutvuda nende saitidega:
- http://www.mkdata.dk/click/ (eriti soovitan lugeda pc arhitektuuri seletust (http://www.karbosguide.com/books/pcarchitecture/start.htm))
- Tom's hardware guide (http://www.tomshardware.com/)
- Diy calculator raamat (http://www.diycalculator.com/area51/databook.zip) ja terve sait (http://www.diycalculator.com/): uuri veidi raamatut
- D.Eck, osad siit: Eck laborid (http://math.hws.edu/TMCM/java/index.html) (siit saad võtta eraldi rakendusena (http://math.hws.edu/TMCM/java/DownloadingAndInfo.html)). NB! Loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- Logic circuits (http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html)
- Memory circuits (http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html)
- 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:
- xComputer (http://math.hws.edu/TMCM/java/labs/xComputerLab1.html)
- xComputer assembly language (http://math.hws.edu/TMCM/java/labs/xComputerLab2.html)
- Computer languages history (http://www.levenez.com/lang/)
- About 2500 Computer Languages, Past and Present (http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm)
- Computer language shootout (http://shootout.alioth.debian.org/)
- Huvi korral võid veel:
- lugeda Diy calculator raamatut (http://www.diycalculator.com/area51/databook.zip) ja tervet saiti (http://www.diycalculator.com/)
- uurida sarnast, alternatiivset pisimasina-simulaatorit: MarieSim (http://computerscience.jbpub.com/ecoa/2e/student_resources.cfm),
- uurida veidi Ulrich Drepperi cache-lühiülevaadet (http://people.redhat.com/drepper/cpucache-slides.pdf) ja paralleelsuse-ülevaadet (http://people.redhat.com/drepper/parallelprog.pdf)
- või lugeda ülevaadet progekeelte arengust (http://www.ulb.ac.be/di/rwuyts/INFO020_2003/grogono-evolution.pdf)
- 8. Operatsioonisüsteemid.
- Loengumaterjal: Itsissejuhatus8o07.PPT, Itsissejuhatus8o07.pdf.
- Kohustuslikku lugemist
- Kohustuslik on esimene 1/4 pikast artiklist In the Beginning was the Command Line
- Soovitavat lugemist:
- üldse mitte kohustuslik (algajatel raske mõista :-) The Art of Unix Programming (http://www.faqs.org/docs/artu/)
- Minix: Linuxi inspiratsiooniks olnud mini-UNIX (http://www.minix3.org/)
- Unix history (http://www.levenez.com/unix/)
- 9. Tarkvara arhitektuur. Teegid, komponendid, andmebaasid jms.
- Loengumaterjal: Itsissejuhatus9o07.PPT, Itsissejuhatus9o07.pdf.
- Lisaks: täiesti mittekohustuslikke ideid lugemiseks:
- The law of leaky abstractions (http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
- Code as design (http://www.developerdotstar.com/mag/articles/reeves_design_main.html)
- No silver bullet (http://www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf) ja lühem kokkuvõte (http://en.wikipedia.org/wiki/No_Silver_Bullet)
- Why features do not matter any more (http://damienkatz.net/2006/02/why_features_do.html)
- Teach yourself programming in ten years (http://www.norvig.com/21-days.html)
- Gnu manifestid (http://www.gnu.org/philosophy/)
- vabavara kasutamisest riigis
- Stallmani naljalaul
- Linus Linuxit hääldamas
- 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 (http://www.epl.ee/artikkel/306353)
- 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) (http://www.papermountain.org/demos/live/#)
- Loengunäide: Tiny www server ja lihtsaid cgi programminäiteid
- Greenspuni vana kuulus Panda book (http://philip.greenspun.com/panda/)
- Apache (http://www.apache.org/)
- veel näiteid: kalkulaator, css, javascript, XML ja XSL näited
- 12. Rekursioon. Funktsionaalne ja loogiline programmeerimine.
- Loengumaterjal: Itsissejuhatus12o07.PPT, Itsissejuhatus12o07.pdf.
- Lisaks proovi ja loe veidi:
- Fraktaalid wikipedias (http://en.wikipedia.org/wiki/Fractal)
- Fraktaalide applet (http://www.softwarefederation.com/fractal.html) vali vasaku hiireklahvi abil sisemine ala ja joonista uus
- Tower of Hanoi (http://en.wikipedia.org/wiki/Tower_of_Hanoi)
- Lambda-arvutus (http://en.wikipedia.org/wiki/Lambda_calculus)
- Vaata ja proovi näiteid modifitseerida:
- Lihtsamad rekursiivsed pildid (http://math.hws.edu/TMCM/java/labs/xTurtleLab3.html)
- Rekursiivsed pildid randomiga (http://math.hws.edu/TMCM/java/xTurtle/index.html)
- Huvi korral installeeri ja proovi Prologi: SWI Prolog (http://www.swi-prolog.org/).
- 13. Algoritmid. Keerukus ja lahenduvus.
- Loengumaterjal: Itsissejuhatus13o07.PPT, Itsissejuhatus13o07.pdf.
- Lisaks: Huvi korral vaata TSP programmi Java lähtekoodi (http://www.ttu.ee/it/vorgutarkvara/iti0010/Tsp.html)
- 14. Tehisintellekt.
- itsissejuhatus15o06.PPT, itsissejuhatus15o06.pdf.
- Huvi korral loe Matrix, Skynet ja sõda teispoolsusega, klassiku ülevaadet tehisintellektindusest (http://www-formal.stanford.edu/jmc/whatisai/whatisai.html), Dennetti artikleid (http://ase.tufts.edu/cogstud/pubpage.htm), tuntud õpikut (http://aima.cs.berkeley.edu/), ajakirja JAIR (http://www.cs.washington.edu/research/jair/home.html).
- Taustaks: intertehismoistus.PPT
- 15. IT äri, IT projektid
- Loengumaterjal: Itsissejuhatus15o07.PPT, Itsissejuhatus15o07.pdf.
- Lisaks:
- How projects really work (http://www.projectcartoon.com/cartoon/2)
- mitmed kohustuslikud artiklid, vt kas powerpointist või sellel lehel allpool, :kohustuslike lugemismaterjalide peatüki allosas.
- 16 Varu
Harjutamist eksamiks/arvestuseks
Tee iseseisvalt vanad eksamid:
NB! 2009 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 (http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
- Stiilist või midagi: The Tao of Programming (http://osiris.urbanna.net/tao.html)
- Kohustuslikud artiklid IT projektide, ä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? (http://www.paulgraham.com/start.html)
- Paul Graham: Great hackers (http://www.paulgraham.com/gh.html)
- Joel Spolsky: IT firma töökorraldus: 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.html
- Paul Reeves: What is software design? (http://www.developerdotstar.com/mag/articles/reeves_design.html) vana artikkel ja What Is Software Design: 13 Years Later (http://www.developerdotstar.com/mag/articles/reeves_13yearslater.html)
- Gnu manifestid The Free Software Definition (http://www.gnu.org/philosophy/free-sw.html) ja Selling Free Software (http://www.gnu.org/philosophy/selling.html)
- Fred Brooks 1986: No Silver Bullet (http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html)
- Random ramblings: Top ten geek business myths (http://rondam.blogspot.com/2006/10/top-ten-geek-business-myths.html)
Soovitavad lisalugemismaterjalid:
- Ajalugu algus - 1981 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): Bebop BYTES Back (http://www.maxmon.com/history.htm)
- Ajalugu 1945-1990 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): The Computer Museum (http://www.computerhistory.org/timeline/).
- Ajalugu 1947-1999 (http://cs.ttu.ee/kursused/itv0010/elcomphist/index.htm) (see ei ole otseselt kohustuslik): autor Ken Polsson.
- Vana jutt infoühiskonnast: T.Tammet 1995-1996: "Teejuht võrgumeediasse" toorik.
Väga kasulikud lugemismaterjalid: loe neid!
- Loe iga päev: http://www.slashdot.org
- Loe iga päev: http://www.dzone.com/
- Loe iga päev: http://www.news.com
- Loe iga päev: http://www.digg.com või http://www.reddit.com
- Software management, ca kord kuus materjale: http://www.joelonsoftware.com
- Paul Grahami esseed, uusi suhteliselt harva (http://www.paulgraham.com/articles.html).
- Jargon leksikon ja the New Hacker's Dictionary (http://catb.org/~esr/jargon).
- The cathedral and Bazaar (http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/)
- Gnu manifestid (http://www.gnu.org/philosophy/)
- David Eck: Labs and Applets for "The Most Complex Machine" (http://math.hws.edu/TMCM/java/index.html).
Kui kõik tundub liiga lihtne, siis:
- Loe läbi enamus Paul Grahami esseid (http://www.paulgraham.com/articles.html).
- Loe läbi Steven Raymondi raamat (NB! algajatel raske õieti mõista :-) The Art of Unix Programming (http://www.faqs.org/docs/artu/)
- Vaata, mis võrgust (loodetavasti) edaspidi saab: Semantic Web (http://www.w3.org/2001/sw/Activity)
- Loe hoolega läbi (ei ole üldse kohustuslik ja algajatele mittesoovitav) ja tee harjutusi ka: Computer Systems: a programmers perspective (http://cs.ttu.ee/kursused/itv0010/various/csapp.beta.11.16.pdf) toorikvariant.
- Loe läbi hulga Daniel Dennetti esseid (http://ase.tufts.edu/cogstud/incpages/publctns.shtml)
- Proovi õppejõu tehisintellektisüsteem Gandalf (http://www.ttu.ee/it/gandalf/) installeerida (Unix või Windows+cygwin (http://www.cygwin.com/)) ja mängi sellega. Proovi ka Otterit (http://www-unix.mcs.anl.gov/AR/otter/) (lihtsam, aga nõrgem klassikaline süsteem). Kuidas, loe siit (http://www-unix.mcs.anl.gov/AR/otter/) ja siit (http://www.cs.miami.edu/%7Etptp/OverviewOfATP.html) ja siit (http://www-2.cs.cmu.edu/%7Efp/courses/atp/handouts.html).
- 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 (http://webster.cs.ucr.edu/) (üpris ebapraktiline oskus, aga hästi hariv :-)


