Sissejuhatus informaatikasse
...ajalugu, suunad, põhialused, paradigmad, äri.
Ainekoodid: TTÜ: ITV0010; ITK: I100
Vana 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.
Maht, aeg, tulemus
Loenguid nädalas: 2 tundi. Kui pole teisiti märgitud, toimuvad kõik loengud:
- TTÜ-s järgmistel aegadel.
- Neljapäeval 8.00-9.30, aula (loeb Tanel)
- Venekeelne loeng: kolmapäeval, 10.00-11.30, VII korpus saal 226 (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, kümme küsimust ja ülesannet.
Eksamid ja arvestused
TTÜ eestikeelsete gruppide lõplikud tulemused peale põhi- ja järeleksameid sessi jooksul on kättesaadavad selle lingi alt.
NB! Järgmine järeleksam toimub kevadsemestri teisel poolel, info aja/koha kohta ilmub veebruaris või märtsis siia lehele.
Tehnikaülikoolis, eestikeelsed grupid:
- Konsultatsioon: neljapäev, 16. dets. kell 14.00 ruumis VI-229
- Lühem (alternatiivne) konsultatsiooniaeg: neljapäev, 16. dets. kell 16.00 ruumis VI-229
- Põhieksam 1: esmaspäev, 20. dets. kell 10.00 ruumis VI-201
- Põhieksam 2: teisipäev, 21. dets. kell 10.00 ruumis VI-201
- Järeleksam 1: esmaspäev, 10. jaan. kell 10.00 ruumis VI-201
- Järeleksam 2: teisipäev, 11. jaan. kell 10.00 ruumis VI-201
Tehnikaülikoolis, venekeelsed grupid:
- Põhieksam 1: kolmapäev, 05. jaan. kell 17.30 ruumis III-103
- Põhieksam 2: laupäev, 08. jaan. kell 10.00 ruumis IV-103
- Järeleksam: kolmapäev, 12. jaan. kell 17.30 ruumis III-103
IT Kolledzhis:
- Põhiarvestus 1: teisipäev, 14. dets kell 18.00 ruumis 211 ja 218
- Põhiarvestus 2: kolmapäev, 15. dets kell 14.00 ruumis 211
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.
- 1. Sissejuhatus
- Programmeerimine ja arvuti tööpõhimõtted.
- Loengumaterjal: Media:itsissejuhatus1o.PPT, itsissejuhatus1o.pdf.
- Lisaks: loe juttu ja mängi andmete esitamise appletiga siin.
- 2. Varane ajalugu
- Industrialiseerimine. Teoreetilised alused. Loogika.
- Loengumaterjal: ppt, pdf.
- Lisaks:
- algus-1945: Bebop BYTES Back
- Alustada: Loogika aine ja ajalugu
- 3. Keskajalugu
- II maailmasõda kuni kuuekümnendate algus. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
- Loengumaterjal: ppt, pdf.
- Lisaks:
- Eck intro lab: data reps.
- Eck lab: Turing machines.
- Loe ka: Polsson, Bebop (vt viidad allpool)
- 4. Keskajalugu jätkub
- seitsmekümnendate lõpp, kaheksakümnendate algus. Mikroprotsessorid ja personaalarvutid.
- Loengumaterjal: ppt, pdf.
- 5. Lähiajalugu
- kaheksakümnendad. IBM PC, Macintosh, uued vanad opsüsteemid. Spetsiaalarvutid, workstationid, oluline soft.
- Loengumaterjal:
- Esimene osa: ppt, pdf.
- Teine osa: ppt, pdf.
- Lisaks: Apple Macintoshi reklaamfilm:
- Väike mpeg variant
- Suur quicktime variant
- 6. Kaheksakümnendate lõpp kuni kaasaeg
- Kokkuvõtted saagadest.
- Loengumaterjal: ppt, pdf.
- Lisaks:
- Alustada: "Teejuht võrgumeediasse" toorik.
- Tutvu: J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest
- 7. Arvuti tööpõhimõtted, programmeerimiskeeled.
- Loengumaterjal: ppt, pdf.
- Lisaks:
- Veidi tutvuda nende saitidega:
- www.mkdata.dk/click/
- Tom's hardware guide
- 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:
- Logic circuits
- Memory circuits
- Veidi tutvuda nende saitidega:
- 8. Progr. keeled jätkuvad. Operatsioonisüsteemid.
- Loengumaterjal: ppt, pdf.
- Lisaks: Eck laborid jätk: loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
- xComputer
- xComputer assembly language
- Soovitavat ja kohustuslikku lugemist:
- Kohustuslik on esimene 1/4 pikast artiklist In the Beginning was the Command Line
- Soovitav, kuid üldse mitte kohustuslik (algajatel raske mõista :-) The Art of Unix
- Programming
- 9. Tarkvara arhitektuur ja paradigmad.
- Loengumaterjal: ppt, pdf.
- Lisaks: Tutvuda:
- vabavara kasutamisest riigis
- Stallmani naljalaul
- Linus Linuxit hääldamas
- 10. Võrgutarkvara paradigma. Interneti baastehnoloogia.
- Loengumaterjal: ppt, pdf.
- Lisaks: Tutvuda: http://www.w3schools.com/.
- 11. Võrgutarkvara paradigma. Interneti rakenduste tehnoloogia.
- Loengumaterjal: ppt, pdf.
- Lisaks: Tutvuda lühidalt:
- Greenspuni Panda book
- Apache
- Loengus toodud näiteid: Tiny www server, kalkulaator, ning css, javascript, XML ja XSL näited
- 12. Rekursioon. Funktsionaalne ja loogiline programmeerimine.
- Loengumaterjal: ppt, pdf.
- Lisaks: Vaata ja proovi näiteid modifitseerida:
- Lihtsamad rekursiivsed pildid
- Rekursiivsed pildid randomiga
- Huvi korral installeeri ja proovi Prologi: SWI Prolog.
- 13. Algoritmid. Keerukus ja lahenduvus.
- Loengumaterjal: ppt, pdf.
- Lisaks: Huvi korral vaata TSP programmi Java lähtekoodi
- 14. Tehisintellekt.
- Loengumaterjal: ppt, pdf.
- Huvi korral loe Matrix, Skynet ja sõda teispoolsusega, klassiku ülevaadet :tehisintellektindusest, Dennetti artikleid, tuntud õpikut, ajakirja JAIR.
- 15. IT äri, IT projektid.
- Loengumaterjal: ppt, pdf.
- Lisaks: mitmed kohustuslikud artiklid, vt kas powerpointist või sellel lehel allpool, :kohustuslike lugemismaterjalide peatüki allosas.
Harjutamist eksamiks/arvestuseks
Tee iseseisvalt vanad eksamid:
* vana eksam 1 * vana eksam 2 * vana eksam 3
Kohustuslikud lugemismaterjalid
Järgnevate materjalide läbilugemine on kursuse läbimisel kohustuslik.
* 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:
o T.Tammet, 1999: "Internet Systems for Enhancing Democracy and Public Sector Management"
o 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:
o Joel Spolsky: Esileht: http://www.joelonsoftware.com/
o Joel Spolsky: Strateegia: http://www.joelonsoftware.com/articles/fog0000000074.html
o Joel Spolsky: Funktsionaalsuse spec:Painless Functional Specifications (1 osa): http://www.joelonsoftware.com/articles/fog0000000036.html
o Joel Spolsky: IT firma töökorraldus: 12 steps: http://www.joelonsoftware.com/articles/fog0000000043.html
o Joel Spolsky: Projekti planeerimine: Painless Software Schedules: http://www.joelonsoftware.com/articles/fog0000000245.html
o Greenspun: Lihtsalt loe sisukorda, tervet raamatut pole vaja!: http://philip.greenspun.com/panda/
o Greenspun: Future peatükk: http://philip.greenspun.com/panda/future
o Greenspun: Nali: http://philip.greenspun.com/careers/
o Greenspun: Inimesed ja management: http://web.archive.org/web/20020124043651/http://www.arsdigita.com/asj/managing-software-engineers/
o Greenspun: ArsDigita ajalugu: http://eveander.com/arsdigita-history
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 kord nädalas materjale: http://www.joelonsoftware.com
- Jargon leksikon ja the New Hacker's Dictionary.
- The cathedral and Bazaar (otsi võrgust ise ja loe läbi!)
- Gnu manifestid (otsi võrgust ise ja loe läbi!)
- David Eck: Labs and Applets for "The Most Complex Machine".
Kui kõik tundub liiga lihtne, siis:
- 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
- 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 :-)