Süsteemprogrammeerimine keeles C (2010): erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
 
(ei näidata sama kasutaja 76 vahepealset redaktsiooni)
1. rida: 1. rida:
{{itv0020}}
Aine kood: '''itv0020'''<br/>
Aine kood: '''itv0020'''<br/>
Link: [http://lambda.ee/index.php/Süsteemprogrammeerimine_keeles_C http://lambda.ee/index.php/Süsteemprogrammeerimine_keeles_C] [http://www.lambda.ee/index.php/itv0020 http://www.lambda.ee/index.php/itv0020]<br/>
Link: [http://lambda.ee/index.php/Süsteemprogrammeerimine_keeles_C http://lambda.ee/index.php/Süsteemprogrammeerimine_keeles_C] [http://www.lambda.ee/index.php/itv0020 http://www.lambda.ee/index.php/itv0020]<br/>
4. rida: 5. rida:
Kontakt: jaagup.irve@ttu.ee, 56463800, tuba IT-222<br/>
Kontakt: jaagup.irve@ttu.ee, 56463800, tuba IT-222<br/>


== Loengud ==
== Süsteemprogrammeerimisest 2012 ==


1. Sissejuhatus, muutujatest [[Pilt:Itv0020-01-sissejuhatus.pdf|PDF]]
Seoses aine üleminekuga magistriõppesse tuleb tänavu veidi ümberkorraldusi. Seetõttu võib allpool nähtavast oodata teatud hälbimist, mida hetkel on raske ette ennustada.
 
== Loengud 2010 ==
 
* [[Meedia:itv0020-loengud2010.zip|Kõik loengud .zip failina]]
 
1. Sissejuhatus, muutujatest [[Meedia:Itv0020-01-sissejuhatus.pdf|PDF]]
:Praktikum: [[Tutvumine keskkonnaga (itv0020)]]
:Praktikum: [[Tutvumine keskkonnaga (itv0020)]]
2. Standardsisend-väljund, tüübiteisendused, massiivid ja pointerid. [[Meedia:Itv0020-02-standardväljund-sisend-teisendused-char-massiiv-pointer.pdf|PDF]]
:Praktikum: [[Makefile, sisend, teisendused, massiivid, pointerid (itv0020)]]
3. Pointerite jätk, streamid, librad, preprotsessorist [[Meedia:Itv0020-03-pointer2-streamid-librad.pdf|PDF]]
:Praktikum: [[Leetspeak-tõlge (itv0020)]]
4. Preprotsessori makrodest. Pointeritest ja massiividest. Dünaamiline mäluhaldus. [[Meedia:Itv0020-04-makrod-pointerid-malloc.pdf|PDF]]
:Praktikum: [[Reeturite nimekiri (itv0020)]]
5. Dünaamilised ja staatilised massiivid, struktuurid, võtmesõnad const ja typedef; skoobid. [[Meedia:Itv0020-05 - massiivid struktuurid IO stringid const typedef skoobid.pdf|PDF]]
:Praktikum: [[5. praktikum - Dünaamiline massiiv, faili kirjutamine (itv0020)]]
6. Stringidest, listinäide, union, bitt-tehted.[[Meedia:Itv0020-06-listid_union_bititöötlus.pdf|PDF]]
:Praktikum. Tutvuge [http://vimeo.com/15558156 Huffmanni videoga], mis seletab Huffmani pakkimisalgoritmi.
7. Bitt-tehted, süsteemikäsud, failideskriptor (jäi pooleli). [[Meedia:Itv0020-07-failikasutus_õliselt.pdf|PDF]]
:Praktikum. [[7. praktikum - Bitt-tehted (itv0020)]]
8. Võrgundus [[Meedia:Itv0020-08-võrgundus.pdf|PDF]]
:Praktikum [[8. praktikum - Faili atribuudid (itv0020)]]
9. Protsessidest [[Meedia:Itv0020-09-mitu argumenti protsessid zombie deemon.pdf|PDF]]
:Praktikum [[9. praktikum - Võrgunduse alused (itv0020)]]
10. Signaalid, longjmp [[Meedia:Itv0020-10-signaalid longjmp make automake.pdf|PDF]]
:Praktikum '''Pakkija esitamine'''
11. Make, ''Thread'' [[Meedia:Itv0020-11-thread.pdf|PDF]]
:Praktikum: [[10. praktikum - fork ja exec (itv0020)|fork ja exec]]
12. Argumentide parsimine, Mälu. [[Meedia:Itv0020-12-argumendid mälu.pdf|PDF ]]
:Praktikum: [[11. praktikum - signaalid ja longjmp(itv0020)|signaalid ja longjmp]]
13. (lükkus edasi)
:Praktikum: [[12. praktikum - thread (itv0020)|Lõimed]]
14. Lõimed ja fork; signaalide strateegiad; debugimisest [[Meedia:itv0020-13-lisainfo lõimed-fork signaalid debugimisest.pdf|PDF]]
:Praktikum: [[13. praktikum - debugger (itv0020)|Silumine (debugger)]]
15. Tehete järjekord [[Meedia:itv0020-14-tehete järjekord.pdf|PDF]]
16. Kordamine [[Meedia:itv0020-15- kordamine.pdf|PDF]]; Eksamist [[Meedia:itv0020-15-eksamist.pdf|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 (itv0020)|Labor 1: Huffmanni algoritm]]
* [http://cs.ttu.ee/tiki-index.php?page=ITV0020%20Labor%202 Labor 2: primitiivne ftp]
=== 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.
== Praktikumid ==
* [[1. praktikum - Tutvumine keskkonnaga (itv0020)|Tutvumine keskkonnaga]]
* [[2. praktikum - Makefile, sisend, teisendused, massiivid, pointerid (itv0020)|Makefile, sisend, teisendused, massiivid, pointerid]]
* [[3. praktikum - Leetspeak-tõlge (itv0020)|Leetspeak-tõlge]]
* [[4. praktikum - Reeturite nimekiri (itv0020)|Reeturite nimekiri]]
* [[5. praktikum - Dünaamiline massiiv, faili kirjutamine (itv0020)|Dünaamiline massiiv, faili kirjutamine]]
* [[7. praktikum - Bitt-tehted (itv0020)|Bitt-tehted]]
* [[8. praktikum - Faili atribuudid (itv0020)|Faili atribuudid]]
* [[9. praktikum - Võrgunduse alused (itv0020)|Võrgundus]]
* [[10. praktikum - fork ja exec (itv0020)|Fork ja exec]]
* [[11. praktikum - signaalid ja longjmp(itv0020)|signaalid ja longjmp]]


== Vaata ka ==
== Vaata ka ==


* [http://cslibrary.stanford.edu/101/ Essential C] - hea ülevaatlik õppematerjal
* [http://dontfearthecommandline.blogspot.com/ Introduction to the Command Line] - käsurea kasutamise juhised
* [http://stevelosh.com/blog/2010/09/coming-home-to-vim/ VIM programmeerijatele] - juhised VIMi kasutamiseks
* [http://cs.ttu.ee/tiki-index.php?page=ITV0020 Eelmise aasta leht]
* [http://cs.ttu.ee/tiki-index.php?page=ITV0020 Eelmise aasta leht]
=== Huvitavat ===
* [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 CERTi soovitus teatud tingimustes goto(!) kasutamiseks]
* [http://blog.regehr.org/archives/721 Interaktiivne test C keele andmetüüpide kohta]
[[Kategooria:itv0020]]

Viimane redaktsioon: 3. september 2012, kell 16:26

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

Süsteemprogrammeerimisest 2012

Seoses aine üleminekuga magistriõppesse tuleb tänavu veidi ümberkorraldusi. Seetõttu võib allpool nähtavast oodata teatud hälbimist, mida hetkel on raske ette ennustada.

Loengud 2010

1. Sissejuhatus, muutujatest PDF

Praktikum: Tutvumine keskkonnaga (itv0020)

2. Standardsisend-väljund, tüübiteisendused, massiivid ja pointerid. PDF

Praktikum: Makefile, sisend, teisendused, massiivid, pointerid (itv0020)

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

Praktikum: 5. praktikum - Dünaamiline massiiv, faili kirjutamine (itv0020)

6. Stringidest, listinäide, union, bitt-tehted.PDF

Praktikum. Tutvuge Huffmanni videoga, 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

Praktikum 8. praktikum - Faili atribuudid (itv0020)

9. Protsessidest PDF

Praktikum 9. praktikum - Võrgunduse alused (itv0020)

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

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.

Praktikumid

Vaata ka

Huvitavat