Programmeerimise põhikursus 2008: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
4. rida: 4. rida:
Eelmise aasta (2004 sügis) link: http://cs.ttu.ee/kursused/iti0010/<br>
Eelmise aasta (2004 sügis) link: http://cs.ttu.ee/kursused/iti0010/<br>


Lektor: Tanel Tammet
Lektor: Tanel Tammet<br>
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223


Praktikume viivad läbi: Mihkel Tammepuu, Triin Uustalu, Kaarel Saal
Praktikumide läbiviijad, samuti praktikumiajad ja -arvutisaalid selguvad
esimese õppetöönädala käigus.


== Aeg, koht, tulemus ==


Lektor: Tanel Tammet<br>
Loengud: Igal esmaspäeval kell 10.00-11.30, ruumis VII-131 (kohe fuajee kõrval)<br>
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223<br>
Semestri teisel poolel (9. - 16. nädal) toimuvad loengud ruumis VI-229.
Venekeelsete kursuste lektor: Deniss Kumlander<br>
Semester: sügis<br>
ITK harjutustunnid: Tannar Esna.<br>
Tulemus: kirjalik eksam, mille eelduseks ja üheks punktiosaks on praktikumiülesanded.<br>
Punkte: 3.5<br>
Eeldusaine: IAG3103 Informaatika II<br>
Praktikum: kord nädalas a 2*45 minutit, AK arvutiklassides IT213.
Rühmadel on erinevad ajad ja juhendajad.<br>


== Maht, aeg, tulemus ==
Praktikumide läbiviijad, samuti praktikumiajad ja -arvutisaalid selguvad
esimese õppetöönädala käigus.


Loenguid nädalas: 2 tundi. Kui pole teisiti märgitud, toimuvad kõik loengud:


* TTÜ-s järgmistel aegadel.
== Kursuse eesmärk ==
** 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.<br>
Õpetada programmeerimise aluseid ja tehnoloogiat üldiselt, eeldades kerget varasemat kokkupuutumist programmeerimisega vähemalt eeldusaine Informaatika II mahus. Rõhk on praktiliste kogemuste ja oskuste omandamisel: iseseisev töö praktikumis on olulisem, kui õpiku lugemine. Märgatava osa loenguaega kulutab lektor kohapeal ette-programmeerimiseks.
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.<br>
Kursus on sisuliselt (kuid mitte tingimata formaalselt) vajalik eeldus kõigile spetsiifilisematele programmeerimiskursustele, nagu "algoritmid ja andmestruktuurid", "süsteemprogrammeerimine", "objektorienteeritud programmeerimine" jms. Baaskeelena kasutatakse Javat, vältides samas eriliselt Java-päraseid meetodeid, teeke jms. Praktikumides loodavad rakendused on reeglina käsurea ja omaette akendega rakendused, mitte apletid.  
ITK: kursus lõpeb ARVESTUSEGA. Arvestus on kirjalik, kaks või enam tundi, kümme küsimust ja ülesannet.


== Eksamid ja arvestused ==
== Õpik ==


TTÜ eestikeelsete gruppide '''lõplikud''' tulemused peale põhi- ja järeleksameid sessi jooksul on kättesaadavad [[Media:www_itsisseksamjan05.html|selle lingi alt]].
tasuta e-book:
David Eck, Introduction to Programming Using Java , version 4.1, 2004
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes4.pdf)


NB! Järgmine järeleksam toimub kevadsemestri teisel poolel, info aja/koha kohta ilmub veebruaris või märtsis siia lehele.
Kursus jätab käsitlemata mõned osad õpikust, kuid lisab õpikule mitmeid täiendavaid peatükke ja osi. Viited vajalikele peatükkidele ja täiendavatele materjalidele on kas juba võrgus antud või lisatakse võrku loengute käigus.


Tehnikaülikoolis, eestikeelsed grupid:
NB! Raskuste ja probleemide korral on soovitav iseseisvalt lugeda läbi kogu David Ecki raamat ja teha iga peatüki juures mõned iseseisvad harjutused (raamatus on toodud ka näitelahendused).


* Konsultatsioon: neljapäev, 16. dets. kell 14.00 ruumis VI-229
Käesoleva lehe lõpuosas on antud ka täiendavaid lugemismaterjale.  
* 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:
== Praktikumiülesanded ja tähtajad ==


