Programmeerimise erikursus

Allikas: Kursused
Redaktsioon seisuga 4. veebruar 2014, kell 03:32 kasutajalt Ago (arutelu | kaastöö) (→‎Uudised ja teated)
Mine navigeerimisribale Mine otsikasti

Uudised ja teated

Esimene tutvustav loeng toimub 6. veebruaril (neljapäev) kell 13.45 ruumis ICT-411.

Aine parameetrid

Nimetus: Programmeerimise erikursus
Kontakt: itv0101 [at] cs.ttu.ee
Kood: ITV0101
Maht: 5,0 EAP
Eksami vorm: hindeline arvestus
Tunde: 2x1,5h nädalas
Kodused ülesanded: jagub
Boonus: läbirääkimiste tulemusena on võimalus antud ainega asendada mõni muu programmeerimise aine, nagu Informaatika II (IDK0031), Programmeerimise põhikursus (ITI0011) või Algoritmid ja andmestruktuurid (ITI0050). See tuleb aga kooskõlastada õppekava juhendajaga individuaalselt.

Täpsem jooksev info: http://prog.vertical.ee

Kursuse formaat

Iga nädal saab olema 2x1,5h tundi järjest, mis sisaldavad suuremas osas praktilist ülesannete lahendamist. Laias laastus on tundide ülesehitus järgmine:

   üle nädala algoritmide tutvustus ja vajadusel koduste ülesannete arutamine ja selgitamine
   ülesannete lahendamine tunnis: iga kord peaks tunnis ära tegema 2-3 lihtsamat ülesannet
   kui tunniülesandeid valmis ei saa, tuleb need kodus ära teha koos sama keerukusega lisaülesandega
   kodus lahendada valikuliselt 2-3 keerulisemat ülesannet etteantud ülesannete hulgast

Hinde saamine

Iga ülesande lahendamine annab mingi koguse punkte. Tunnis lahendatud ülesanded annavad rohkem punkte, kui hiljem kodus ära lahendatud ülesanded. Kui kodused ülesanded saavad lahendatud enne nende tunnis läbi arutamist, siis saab nende eest rohkem punke kui hiljem lahendatud. Iga kord antud ülesannetest on vaja lahendada kindel hulk, mis on ka arvestuse saamise eeldus. Ülesannete lahendamisest saadud punktid tagavad hinde. Palju ülesandeid tegelikult tuleb, sõltub paljuski üldisest tasemest.

Läbitavad teemad

Kursuse jooksul peaks vaatluse alla tulema erinevad algoritmid, andmestruktuurid ja võtted, mida saab kasutada ülesannete lahendamiseks.

Mõned näited:

  • graafid - laiuti ja sügavuti läbimine, lühemad teed, Disjkstra algoritm
  • permutatsioonid ja rekursioon
  • dünaamiline programmeerimine
  • ahne algoritm
  • backtracking
  • sortimine ja otsimine
  • biti taseme operatsioonid
  • stringitöötlus
  • massiivid, mitmemõõtmelised massiivid, stackid, paisktabelid
  • ahelad, puud, kuhjad