Programmeerimise põhikursus 2008: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
1. rida: 1. rida:
...ajalugu, suunad, põhialused, paradigmad, äri.
Ainekood: <b>ITI0010</b><br>
 
Ainekood: ITI0010<br>
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>


33. rida: 31. rida:
== Õpik ==
== Õpik ==


tasuta e-book:
Tasuta e-book:
David Eck, Introduction to Programming Using Java , version 4.1, 2004
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)
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes4.pdf)
48. rida: 46. rida:
NB! Tutvustusülesannet ei juhendata ega kontrollita. See tuleks iseseisvalt ära teha esimese õppetöö nädala jooksul.
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.
1. Esimene rakendus: tikumäng, ainult tekstiliides. Tähtaeg: 24. september.
  2. Tekstifailidest mikroandmebaas, ainult tekstiliides. Tähtaeg: 22 oktoober.
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
  3. GUI-ga võrgurakendus (http-d kasutav klient). Tähtaeg: 19. november
4. Mõtlemismäng (otsing mängupuust) koos statistikaga. Tähtaeg: 17. detsember
      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:
NB! Arvesta järgmist:


    * Eksamile pääsemiseks peavad olema sooritatud vähemalt kolm neljast praktikumi-ülesandest.
* 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)
* Juhul, kui üks neljast ülesandest jääb realiseerimata, saab selle eest eksamil 10 trahvipunkti (eksami maksimumpunktid on 100)
    * Iga hilinenud ülesanne annab 5 trahvipunkti.
* Iga hilinenud ülesanne annab 5 trahvipunkti.
    * Pärast 17. detsembrit ei aktsepteerita enam ühtegi ülesannet.
* 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!
* 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.
* Ü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.
Praktikumide vahetulemused hakkavad semestri jooksul siia lehele ilmuma, kuid märgatava viivitusega.
76. rida: 71. rida:
:Lisaks: loe juttu ja mängi andmete esitamise appletiga siin.  
:Lisaks: loe juttu ja mängi andmete esitamise appletiga siin.  


== Harjutamist eksamiks/arvestuseks ==
Tee iseseisvalt vanad eksamid:
* [[Media:itsissejuhatus_eksamnaide1.pdf|vana eksam 1]]
* [[Media:itsissejuhatus_eksamnaide2.pdf|vana eksam 2]]
* [[Media:itsissejuhatus_eksamnaide3.pdf|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): [http://www.maxmon.com/history.htm Bebop BYTES Back]
* Ajalugu 1945-1990 (piisab kiirest läbivaatamisest, vajalik materjal loengutes): [http://www.computerhistory.org/timeline/ The Computer Museum].
* [http://cs.ttu.ee/kursused/itv0010/elcomphist/index.htm Ajalugu 1947-1999] (see ei ole otseselt kohustuslik): autor Ken Polsson.
* Vana jutt infoühiskonnast: T.Tammet 1995-1996: [[Media:teejuhtvorgundus_raamat.html |"Teejuht võrgumeediasse"]] toorik.
* Elektroonilisest demokraatiast ja riigist:
** T.Tammet, 2001: [[Media:Ttevalimisteanalyys24oct.doc|E-valimiste analüüs]]
* Loogika ainest ja ajaloost: T.Tammet: [[Media:Loogikasissejuhatus_raamat.html|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 [[Media:Commandlinebook.html| 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:
** 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 kord nädalas materjale: http://www.joelonsoftware.com
* [http://catb.org/~esr/jargon Jargon leksikon ja the New Hacker's Dictionary].
* [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ The cathedral and Bazaar]
* [http://www.gnu.org/philosophy/ Gnu manifestid]
* [http://math.hws.edu/TMCM/java/index.html 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 :-) [http://www.faqs.org/docs/artu/ The Art of Unix Programming]
* Loe läbi väga lõbus ja hariv raamat: Philip Greenspuni [http://philip.greenspun.com/panda/ Guide to Web Publishing]. Kui meeldis, uuri järgi, mida Greenspun veel teeb (sh loe teisi raamatuid ka) ja [http://www.waxy.org/random/arsdigita/ kuidas sündis ja suri tema kuulus firma].
* Vaata, mis võrgust (loodetavasti) edaspidi saab: [http://www.w3.org/2001/sw/Activity 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 [http://www.ttu.ee/it/gandalf/ Gandalf] installeerida (Unix või Windows+[http://www.cygwin.com/ cygwin]) ja mängi sellega. Proovi ka [http://www-unix.mcs.anl.gov/AR/otter/ Otterit] (lihtsam, aga nõrgem klassikaline süsteem). Kuidas, loe [http://www-unix.mcs.anl.gov/AR/otter/ siit] ja [http://www.cs.miami.edu/%7Etptp/OverviewOfATP.html siit] ja [http://www-2.cs.cmu.edu/%7Efp/courses/atp/handouts.html siit].
* Tee omal käel ette läbi terve [http://cs.ttu.ee/kursused/iti0010/ programmeerimise põhikursus] (peaasi: tee kõik harjutustööd: programmeerimise õppimiseks ainus viis on palju programmeerida :-)
* [http://webster.cs.ucr.edu/ Õpi assembleris programmeerima] (üpris ebapraktiline oskus, aga hästi hariv :-)


[[Category:Kursus]]
[[Category:Kursus]]

Redaktsioon: 29. august 2005, kell 00:10

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. 3. GUI-ga võrgurakendus (http-d kasutav klient). Tähtaeg: 19. november 4. Mõtlemismäng (otsing mängupuust) koos statistikaga. Tähtaeg: 17. detsember

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.