Süsteemprogrammeerimine keeles C
Allikas: Lambda
| Süsteemprogrammeerimine keeles C |
|
Praktikumid
Laborid
|
Aine kood: itv0020
Link: http://lambda.ee/index.php/Süsteemprogrammeerimine_keeles_C http://www.lambda.ee/index.php/itv0020
Õppejõud: Jaagup Irve
Kontakt: jaagup.irve@ttu.ee, 56463800, tuba IT-222
Loengud: esmaspäeviti 16:00 X-212
Praktikumid: teisipäeviti 12:00 ja 14:00 IT-213E,I
| Sisukord |
Kevadised eksamid
Kevadel toimub eksam teisipäeval, 17ndal jaanuaril kell 10:00 ruumis IT-137a. Registreeruge õppeinfosüsteemis.
Loengud
1. Sissejuhatus, muutujatest PDF
- Praktikum: Tutvumine keskkonnaga (itv0020)
2. Standardsisend-väljund, tüübiteisendused, massiivid ja pointerid. PDF
3. Pointerite jätk, streamid, librad, preprotsessorist PDF
- Praktikum: Leetspeak-tõlge (itv0020)
4. Preprotsessori makrodest. Pointeritest ja massiividest. Dünaamiline mäluhaldus. PDF
- Praktikum: Reeturite nimekiri (itv0020)
5. Dünaamilised ja staatilised massiivid, struktuurid, võtmesõnad const ja typedef; skoobid. PDF
6. Stringidest, listinäide, union, bitt-tehted.PDF
- Praktikum. Tutvuge Huffmanni videoga (http://vimeo.com/15558156), mis seletab Huffmani pakkimisalgoritmi.
7. Bitt-tehted, süsteemikäsud, failideskriptor (jäi pooleli). PDF
- Praktikum. 7. praktikum - Bitt-tehted (itv0020)
8. Võrgundus PDF
9. Protsessidest PDF
10. Signaalid, longjmp PDF
- Praktikum Pakkija esitamine
11. Make, Thread PDF
- Praktikum: fork ja exec
12. Argumentide parsimine, Mälu. PDF
- Praktikum: signaalid ja longjmp
13. (lükkus edasi)
- Praktikum: Lõimed
14. Lõimed ja fork; signaalide strateegiad; debugimisest PDF
- Praktikum: Silumine (debugger)
15. Tehete järjekord PDF
16. Kordamine PDF; Eksamist PDF
Laborid
Eksamile pääsemise eelduseks on vähemalt ühe labori edukas kaitsmine. Labor on 10 punkti + lisapunkte varem esitamise eest ja/või eriti toredate lahenduste eest. Programmivead ja lohakus võtab punkte vähemaks. Alla 5 punkti labori eest ei saa, sest siis kannatab hinne ja töö on kah liiga kehvasti tehtud.
Tähtajad
Esimese labori tähtaeg on 2. november.
Teise labori tähtaeg detsembri keskel. Iga nädal hilinemist kahandab hinnet ühe võrra (max 3p). Laboreid saab kaitsta hiljemalt eksamile eelneval reedel (ja sisuliselt kogu deklaratsiooni kehtimise aja).
Varasemad laborikirjeldused
- Labor 1: Huffmanni algoritm
- Labor 2: primitiivne ftp (http://cs.ttu.ee/tiki-index.php?page=ITV0020%20Labor%202)
Plagiaat
Seoses laborite keskmisest keerulisemaks osutumisega kiputakse töid kopeerima (ja ümber kirjutama). See on kergesti tuvastuv. Plagieeritud tööd ei arvestu. Sõltuvalt jultumusest on traditsiooniline karistus deklaratsiooni tühistamine. Kui tutvute TTÜ eetikakoodeksiga, võite sealt lugeda, et on olemas ka akadeemiline kohus, mis võib ka eksmatrikuleerida.
Vaata ka
- Essential C (http://cslibrary.stanford.edu/101/) - hea ülevaatlik õppematerjal
- Introduction to the Command Line (http://dontfearthecommandline.blogspot.com/) - käsurea kasutamise juhised
- VIM programmeerijatele (http://stevelosh.com/blog/2010/09/coming-home-to-vim/) - juhised VIMi kasutamiseks
- Eelmise aasta leht (http://cs.ttu.ee/tiki-index.php?page=ITV0020)
Huvitavat
- CERTi soovitus teatud tingimustes goto(!) kasutamiseks (https://www.securecoding.cert.org/confluence/display/seccode/MEM12-C.+Consider+using+a+Goto-Chain+when+leaving+a+function+on+error+when+using+and+releasing+resources)