* Põhieksam 1: kolmapäev, 05. jaan. kell 17.30 ruumis III-103
Tutvustusülesanne: tutvustus.txt.  
* Põhieksam 2: laupäev, 08. jaan. kell 10.00 ruumis IV-103
NB! Tutvustusülesannet ei juhendata ega kontrollita. See tuleks iseseisvalt ära teha esimese õppetöö nädala jooksul.
* Järeleksam: kolmapäev, 12. jaan. kell 17.30 ruumis III-103


IT Kolledzhis:
  1. Esimene rakendus: tikumäng, ainult tekstiliides. Tähtaeg: 24. september.
  2. Tekstifailidest mikroandmebaas, ainult tekstiliides. Tähtaeg: 22 oktoober.
      See on ülesande lõplik versioon.
  3. GUI-ga võrgurakendus (http-d kasutav klient). Tähtaeg: 19. november
      See on ülesande lõplik versioon.
  4. Connect-four mäng (otsing mängupuust) koos statistikaga. Tähtaeg: 17. detsember
      NB! See on ülesande lõplik versioon.


* Põhiarvestus 1: teisipäev, 14. dets kell 18.00 ruumis 211 ja 218
NB! Arvesta järgmist:
* Põhiarvestus 2: kolmapäev, 15. dets kell 14.00 ruumis 211


== Kursuse eesmärk ==
    * Eksamile pääsemiseks peavad olema sooritatud vähemalt kolm neljast praktikumi-ülesandest.
    * Juhul, kui üks neljast ülesandest jääb realiseerimata, saab selle eest eksamil 10 trahvipunkti (eksami maksimumpunktid on 100)
    * Iga hilinenud ülesanne annab 5 trahvipunkti.
    * Pärast 17. detsembrit ei aktsepteerita enam ühtegi ülesannet.
    * Iga ülesanne tuleb programmeerida iseseisvalt ja näidata praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!
    * Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.


