Itv0010 vana
...ajalugu, suunad, põhialused, paradigmad, äri.
SEE ON 2005 aasta ARHIIVIMATERJAL, MITTE KEHTIV KURSUSELEHT !
Ainekoodid: TTÜ: ITV0010; ITK: I100
Link: http://www.lambda.ee/index/Sissejuhatus_informaatikasse ehk http://www.lambda.ee/index/itv0010
Eelmise aasta (2004 sügis) link: http://cs.ttu.ee/kursused/itv0010/
Lektor: Tanel Tammet
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223
Venekeelsete kursuste lektor: Deniss Kumlander
ITK harjutustunnid: Tannar Esna.
SEE ON 2005 aasta ARHIIVIMATERJAL, MITTE KEHTIV KURSUSELEHT !
Sisukord
- 1 TTÜ järeleksam eelnädalal: august 2006
- 2 Eksam ja arvestus ja tulemused
- 3 Maht, aeg, tulemus
- 4 Kursuse eesmärk
- 5 Kokkuvõte
- 6 Loengute plaan ja materjalid
- 7 Harjutamist eksamiks/arvestuseks
- 8 Kohustuslikud lugemismaterjalid
- 9 Väga kasulikud lugemismaterjalid: loe neid!
- 10 Kui kõik tundub liiga lihtne, siis:
TTÜ järeleksam eelnädalal: august 2006
Eelnädala järeleksam toimub 30 augustil (kolmapäev) kell 10.00 küberneetika instituudis: koguneda Jüri Vainu kabineti juurde (juhtimissüsteemide osakond, kolmas korrus). Materjalid ja kontroll on T.Tammetilt, kuid ta viibib eelnädalal eestist eemal.
Eksam ja arvestus ja tulemused
Maikuu järeleksami tulemused: it sissejuhatus 2006 mai järeleksam.
TTÜ eestikeelsete gruppide lõpptulemused on siin, selle lingi all.. Kehtiv tulemus on viimases, rohelises tulbas. Loetelu on perekonnanime järgi tähestiku järjekorras, kuid lõpuosas - sinised read - on järjekord suvaline. Otsi oma nime nii initsiaalide kui matriklinumbri järgi.
Järeleksamid toimuvad veel 2006 aprilli- või maikuus ja 2006 sügissemestri eel. Konkreetsed kuupäevad ilmuvad siia lehele ca kuu aega enne järeleksamit, st mitte enne 2006 märtsi.
ITK järelarvestus
40-50 punktivahemikus tudengid (ÕIS-s alates 19 punktist) saavad neljapäeval, 26. jaanuaril, kell 10.00 ruumis 211 teha tasuta järelarvestuse. Alla 19 p ehk 40% saanud või mitteilmunud tudengid sel päeval järelarvestust teha ei saa.
Maht, aeg, tulemus
Loenguid nädalas: 2 tundi. Kui pole teisiti märgitud, toimuvad kõik loengud:
- TTÜ-s järgmistel aegadel.
- Teisipäeval 8.00-9.30, aula (loeb Tanel)
- Venekeelne loeng: teisipäeval, 8.00-9.30, II korpus saal 102 (loeb Deniss)
- ITK-s järgmistel aegadel.
- Teisipäeval 12.00-13.30, Neo saal (loeb Tanel)
Harjutustund TTÜ: iseseisev lugemine ja (vahel) ülesannete lahendamine, juhendajat ei ole.
Harjutustund ITK: iseseisev lugemine ja (vahel) ülesannete lahendamine, juhendaja suunamisel.
TTÜ: kursus lõpeb EKSAMIGA. Eksam on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet.
ITK: kursus lõpeb ARVESTUSEGA. Arvestus on kirjalik, kaks või enam tundi. Semestri poole
peal (täpne kuupäev ilmub hiljem) toimub lisaks kontrolltöö ajaloo-osa kohta. Arvestuse
saamiseks peab edukalt tegema nii kontrolltöö kui arvestustöö.
Kursuse eesmärk
- Anda kokkusurutud ülevaade informaatikast tervikuna.
- Anda ajalooline ülevaade IT teooria, tehnoloogia ja äri arengust.
- Tutvustada edaspidiseid loengukursusi stuudiumi vältel.
NB! Kursus EI ÕPETA elementaarset arvutikasutamist. Samuti ei õpeta kursus programmeerimist, kuigi annab õrna sissejuhatuse programeerimisse.
Kokkuvõte
Ajalooline ja kontseptuaalne ülevaade informaatikast kui äri-, teadus- ja insenerivaldkonnast. Valdkonna varajane ajalugu, teaduslikud ning tehnilised arengud selle sajandi alguses, sajandi keskpaiga kiire tehnoloogiline ja äriline areng ning viimastel kümnenditel toimunu nii äris, tehnoloogias kui teaduse baasosades. Peamised programmeerimise paradigmad (imperatiivne, loogiline, funktsionaalne, objekt-orienteeritud) ning rakendussüsteemide tehnoloogia paradigmad (suurarvutid, personaalarvutid, klient-server süsteemid, hajutatud ja mitmekihilised süsteemid). Uute tehnoloogiate ja firmade teke ning allakäigu lained, printsiibid ja konkreetsed võtmesündmused.
Loengute plaan ja materjalid
Kursusel ei ole ühtegi konkreetset õpikut. Järgnevas on toodud iga loenguga seotud materjalid eraldi.
NB! Materjalid loengute kohta, mis ei ole veel toimunud, on esialgsed: nad muutuvad ja täienevad kursuse käigus.
- 1. Sissejuhatus
- Programmeerimine ja arvuti tööpõhimõtted.
- Loengumaterjal: itsissejuhatus1o.PPT, itsissejuhatus1o.pdf.
- Lisaks:
- loe juttu ja mängi andmete esitamise appletiga.
- loe läbi: Paul Graham: Why nerds are unpopular?
- 2. Varane ajalugu
- Industrialiseerimine. Teoreetilised alused. Loogika.
- Loengumaterjal: itsissejuhatus2o.PPT, itsissejuhatus2o.pdf.
- Lisaks:
- 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).
- algus-1945: A history of computers
- Alustada: Loogika aine ja ajalugu
- 3. Keskajalugu
- II maailmasõda kuni kuuekümnendate algus. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
- Loengumaterjal: itsissejuhatus3o.PPT, itsissejuhatus3o.pdf.
- Lisaks:
- Paul Graham: Undergraduation pluss järelmärkused: more advice for undergrads
- Eck intro lab: data reps.
- Eck lab: Turing machines.
- 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:
- Zuse elektromehaaniline arvuti, vt ka seda saiti.
- Atanasoffi elektronarvuti
- Mark I: esimene programmeeritav elektromehaaniline arvuti.
- Loe ka: Polsson ning a history of computers (vt viidad allpool)
- 4. Keskajalugu jätkub
- kuuekümnendad, seitsemkümnendate algus. Miniarvutid ja mikroprotsessorid.
- Loengumaterjal: itsissejuhatus4o.PPT, itsissejuhatus4o.pdf.
- Lisaks:
- Jätk küsimusele "mida ülikoolis teha?". Joel Spolsky: Advice for Computer Science College Students
- PDP-1 restoration project
- Spacewar: esimene graafiline arvutimäng
- Atari muuseum
- mehaaniline pong
- SRI international
- Bell labs
- 5. Keskajalugu jätkub
- seitsmekümnendad. Mikroarvutid, personaalarvutid.
- Loengumaterjal: itsissejuhatus5o.PPT, itsissejuhatus5o.pdf.
- Lisaks:
- Colossal Cave (adventure) teksti-seiklusmäng
- Magnavox odyssey
- 6. Lähiajalugu
- kaheksakümnendad. IBM PC, Macintosh, uued vanad opsüsteemid. Spetsiaalarvutid, workstationid, oluline soft.
- Loengumaterjal: itsissejuhatus6o.PPT, itsissejuhatus6o.pdf.
- Lisaks: Apple Macintoshi reklaamfilm:
- 7. Lähiajalugu
- Üheksakümnendad kuni kaasaeg. Kokkuvõtted saagadest.
- Loengumaterjal: itsissejuhatus_ajaloolopp.PPT, itsissejuhatus_ajaloolopp.pdf.
- Lisaks:
- Alustada: "Teejuht võrgumeediasse" toorik.
- Tutvu: [http:/materjalid/itsissejuhatus/itsissejuhatus_eestiajalugu.ppt J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest]
- 8. Arvuti tööpõhimõtted, programmeerimiskeeled.
- Loengumaterjal: itsissejuhatus7o.PPT, itsissejuhatus7o.pdf.
- Lisaks:
- Veidi tutvuda nende saitidega:
- D.Eck, osad siit: Eck laborid (siit saad võtta eraldi rakendusena). NB! Loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- 9. Progr. keeled jätkuvad. Operatsioonisüsteemid.
- Loengumaterjal: itsissejuhatus8o.PPT, itsissejuhatus8o.pdf.
- Lisaks: Eck laborid jätk: loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- 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
- Computer languages history
- About 2500 Computer Languages, Past and Present
- Computer language shootout
- Minix: Linuxi inspiratsiooniks olnud mini-UNIX
- Unix history
- 10. Tarkvara arhitektuur ja paradigmad.
- Loengumaterjal: itsissejuhatus9o.PPT, itsissejuhatus9o.pdf.
- Lisaks: Tutvuda:
- 11. Võrgutarkvara paradigma. Interneti baastehnoloogia.
- Loengumaterjal: Itsissejuhatus10o.PPT, Itsissejuhatus10o.pdf.
- Lisaks: Tutvuda:
- 12. Võrgutarkvara paradigma. Interneti rakenduste tehnoloogia.
- Loengumaterjal: itsissejuhatus11o.PPT, itsissejuhatus11o.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
- Greenspuni vana kuulus Panda book
- Apache
- veel näiteid: kalkulaator, css, javascript, XML ja XSL näited
- 13. Rekursioon. Funktsionaalne ja loogiline programmeerimine.
- Loengumaterjal: itsissejuhatus12o.PPT, itsissejuhatus12o.pdf.
- Lisaks: Vaata ja proovi näiteid modifitseerida:
- Huvi korral installeeri ja proovi Prologi: SWI Prolog.
- 14. Algoritmid. Keerukus ja lahenduvus.
- Loengumaterjal: itsissejuhatus13o.PPT, itsissejuhatus13o.pdf.
- Lisaks: Huvi korral vaata TSP programmi Java lähtekoodi
- 15. Tehisintellekt.
- Loengumaterjal: itsissejuhatus14o.PPT, itsissejuhatus14o.pdf.
- Huvi korral loe Matrix, Skynet ja sõda teispoolsusega, klassiku ülevaadet tehisintellektindusest, Dennetti artikleid, tuntud õpikut, ajakirja JAIR.
- 16. IT äri, IT projektid.
- Loengumaterjal: itsissejuhatus15o.PPT, itsissejuhatus15o.pdf.
- Lisaks: mitmed kohustuslikud artiklid, vt kas powerpointist või sellel lehel allpool, :kohustuslike lugemismaterjalide peatüki allosas.
- 17. Varu.
Harjutamist eksamiks/arvestuseks
Tee iseseisvalt vanad eksamid:
NB! 2005 aasta erinevused nimetatud näidetega võrreldes:
- Küsimused on - ootuspäraselt - teistsugused.
- Kahendarvude ülesannet ei pruugi tulla.
- Keerukamad ülesanded annavad rohkem punkte, kui lihtsad: vahemikus 10-15 punkti, lihtsad vastavalt vähem: 6-9 punkti. Kogupunktide arv endiselt 100.
Kohustuslikud lugemismaterjalid
Järgnevate materjalide läbilugemine on kursuse läbimisel kohustuslik. NB! Kohustuslikke materjale võib kursuse jooksul veidi lisanduda: jälgi seda loetelu.
- Ajalugu algus - 1981 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): Bebop BYTES Back
- 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.
- Elektroonilisest demokraatiast ja riigist:
- T.Tammet, 2001: E-valimiste analüüs
- 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
- Kohustuslikud artiklid IT ä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
- Paul Graham: Why smart people have bad ideas
- Joel Spolsky: Esileht: http://www.joelonsoftware.com/
- Joel Spolsky: Strateegia: http://www.joelonsoftware.com/articles/fog0000000074.html
- Joel Spolsky: Funktsionaalsuse spec:Painless Functional Specifications (1 osa): http://www.joelonsoftware.com/articles/fog0000000036.html
- Joel Spolsky: IT firma töökorraldus: 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.html
- Joel Spolsky: Projekti planeerimine: Painless Software Schedules: http://www.joelonsoftware.com/articles/fog0000000245.html
- Greenspun: Lihtsalt loe sisukorda, tervet raamatut pole vaja!: http://philip.greenspun.com/panda/
- Greenspun: Future peatükk: http://philip.greenspun.com/panda/future
- Greenspun: Nali: http://philip.greenspun.com/careers/
Väga kasulikud lugemismaterjalid: loe neid!
- Loe iga päev: http://www.news.com
- Loe iga päev: http://www.slashdot.org
- Software management, ca paar korda kuus materjale: http://www.joelonsoftware.com
- Paul Grahami esseed, uusi suhteliselt harva.
- 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
- Loe läbi väga lõbus ja hariv raamat: Philip Greenspuni Guide to Web Publishing. Kui meeldis, uuri järgi, mida Greenspun veel teeb (sh loe teisi raamatuid ka) ja kuidas sündis ja suri tema kuulus firma.
- Vaata, mis võrgust (loodetavasti) edaspidi saab: Semantic Web
- Loe hoolega läbi (ei ole üldse kohustuslik ja algajatele mittesoovitav) ja tee harjutusi ka: Computer Systems: a programmers perspective toorikvariant.
- Loe läbi hulga Daniel Dennetti esseid
- Proovi õppejõu tehisintellektisüsteem Gandalf installeerida (Unix või Windows+cygwin) ja mängi sellega. Proovi ka Otterit (lihtsam, aga nõrgem klassikaline süsteem). Kuidas, loe siit ja siit ja siit.
- 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 :-)