Programmeerimise erikursus
Uudised ja teated
Esimene sisuline loeng toimub 13. veebruaril (neljapäev) kell 14.00 ruumis ICT-404.
Edaspidised tunnid toimuvad arvatavasti neljapäeviti kell 16.00. Täpsustame 13. veebruaril selle üle.
Tunni toimumise kohta täitke ära sobivad ajad. Kuupäevi pole vaja vaadata, jälgiga nädalapäeva. E-N on valida igal päeval kaks aega 14:00 - 17:00 ja 16:00 - 19:00. Reedel jäi valikusse vaid 14:00 - 17:00. http://doodle.com/rgzwgsfyaf4qdyai
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
Kursusel osalemiseks
Kursusel osalemiseks:
- registreeru ülesannete lahendamise lehel: http://uva.onlinejudge.org/
- registreeru kursuse foorumis (kogu jooksev info hakkab sinna ilmuma): http://prog.vertical.ee
- deklareeri aine ÕIS-is
- saada email: itv0101@cs.ttu.ee:
- nimi
- matrikkel, rühm
- uva kasutajanimi
- foorumi kasutajanimi
- proovi lahendada ära paar ülesannet järgmistest:
Kui nimetatud ülesannetest ei õnnestu ühtegi automaatsest testmootorist läbi saada, siis proovi need vähemalt ära programmeerida endale sobivad keeles.
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 ülesanne annab kuni 3 punkti. Tunnis antud ülesannete puhul samal päeval lahendatud ülesanne annab kuni 3 punkti. Ühe kuu jooksul esitatud ülesanne annab kuni 2 punkti, hilisem esitamine annab 1 punkti. Koduste ülesannetega kehtib sarnane loogika: tähtajaks lahendatud ülesanne annab kuni 3 punkti, kuni kuu hiljem annab ülesande lahendamine 2 punkti, hiljem 1 punkt. Punktid liidetakse kokku ja on määravad lõpphinde saamisel.
Kõik ülesanded kaitstakse tunnis õppejõule.
Kokku antakse tunnis ja kodus kokku umbes 20 (N) ülesannete valikut (ühes tunnis antud ülesanded moodustavad ühe valiku, ühe nädala kodused ülesanded moodustavad teise valiku jne; täpne ülesannete valikute arv selgub kursuse käigus ja sõltub sellest, kas mõni tund jääb riigipüha tõttu ära). Igast valikust peab tudeng lahendama vähemalt ühe ülesande.
Hinde "5" saamiseks peab lahendama ülesandeid vähemalt N - 1 valikust ja koguma vähemalt 70 punkti.
Hinne "4": ülesandeid vähemalt N - 3 valikust ja punktide summa 60.
Hinne "3": N - 5 valikut, 50p
Hinne "2": N - 7 valikut, 40p
Hinne "1": N - 9 valikut, 30p
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