Difference between revisions of "LU-LSP-b"
(→Kalendārs) |
(→Kalendārs) |
||
Line 43: | Line 43: | ||
=Kalendārs= | =Kalendārs= | ||
− | {| border=1 cellspacing=0 cellpadding=4 style = | + | {| border=1 cellspacing=0 cellpadding=4 style = 'border-color: #ddd;' |
|- | |- | ||
! Datums | ! Datums | ||
! Tēma, saturs | ! Tēma, saturs | ||
! Uzdevumi | ! Uzdevumi | ||
− | |- | + | |- style='vertical-align: top;' |
| | | | ||
====05.02.20==== | ====05.02.20==== | ||
Line 66: | Line 66: | ||
* '''Uzdots: [[LU-LSP-b:MD0 | MD0]] mājas darbs - programmēšanas stils - izlasīt un ņemt vērā turpmākajos darbos.''' | * '''Uzdots: [[LU-LSP-b:MD0 | MD0]] mājas darbs - programmēšanas stils - izlasīt un ņemt vērā turpmākajos darbos.''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====06.02.20==== | ====06.02.20==== | ||
Line 85: | Line 85: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====06.02.20==== | ====06.02.20==== | ||
Line 101: | Line 101: | ||
* '''Uzdots: [[LU-LSP-b:MD1 | MD1]] mājas darbs - dzimtas koks.''' | * '''Uzdots: [[LU-LSP-b:MD1 | MD1]] mājas darbs - dzimtas koks.''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====12.02.20==== | ====12.02.20==== | ||
Line 115: | Line 115: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====13.02.20==== | ====13.02.20==== | ||
Line 130: | Line 130: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====13.02.20==== | ====13.02.20==== | ||
Line 144: | Line 144: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====19.02.20==== | ====19.02.20==== | ||
Line 160: | Line 160: | ||
* '''Uzdots: [[LU-LSP-b:MD3 | MD3]] mājas darbs - direktoriju koka apstaigāšana.''' | * '''Uzdots: [[LU-LSP-b:MD3 | MD3]] mājas darbs - direktoriju koka apstaigāšana.''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====20.02.20==== | ====20.02.20==== | ||
Line 175: | Line 175: | ||
* '''Termiņš: [[LU-LSP-b:MD1 | MD1]]''' | * '''Termiņš: [[LU-LSP-b:MD1 | MD1]]''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====20.02.20==== | ====20.02.20==== | ||
Line 190: | Line 190: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====26.02.20==== | ====26.02.20==== | ||
Line 204: | Line 204: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====27.02.20==== | ====27.02.20==== | ||
Line 219: | Line 219: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====27.02.20==== | ====27.02.20==== | ||
Line 234: | Line 234: | ||
* '''Termiņš: [[LU-LSP-b:MD3 | MD3]]''' | * '''Termiņš: [[LU-LSP-b:MD3 | MD3]]''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====04.03.20==== | ====04.03.20==== | ||
Line 250: | Line 250: | ||
* '''Uzdots: [[LU-LSP-b:MD4 | MD4]] mājas darbs - atmiņas rezervācijas funkciju salīdzinājums.''' | * '''Uzdots: [[LU-LSP-b:MD4 | MD4]] mājas darbs - atmiņas rezervācijas funkciju salīdzinājums.''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====05.03.20==== | ====05.03.20==== | ||
Line 265: | Line 265: | ||
* '''Kontroldarbs KD1''' | * '''Kontroldarbs KD1''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====05.03.20==== | ====05.03.20==== | ||
Line 279: | Line 279: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====11.03.20==== | ====11.03.20==== | ||
Line 294: | Line 294: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====12.03.20==== | ====12.03.20==== | ||
Line 308: | Line 308: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====12.03.20==== | ====12.03.20==== | ||
Line 324: | Line 324: | ||
* '''Termiņš: [[LU-LSP-b:MD4 | MD4]]''' | * '''Termiņš: [[LU-LSP-b:MD4 | MD4]]''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====18.03.20==== | ====18.03.20==== | ||
Line 338: | Line 338: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====19.03.20==== | ====19.03.20==== | ||
Line 354: | Line 354: | ||
* '''Uzdots: [[LU-LSP-b:MD5 | MD5]] - atmiņas fragmentācijas algoritmu novērtējums ('''grupās''')''' | * '''Uzdots: [[LU-LSP-b:MD5 | MD5]] - atmiņas fragmentācijas algoritmu novērtējums ('''grupās''')''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====19.03.20==== | ====19.03.20==== | ||
Line 369: | Line 369: | ||
* '''Domāt kursa projekta tēmas!''' | * '''Domāt kursa projekta tēmas!''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====25.03.20==== | ====25.03.20==== | ||
Line 387: | Line 387: | ||
Katra grupa: lūdzu atsūtiet vienu e-pastu ar paredzamajiem dalībniekiem!''' | Katra grupa: lūdzu atsūtiet vienu e-pastu ar paredzamajiem dalībniekiem!''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====26.03.20==== | ====26.03.20==== | ||
Line 402: | Line 402: | ||
* '''Apspriežam kursa projekta tēmas''' | * '''Apspriežam kursa projekta tēmas''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====26.03.20==== | ====26.03.20==== | ||
Line 430: | Line 430: | ||
* '''Sākam diskutēt par protokolu''' - nākamajā lekcijā jānonāk līdz pirmajai protokola versijai!''' | * '''Sākam diskutēt par protokolu''' - nākamajā lekcijā jānonāk līdz pirmajai protokola versijai!''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====01.04.20==== | ====01.04.20==== | ||
Line 447: | Line 447: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====02.04.20==== | ====02.04.20==== | ||
Line 462: | Line 462: | ||
* '''Termiņš: Kursa projekta spēles noteikumi+uzmetums protokolam GoogleDoc dokumentā.''' | * '''Termiņš: Kursa projekta spēles noteikumi+uzmetums protokolam GoogleDoc dokumentā.''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====02.04.20==== | ====02.04.20==== | ||
Line 477: | Line 477: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====15.04.20==== | ====15.04.20==== | ||
Line 494: | Line 494: | ||
* '''Termiņš: Spēles protokola gala versija''' | * '''Termiņš: Spēles protokola gala versija''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====16.04.20==== | ====16.04.20==== | ||
Line 506: | Line 506: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====16.04.20==== | ====16.04.20==== | ||
Line 520: | Line 520: | ||
| | | | ||
− | |- style= | + | |- style='vertical-align: top;' |
| | | | ||
====xx.xx.xx==== | ====xx.xx.xx==== | ||
Line 537: | Line 537: | ||
* '''Iesniegt '''eksāmena/projekta failus un aprakstu''' E-studijās''' | * '''Iesniegt '''eksāmena/projekta failus un aprakstu''' E-studijās''' | ||
− | |- style= | + | |- style='vertical-align: top;' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Revision as of 16:41, 20 February 2020
Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 29.03.20 (ja ir lekcija)
Linux sistēmas programmēšana (LSP)
LU DF bakalaura studiju kurss DatZ3122, meklēt eStudijās.
- Pasniedzējs: Leo Seļāvo (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 = 15% praktiskie darbi, 25% mājas darbi, 10% dalība klasē, 20% KD1 un 30% KD2(eksāmens).
- LSP kursa atsauksmes no iepriekšējiem gadiem.
Praktisko un mājas darbu iesniegšana
- Mājas darbus iesniegt e-studijās vai darbu testēšanas serverī, atkarībā no darba specifikācijas.
- Faila nosaukumam jābūt formā LSP_MD1_Vards_Uzvards.c (Mainot atbilstošo uzdevuma kodu un faila formātu pēc nepieciešamības)
- Nevajag arhivēt failus, ja vien tas nav prasīts uzdevuma nosacījumos
Praktisko darbu vērtēšanas kritēriji
- Praktisko darbu mērķis ir nostiprināt un parādīt izpratni par apgūto vielu, attiecīgi darbi ir jārisina patstāvīgi, tomēr jautājumu uzdošana pasniedzējam vai kolēģiem ir vēlama.
- Maksimālo vērtējumu par praktisko darbu var saņemt, ja tas iesūtīts līdz praktisko darbu lekcijas beigām (vai brīdim, kad vienojamies, ka publiski apskatīsim PD risinājumu).
- Pēc termiņa praktiskie darbi tiek pieņemti vēl tekošo nedēļu (līdz nākamās lekcijas sākumam) un tiks novērtēti, tomēr vairs ne ar maksimālo atzīmi.
- Papildus praktiskajos darbos un lekcijās var izpelnīties "plusiņus" ar dalību diskusijās, unikālu risinājumu un ideju piedāvāšanu, trāpīgu jautājumu uzdošanu, atbildēšanu uz kolēģu jautājumiem u.t.t., kas savukārt palīdzēs savākt +10% no kopējā vērtējuma "par darbu klasē".
Mājas darbu vērtēšanas kritēriji
- Mājas darbu iesniegšanas termiņa laiks ir attiecīgajā datumā 20:00
- Ja darbs tiek iesniegts ar novēlošanos (kaut vai 1 sekundi!):
- Tūdaļ pēc termiņa rezultāts tiek samazināts par 50%
- Nedēļu pēc termiņa darbi vairs netiek pieņemti.
Kalendārs
Datums | Tēma, saturs | Uzdevumi | |
---|---|---|---|
05.02.2008:30 |
Vispārīgs pārskats par valodu C. |
| |
06.02.2014:30 |
|
||
06.02.2016:30 |
|
| |
12.02.2008:30 |
|
||
13.02.2014:30 |
|
||
13.02.2016:30 |
|
||
19.02.2008:30 |
|
| |
20.02.2014:30 |
|
| |
20.02.2016:30 |
|
||
26.02.2008:30 |
|
||
27.02.2014:30 |
|
||
27.02.2016:30 |
|
| |
04.03.2008:30 |
|
| |
05.03.2014:30 |
|
| |
05.03.2016:30 |
|
||
11.03.2008:30 |
|
||
12.03.2014:30 |
|
||
12.03.2016:30 |
|
| |
18.03.2008:30 |
|
||
19.03.2014:30 |
|
| |
19.03.2016:30 |
|
| |
25.03.2008:30 |
|
Katra grupa: lūdzu atsūtiet vienu e-pastu ar paredzamajiem dalībniekiem! | |
26.03.2014:30 |
|
| |
26.03.2016:30 |
Starpprocesu komunikācija. Klienta un servera arhitektūra. Iteratīvie un paralēlie serveri. Sockets. Komunikācija starp nesaistītiem procesiem. Kursa projekta diskusija. Sekojiet kursa Slack kanālam!
|
Eksāmena projekts:
| |
01.04.2008:30 |
Diskusija par komunikācijas protokolu izstrādi. |
||
02.04.2014:30 |
|
| |
02.04.2016:30 |
|
||
15.04.2008:30 |
[PD_KP2] Darbs pie kursa projekta. |
| |
16.04.2014:30 |
|
||
16.04.2016:30 |
|
||
xx.xx.xxxx:xx |
Pirms eksāmena kodam kopā ar kompilācijas un palaišanas instrukcijām jābūt iesniegtam e-studijās! |
|
Uzdevumi
Mājas darbi
- MD0: Izlasīt kodēšanas stila dokumentus.
- MD1: Ģimenes koka ģenerēšanas programma.
- MD2 - nav uzdots.
- MD3: Vienādo failu meklēšana direktorijas kokā.
- MD4: Atmiņas rezervācijas funkciju salīdzināšana.
- MD5: Atmiņas fragmentācijas algoritmu novērtējums.
Eksāmens izpaužas kā kursa projekta aizstāvēšana.
Resursi
Pamācoši vingrinājumi un piemēri
- Failu I/O buferi un sekas: divi raksta, redzam trīs...
- Aprēķins, cik laika vajag pārkopēt 1 TB pa baitam bez bufera.
- Paging: piemērs 4K x 4K masīva apstaigāšanai, mainot indeksus: 4K vs 16M page faults
Literatūra
- Advanced Programming in the UNIX(R) Environment, 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
- Sublime_Text_cheat_sheet - Lieliskā Sublime teksta redaktora taustiņu kombinācijas
- To become a good programmer... - C grāmatu saraksts
Programmētāja resursi
- Noderīgas Linux komandas
- Bash by Example @ibm/developerworks
- Intro to Linux kernel
- Programming in C: A Tutorial (by Brian W. Kernighan)
- GCC and make - par gcc kompilatoru no NTU
- Gnu make dokumentācija
- Tipiskas unix direktoriju hierarhijas īss apraksts.
- Sockets:
- Programming IP Sockets on Linux (tutorial @ gnosis.cx)
- Sockets Tutorial @ Linux Howtos
- Berkeley sockets (Wikipēdija)
- http://www.hiraeth.com/alan/tutorials/courses/unixprog.html
- http://lkml.org/
- The Linux Kernel Module Programming Guide
Programmēšanas analīzes rīki
- PMD - scans source code and looks for bugs, dead code, suboptimal code, overcomplicated expressions, duplicate code.
Linux veiktspējas analīze
- Top 20 Linux monitoring tools @cyberciti
- 20 rīki Linux veikstpējas monitoringam (IPTraf u.c.) @tecmint
- CPU analīze
- Disku I/O analīze
- IO profiling at Linux programming blog
- Tīkla analīze
- "bashtop" rīks veiktspējas analīzei
Āķīgi uzdevumi un pieredze
- C/C++ Tricky Programs
- Computers are exact, precise, and logical machines, until they aren’t.
- Advent of Code
Atziņas
- Teach yourself programming in 10 years by Peter Norvig
- Code review: Learn how NASA codes (blog), and Mars Code (ACM article)
- Things Every Hacker Once Knew
- Kāpēc CR+LF? - Par to kāpēc vēsturisku iemeslu dēļ Windows sistēmās teksta rindas beigās ir CR+LF, kamēr Unix sistēmā tikai LF