* Anda kokkusurutud ülevaade informaatikast tervikuna.
Praktikumide vahetulemused hakkavad semestri jooksul siia lehele ilmuma, kuid märgatava viivitusega.
* 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 ==
== 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.  
; 1. Sissejuhatus : Programmeerimine ja arvuti tööpõhimõtted.  
:Loengumaterjal: [[Media:itsissejuhatus1o.PPT|itsissejuhatus1o.PPT]], [[Media:itsissejuhatus1o.pdf|itsissejuhatus1o.pdf]].
:Loengumaterjal: [[Media:itsissejuhatus1o.PPT|itsissejuhatus1o.PPT]], [[Media:itsissejuhatus1o.pdf|itsissejuhatus1o.pdf]].
:Lisaks: loe juttu ja mängi andmete esitamise appletiga siin.  
:Lisaks: loe juttu ja mängi andmete esitamise appletiga siin.  
; 2. Varane ajalugu : Industrialiseerimine. Teoreetilised alused. Loogika.
:Loengumaterjal: [[Media:itsissejuhatus2o.PPT|itsissejuhatus2o.PPT]], [[Media:itsissejuhatus2o.pdf|itsissejuhatus2o.pdf]].
:Lisaks:
:* algus-1945: [http://www.maxmon.com/history.htm A history of computers]
:* Alustada: [[Media:loogikasissejuhatus_raamat.html|Loogika aine ja ajalugu]]
; 3. Keskajalugu : II maailmasõda kuni kuuekümnendate algus. Arvutid ja programmeerimine. Keeled ja rakendused. Integraalskeemid.
:Loengumaterjal: [[Media:itsissejuhatus3o.PPT|itsissejuhatus3o.PPT]], [[Media:itsissejuhatus3o.pdf|itsissejuhatus3o.pdf]].
:Lisaks:
:* Eck intro lab: [http://math.hws.edu/TMCM/java/labs/DataRepsLab.html data reps].
:* Eck lab: [http://math.hws.edu/TMCM/java/labs/xTuringMachineLab.html Turing machines].
:* Loe ka: Polsson ning a history of computers (vt viidad allpool)
; 4. Keskajalugu jätkub: seitsmekümnendate lõpp, kaheksakümnendate algus. Mikroprotsessorid ja personaalarvutid.
:Loengumaterjal: [[Media:itsissejuhatus4o.PPT|itsissejuhatus4o.PPT]], [[Media:itsissejuhatus4o.pdf|itsissejuhatus4o.pdf]].
; 5. Lähiajalugu: kaheksakümnendad. IBM PC, Macintosh, uued vanad opsüsteemid. Spetsiaalarvutid, workstationid, oluline soft.
:Loengumaterjal:
:Loengumaterjal, esimene osa: [[Media:itsissejuhatus5o.PPT|itsissejuhatus5o.PPT]], [[Media:itsissejuhatus5o.pdf|itsissejuhatus5o.pdf]].
:Loengumaterjal, teine osa: [[Media:itsissejuhatus5Ao.PPT|itsissejuhatus5Ao.PPT]], [[Media:itsissejuhatus5Ao.pdf|itsissejuhatus5Ao.pdf]].
:* Lisaks: Apple Macintoshi reklaamfilm:
:** [http:/materjalid/itsissejuhatus/apple_1984.mpeg Väike mpeg variant]
:** [http:/materjalid/itsissejuhatus/apple_1984.mov Suur quicktime variant]
; 6. Kaheksakümnendate lõpp kuni kaasaeg: Kokkuvõtted saagadest.
:Loengumaterjal: [[Media:itsissejuhatus6o.PPT|itsissejuhatus6o.PPT]], [[Media:itsissejuhatus6o.pdf|itsissejuhatus6o.pdf]].
:Lisaks:
:* Alustada: [[Media:teejuhtvorgundus_raamat.html |"Teejuht võrgumeediasse"]] toorik.
:* Tutvu: [http:/materjalid/itsissejuhatus/itsissejuhatus_eestiajalugu.ppt J.Penjami lühiülevaade Eestis tehtud ja olnud varastest arvutitest]
; 7. Arvuti tööpõhimõtted, programmeerimiskeeled.
:Loengumaterjal: [[Media:itsissejuhatus7o.PPT|itsissejuhatus7o.PPT]], [[Media:itsissejuhatus7o.pdf|itsissejuhatus7o.pdf]].
:Lisaks:
:* Veidi tutvuda nende saitidega:
:** http://www.mkdata.dk/click/
:** [http://www.tomshardware.com/ Tom's hardware guide]
:* D.Eck, osad siit: [http://math.hws.edu/TMCM/java/index.html Eck laborid] (siit saad võtta [http://math.hws.edu/TMCM/java/DownloadingAndInfo.html eraldi rakendusena]). NB! Loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab1.html Logic circuits]
:** [http://math.hws.edu/TMCM/java/labs/xLogicCircuitsLab2.html Memory circuits]
;8. Progr. keeled jätkuvad. Operatsioonisüsteemid.
:Loengumaterjal: [[Media:itsissejuhatus8o.PPT|itsissejuhatus8o.PPT]], [[Media:itsissejuhatus8o.pdf|itsissejuhatus8o.pdf]].
:Lisaks: Eck laborid jätk: loe ise läbi, proovi ja tee igast osast üks-kaks harjutust:
:* [http://math.hws.edu/TMCM/java/labs/xComputerLab1.html xComputer]
:* [http://math.hws.edu/TMCM/java/labs/xComputerLab2.html xComputer assembly language]
:Soovitavat ja kohustuslikku lugemist:
:* Kohustuslik on esimene 1/4 pikast artiklist [[Media:commandlinebook.html|In the Beginning was the Command Line]]
:* Soovitav, kuid üldse mitte kohustuslik (algajatel raske mõista :-) [http://www.faqs.org/docs/artu/ The Art of Unix Programming]
;9. Tarkvara arhitektuur ja paradigmad.
:Loengumaterjal: [[Media:itsissejuhatus9o.PPT|itsissejuhatus9o.PPT]], [[Media:itsissejuhatus9o.pdf|itsissejuhatus9o.pdf]].
:Lisaks: Tutvuda:
:* [[Media:vabavara_ttriikanalyys.rtf|vabavara kasutamisest riigis]]
:* [[Media:Itsissejuhatus_freesoftwaresong.au.snd|Stallmani naljalaul]]
:* [[Media:itsissejuhatus.au.snd|Linus Linuxit hääldamas]]
;10. Võrgutarkvara paradigma. Interneti baastehnoloogia.
:Loengumaterjal: [[Media:itsissejuhatus10o.PPT|itsissejuhatus10o.PPT]], [[Media:itsissejuhatus10o.pdf|itsissejuhatus10o.pdf]].
:Lisaks: Tutvuda: http://www.w3schools.com/.
;11. Võrgutarkvara paradigma. Interneti rakenduste tehnoloogia.
:Loengumaterjal: [[Media:itsissejuhatus11o.PPT|itsissejuhatus11o.PPT]], [[Media:itsissejuhatus11o.pdf|itsissejuhatus11o.pdf]].
:Lisaks: Tutvuda lühidalt:
:* Greenspuni [http://philip.greenspun.com/panda/ Panda book]
:* [http://www.apache.org/ Apache]
:* Loengus toodud näiteid: [[Media:Itsissejuhatus_tiny.zip|Tiny www server]], [[Media:Itsissejuhatus_calc.html|kalkulaator]], ning [[Media: Itsissejuhatus_xmcssjscriptnaited.zip|css, javascript, XML ja XSL näited]]
 
;12. Rekursioon. Funktsionaalne ja loogiline programmeerimine.
:Loengumaterjal: [[Media:itsissejuhatus12o.PPT|itsissejuhatus12o.PPT]], [[Media:itsissejuhatus12o.pdf|itsissejuhatus12o.pdf]].
:Lisaks: Vaata ja proovi näiteid modifitseerida:
:* [http://math.hws.edu/TMCM/java/labs/xTurtleLab3.html Lihtsamad rekursiivsed pildid]
:* [http://math.hws.edu/TMCM/java/xTurtle/index.html Rekursiivsed pildid randomiga]
:Huvi korral installeeri ja proovi Prologi: [http://www.swi-prolog.org/ SWI Prolog].
;13. Algoritmid. Keerukus ja lahenduvus.
:Loengumaterjal: [[Media:itsissejuhatus13o.PPT|itsissejuhatus13o.PPT]], [[Media:itsissejuhatus13o.pdf|itsissejuhatus13o.pdf]].
:Lisaks: Huvi korral vaata [http://www.ttu.ee/it/vorgutarkvara/iti0010/Tsp.html TSP programmi Java lähtekoodi]
;14. Tehisintellekt.
:Loengumaterjal: [[Media:itsissejuhatus14o.PPT|itsissejuhatus14o.PPT]], [[Media:itsissejuhatus14o.pdf|itsissejuhatus14o.pdf]].
:Huvi korral loe [[Media:Aifilosoofia_ttmatrix.doc|Matrix, Skynet ja sõda teispoolsusega]], [http://www-formal.stanford.edu/jmc/whatisai/whatisai.html klassiku ülevaadet tehisintellektindusest], [http://ase.tufts.edu/cogstud/pubpage.htm Dennetti artikleid], [http://aima.cs.berkeley.edu/ tuntud õpikut], [http://www.cs.washington.edu/research/jair/home.html ajakirja JAIR].
 
;15. IT äri, IT projektid.
:Loengumaterjal: [[Media:itsissejuhatus15o.PPT|itsissejuhatus15o.PPT]], [[Media:itsissejuhatus15o.pdf|itsissejuhatus15o.pdf]].
:Lisaks: mitmed kohustuslikud artiklid, vt kas powerpointist või sellel lehel allpool, :kohustuslike lugemismaterjalide peatüki allosas.


== Harjutamist eksamiks/arvestuseks ==
== Harjutamist eksamiks/arvestuseks ==

Redaktsioon: 29. august 2005, kell 00:07

...ajalugu, suunad, põhialused, paradigmad, äri.

Ainekood: ITI0010
Eelmise aasta (2004 sügis) link: http://cs.ttu.ee/kursused/iti0010/

Lektor: Tanel Tammet
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223

Praktikumide läbiviijad, samuti praktikumiajad ja -arvutisaalid selguvad esimese õppetöönädala käigus.

Aeg, koht, tulemus

Loengud: Igal esmaspäeval kell 10.00-11.30, ruumis VII-131 (kohe fuajee kõrval)
Semestri teisel poolel (9. - 16. nädal) toimuvad loengud ruumis VI-229. Semester: sügis
Tulemus: kirjalik eksam, mille eelduseks ja üheks punktiosaks on praktikumiülesanded.
Punkte: 3.5
Eeldusaine: IAG3103 Informaatika II
Praktikum: kord nädalas a 2*45 minutit, AK arvutiklassides IT213. Rühmadel on erinevad ajad ja juhendajad.

Praktikumide läbiviijad, samuti praktikumiajad ja -arvutisaalid selguvad esimese õppetöönädala käigus.


Kursuse eesmärk

Õpetada programmeerimise aluseid ja tehnoloogiat üldiselt, eeldades kerget varasemat kokkupuutumist programmeerimisega vähemalt eeldusaine Informaatika II mahus. Rõhk on praktiliste kogemuste ja oskuste omandamisel: iseseisev töö praktikumis on olulisem, kui õpiku lugemine. Märgatava osa loenguaega kulutab lektor kohapeal ette-programmeerimiseks.

Kursus on sisuliselt (kuid mitte tingimata formaalselt) vajalik eeldus kõigile spetsiifilisematele programmeerimiskursustele, nagu "algoritmid ja andmestruktuurid", "süsteemprogrammeerimine", "objektorienteeritud programmeerimine" jms. Baaskeelena kasutatakse Javat, vältides samas eriliselt Java-päraseid meetodeid, teeke jms. Praktikumides loodavad rakendused on reeglina käsurea ja omaette akendega rakendused, mitte apletid.

Õpik

tasuta e-book:

David Eck, Introduction to Programming Using Java , version 4.1, 2004 (http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes4.pdf)

Kursus jätab käsitlemata mõned osad õpikust, kuid lisab õpikule mitmeid täiendavaid peatükke ja osi. Viited vajalikele peatükkidele ja täiendavatele materjalidele on kas juba võrgus antud või lisatakse võrku loengute käigus.

NB! Raskuste ja probleemide korral on soovitav iseseisvalt lugeda läbi kogu David Ecki raamat ja teha iga peatüki juures mõned iseseisvad harjutused (raamatus on toodud ka näitelahendused).

Käesoleva lehe lõpuosas on antud ka täiendavaid lugemismaterjale.

Praktikumiülesanded ja tähtajad

Tutvustusülesanne: tutvustus.txt. NB! Tutvustusülesannet ei juhendata ega kontrollita. See tuleks iseseisvalt ära teha esimese õppetöö nädala jooksul.

  1. Esimene rakendus: tikumäng, ainult tekstiliides. Tähtaeg: 24. september.
  2. Tekstifailidest mikroandmebaas, ainult tekstiliides. Tähtaeg: 22 oktoober.
     See on ülesande lõplik versioon.
  3. GUI-ga võrgurakendus (http-d kasutav klient). Tähtaeg: 19. november
     See on ülesande lõplik versioon.
  4. Connect-four mäng (otsing mängupuust) koos statistikaga. Tähtaeg: 17. detsember
     NB! See on ülesande lõplik versioon.

NB! Arvesta järgmist:

   * Eksamile pääsemiseks peavad olema sooritatud vähemalt kolm neljast praktikumi-ülesandest.
   * Juhul, kui üks neljast ülesandest jääb realiseerimata, saab selle eest eksamil 10 trahvipunkti (eksami maksimumpunktid on 100)
   * Iga hilinenud ülesanne annab 5 trahvipunkti.
   * Pärast 17. detsembrit ei aktsepteerita enam ühtegi ülesannet.
   * Iga ülesanne tuleb programmeerida iseseisvalt ja näidata praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!
   * Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.

Praktikumide vahetulemused hakkavad semestri jooksul siia lehele ilmuma, kuid märgatava viivitusega.


Loengute plaan ja materjalid

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: itsissejuhatus1o.PPT, itsissejuhatus1o.pdf.
Lisaks: loe juttu ja mängi andmete esitamise appletiga siin.

Harjutamist eksamiks/arvestuseks

Tee iseseisvalt vanad eksamid:

Kohustuslikud lugemismaterjalid

Järgnevate materjalide läbilugemine on kursuse läbimisel kohustuslik.

Väga kasulikud lugemismaterjalid: loe neid!

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: [http:/materjalid/csapp.beta.11.16.pdf Computer Systems: a programmers perspective] toorikvariant.
  • 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 :-)