Difference between revisions of "LU-LSP-b11"
Line 14: | Line 14: | ||
==== '''Precizēti''' praktisko darbu vērtēšanas kritēriji ==== |
==== '''Precizēti''' praktisko darbu vērtēšanas kritēriji ==== |
||
* No kursa kopējā vērtējuma 20% var saņemt par praktiskajiem darbiem |
* No kursa kopējā vērtējuma 20% var saņemt par praktiskajiem darbiem |
||
* 50% no šiem 20% - par piedalīšanos (iesūtīšanu). Ietilpst tajos 10% no kursa kopējā vērtējuma, kas ir “dalība klasē” |
* 50% no šiem 20% - par piedalīšanos ('''sava''' risinājuma iesūtīšanu). Ietilpst tajos 10% no kursa kopējā vērtējuma, kas ir “dalība klasē” |
||
* 50% - par izpildes kvalitāti. Ietilpst tajos 40% no kursa kopējā vērtējuma, kas ir “par MD un PD” |
* 50% - par izpildes kvalitāti. Ietilpst tajos 40% no kursa kopējā vērtējuma, kas ir “par MD un PD” |
||
Line 27: | Line 27: | ||
Piemērs: |
Piemērs: |
||
* Students iesniedz par 80% pareizu uzdevuma risinājumu PD nodarbības pēdējā minūtē |
* Students iesniedz savu, par 80% pareizu uzdevuma risinājumu PD nodarbības pēdējā minūtē |
||
* Saņem 100%/100% par piedalīšanos un 80% * (0.75) = 60% par darba kvalitāti |
* Saņem 100%/100% par piedalīšanos un 80% * (0.75) = 60% par darba kvalitāti |
||
* Kopā saņem 1.6 no 2 punktiem par attiecīgo PD |
* Kopā saņem 1.6 no 2 punktiem par attiecīgo PD |
Revision as of 15:13, 20 September 2011
Linux sistēmu programmēšana (LSP)
LU DF bakalaura studiju kurss DatZ3122, meklēt eStudijās.
- Pasniedzējs: Leo Seļāvo (epasts: vards.uzvards @ gmail.com)
- Asistents: Atis Elsts (epasts: vards.uzvards @ gmail.com)
- Vēstkopa komunikācijai par kursa aktualitātēm, uzdevumiem, termiņiem un problēmām:
- Google grupa lu-lsp-b@googlegroups.com Lai pieteiktos, sekot http://groups.google.lv/group/lu-lsp-b un pieslēgties ar savu google kontu, vai arī sūtīt epastu pasniedzējam.
- Vērtējums = 40% mājas un praktiskie darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens).
Praktisko un mājas darbu iesniegšana izpildāma noteiktajos datumos un laikos elektroniski, e-studijās.
- Iesniegšanas termiņa laiks ir 30 minūtes pirms lekcijas sākuma.
- Iesniegto failu vārdam jābūt sekojošā formātā, ar _svītru tukšumu vietā, piemēram: "LSP_MD1_Vards_Uzvards.pdf"
- Ja iesniedzams teksts, piemēram, eseja vai apraksts, tad failam jābūt PDF formātā, ja vien nav prasīts citādi uzdevuma nosacījumos.
- Ja iesniedzami vairāki faili, piemēram, programmas pirmkods, tad tie iepriekš arhivējami kā *.zip arhīvs ar tādu pat faila vārdu kā aprakstīts iepriekš: "LSP_MD1_Vards_Uzvards.zip".
- Ja darbs tiek iesniegts ar novēlošanos, rezultāts tiek samazināts par 50%. Ja darbs iesniegts vairāk kā nedēļu pēc termiņa, pasniedzējs darbu var nepieņemt.
Precizēti praktisko darbu vērtēšanas kritēriji
- No kursa kopējā vērtējuma 20% var saņemt par praktiskajiem darbiem
- 50% no šiem 20% - par piedalīšanos (sava risinājuma iesūtīšanu). Ietilpst tajos 10% no kursa kopējā vērtējuma, kas ir “dalība klasē”
- 50% - par izpildes kvalitāti. Ietilpst tajos 40% no kursa kopējā vērtējuma, kas ir “par MD un PD”
Līdz ar to, par mājasdarbiem kopā tiek saņemts 30% no kursa kopējā vērtējuma
Praktisko darbu iesūtīšanas termiņi
- Lekcijas beigās risinājums tiek apskatīts publiski!
- Praktiskos darbos drīkst nepildīt klasē, bet:
- Par novēlotu iesūtīšanu (lekcijas laikā): -25% no vērtējuma
- Par novēlotu iesūtīšanu (tajā pašā vakarā): -50% no vērtējuma
- “vakars” tiek definēts līdz 5:00 nākošās dienas rītā
Piemērs:
- Students iesniedz savu, par 80% pareizu uzdevuma risinājumu PD nodarbības pēdējā minūtē
- Saņem 100%/100% par piedalīšanos un 80% * (0.75) = 60% par darba kvalitāti
- Kopā saņem 1.6 no 2 punktiem par attiecīgo PD
Kalendārs
Datums, nedēļa | Kursa saturs | Uzdevumi |
---|---|---|
06.09.2011. |
Ievads kursā. Unix un Linux operētājsistēmu pamatkoncepcijas un vēsture. Linux sistēmprogrammētaja rīki (shell, gcc, make, manpages u.c.) |
Uzdots MD0 mājas darbs - programmēšanas stils. |
13.09.2011. |
Vispārīgs pārskats par valodu C. |
Uzdots MD1 mājas darbs. |
20.09.2011. | Mājasdarba #1 analīze. Datu struktūras un algoritmi valodā C. Hash tabulas. |
|
xx.xx.2011. | Failu ievada un izvada ātrdarbība ņemot vēra sistēmas arhitektūru. Sistēmas izsaukumi faila ievadam un izvadam. Ātra "cat" sistēmprogrammas realizācija. Programma, procesi, lietotāja un grupas ID. Signāli. "echo" programmas koda analīze. | |
xx.xx.2011. | Faila izmēra noteikšana. Failu saites, stingrās un vājās (hard links, soft links). Failu glabāšana un pieeja operētājsistēmā. I-nodes. Sistēmas izsaukums stat(). Direktoriju struktūra. Izsaukumi opendir(), readdir() un closedir(). | |
xx.xx.2011. | Programma rakstīšanai log failā. Log faili. Ekskluzīva rakstīšana ar open(...O_SYNC) un fcntrl() metodēm. Faila piekļuves tiesību režīmi pie open() un umask. Failu un i-node izsaukumi: chmod(), link(), unlink(), remove(), rename(), symlink(), readlink(), utime(), mkdir(), rmdir(), chdir(), getcwd(). | |
xx.xx.2011. |
Atmiņas arhitektūra. Virtuālā atmiņa. TEXT, DATA, HEAP un STACK segmenti. Koplietošanas atmiņa starp procesiem. Procedūru izsaukumi. Parametru nodošana caur steku. Steka satura analīze un piekļuve stekam. |
|
xx.xx.2011. | Vidus semestra kontroldarbs. | |
xx.xx.2011. | Dinamiska atmiņas izdalīšana. Heap, malloc() un free(). Dienesta informacija pie atmiņas izdalīšanas un atbrīvošanas. Brīvas atmiņas saraksti. Prasības malloc() in free() veiktspējai. | |
xx.xx.2011. |
|
|
xx.xx.2011. | Daudz-uzdevumu vide. Wait() un Exec(). System(). | |
xx.xx.2011. | Klienta un servera arhitektūra. Sockets. Komunikācija starp nesaistītiem procesiem. Daudzlietotāju sistēmas (spēles) arhitektūra). | |
xx.xx.2011. | Serveri, iteratīvie un paralēlie. Klienta programmatūra un tas īpašības. Signāli. Alarm serviss un signāls. Procesa ielādēšana, uzsākšanās un pieci veidi kā process var beigties. exit() un _exit(). | Kursa projekta definēšana. |
xx.xx.2011. | Darbs pie projekta. | |
xx.xx.2011. | Pavedieni. | |
24.12.2011. - 01.01.2012. | Ziemassvētku un Jaungada brīvdienas |
|
xx.01.2012. | Eksāmens |
|
Mājas darbi
Literatūra
- Advanced Programming in the UNIX(R) Envoronment, Second Edition, by W. Richard Stevens, Stephen A. Rago. Addison Wesley Professional, 2005, ISBN 0-201-43307-9. (Indiešu eksemplāram ir ISBN 81-317-0005-4)
- "Linux system programming" by Robert Love, O'Reilly Media, 2007, ISBN 0596009585
- Advanced Linux Programming by CodeSourcery LLC,
- "Building Embedded Linux Systems" O'Reilly Media, 2008, ISBN 0596529686
Saites
- 2010. gada kurss Linux kodola programmēšana
- Programming in C: A Tutorial (by Brian W. Kernighan)
- Gnu make dokumentācija
- Tipiskas unix direktoriju hierarhijas īss apraksts.
- Sockets:
- Programming IP Sockets on Linux (tutorial)
- Berkeley sockets (Wikipēdija)
- http://www.hiraeth.com/alan/tutorials/courses/unixprog.html
- http://lkml.org/
- The Linux Kernel Module Programming Guide
Atziņas
- Teach yourself programming in 10 years by Peter Norvig