5184
Comment:
|
5711
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
<<Pozor>> Zadanie je tu: [[attachment:cv2_skus_2013.pdf]] <<Pohov>> |
|
Line 3: | Line 6: |
2008/09 -- LS | == Repozitáre == |
Line 5: | Line 8: |
## == Downloady pre cvičenia == ## ## [[attachment:gallery.tar.gz]] ##[[attachment:passwd.txt]] ## [[attachment:zadanie2.pdf]] ##[[attachment:zadanie_opr.pdf]] |
https://bitbucket.org/gjenca/os2013 == Skúška == <<Pozor>> Termíny skúšky budú na http://is.stuba.sk. Skúška bude prebiehať písomne. Obsah viď nižšie. Ihneď po napísaní vaše písomky opravím, potom budem prípadne ešte konzultovať s tými ľuďmi, ktorí budú na hranici alebo nebudú spokojní s hodnotením. <<Pohov>> Z Vychodila treba vedieť: * Kapitola 3: od začiatku až po 3.6 včítane * Kapitola 4: od začiatku až po 4.3 včítane. * Treba vedieť na úrovni porozumenia princípom ako fungujú procesy a rúry v UNIXe v kontexte ich používania na príkazovom riadku. * Treba vedieť ako vo vzájomnej synergii fungujú funkcie `fork`,`wait`,`pipe`,`dup2`,`exec*` viď http://bitbucket.org/gjenca/c_vyuka_public/src/tip/pipe/run_bc.c * Kapitola 5: v tej miere ako bolo odprednášané, najmä * štruktúra príkazového riadku, úvodzovky, apostrofy, medzery, opačné lomítka atď * presmerovanie vstupu a výstupu, {{{>,<,>>,<<,|}}} * skripty, mechanizmus fungovania konštrukcie {{{!#}}} * premenné, špeciálne premenné, argumenty skriptov * kontrola toku programu : {{{if,while,for}}} * princíp fungovania {{{if}}} a {{{while}}} cez exit status * príkaz {{{test}}} * Kapitola 6: * základné programy pre prácu s textom {{{sort,cut,paste}}} * regulárne výrazy, program {{{grep}}} * program {{{sed}}} (iba príkaz s) Z Pythonu treba vedieť základy: * zabudované dátové typy * základy programovania ({{{for,while,if}}}) * funkcie a parametre ({{{def}}}) * triedy ({{{class}}}) Na skúške sa vás: * Spýtam na pár vecí z kapitoly 3 a 4. * Napíšete mi jeden-dva jednoduché príkazové riadky vykonávajúce zadanú činnosť. Nemusíte sa učiť všetky options všetkých príkazov, ak bude niečo treba vedieť, prezradím to. Ide mi o overenie znalosti princípu fungovania. * Bude zadanie o regulárnych výrazoch. * Napíšete krátky program v Pythone. Pravdepodobne to bude nejaká trieda. |
Line 13: | Line 52: |
##== Uploady == ##[[/Uploady]] == Vyučujúci == * Gejza Jenča gejza.jenca@stuba.sk |
|
Line 23: | Line 55: |
V utorok 16:00-17:00. Radšej ale konzultuje priamo na cvičení. | V pondelok 10:00-12:00. Radšej ale konzultuje priamo na cvičení. |
Line 36: | Line 70: |
##== Výsledky == ## ##[[/Výsledky]] |
== Výsledky == |
Line 40: | Line 72: |
== Zadanie na prvé zápočtové cvičenie == <<Pozor>> Tieto zadania si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete za to, čo urobíte priamo na cvičení. <<Pohov>> Pripomínam, že príkaz man je vaším priateľom. Pre komplexnejšie informácie odporúčam nahliadnuť do Advanced Bash Scripting Guide, link je nižšie. a) premenovanie obrázkov Vytvorte v bashi skript `rename_pics`, ktorý premenuje všetky súbory v aktuálnom adresári, ktoré majú koncovku `JPG` na súbory s koncovkou `jpg`, napr. `obrazok1.JPG` premenuje na `obrazok1.jpg`. Pomôcka: pre transformáciu mena môžete použiť takéto niečo: {{{NOVE_MENO=`echo $STARE_MENO | sed '...'`}}} Dávajte si pozor na to, aby ste premenovali iba koncovky, reťazec JPG sa môže vyskytovať aj uprostred mena súboru. Môžete prepokladať, že mená súborov neobsahujú žiadne biele znaky, napr. medzery. b) upravte skript z a) tak, aby premenoval aj súbory ako `obrazok1.jPG` a podobne. Pomôcka: man sed. c) a teraz to spravte všeobecne: Napíšte skript, ktorý dostane v argumentoch zoznam mien súborov a premenuje ich tak, aby mali koncovky malými písmenami. Pomôcky: neurčitý počet argumentov je možné spracovať pomocou cyklu {{{ while true do ... spracovanie $1 ... if shift then break fi done }}} alebo {{{ while test "$*" != "" do ... spracovanie $1 ... shift done }}} prípadne {{{ for ARG in "$@" do ... spracovani $ARG ... done }}} Pre transformáciu veľkých písmen na malé použite príkaz `tr`. |
##[[/Vysledky]] |
Line 108: | Line 86: |
* http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami * http://bitbucket.org/gjenca/python_vyuka_public repozitar s python programami |
|
Line 124: | Line 103: |
1. ''Learning Python",, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar | 1. ''Learning Python'',, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar |
Line 133: | Line 112: |
1. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/ | |
Line 138: | Line 118: |
1. Mercurial SCM, http://mercurial.selenic.com/ 1. Python documentation, http://docs.python.org/ 1. A Guide to Python's Magic Methods, http://www.rafekettler.com/magicmethods.html |
|
Line 147: | Line 131: |
== Výsledky == | http://bitbucket.org/gjenca/csv2html2012 == Ostatné == ## http://bitbucket.org/gjenca/vimrc |
Operačné systémy
Zadanie je tu: cv2_skus_2013.pdf |
Repozitáre
https://bitbucket.org/gjenca/os2013
Skúška
Termíny skúšky budú na http://is.stuba.sk. Skúška bude prebiehať písomne. Obsah viď nižšie. Ihneď po napísaní vaše písomky opravím, potom budem prípadne ešte konzultovať s tými ľuďmi, ktorí budú na hranici alebo nebudú spokojní s hodnotením. |
Z Vychodila treba vedieť:
- Kapitola 3: od začiatku až po 3.6 včítane
- Kapitola 4: od začiatku až po 4.3 včítane.
- Treba vedieť na úrovni porozumenia princípom ako fungujú procesy a rúry v UNIXe v kontexte ich používania na príkazovom riadku.
Treba vedieť ako vo vzájomnej synergii fungujú funkcie fork,wait,pipe,dup2,exec* viď http://bitbucket.org/gjenca/c_vyuka_public/src/tip/pipe/run_bc.c
- Kapitola 5: v tej miere ako bolo odprednášané, najmä
- štruktúra príkazového riadku, úvodzovky, apostrofy, medzery, opačné lomítka atď
presmerovanie vstupu a výstupu, >,<,>>,<<,|
skripty, mechanizmus fungovania konštrukcie !#
- premenné, špeciálne premenné, argumenty skriptov
kontrola toku programu : if,while,for
princíp fungovania if a while cez exit status
príkaz test
- Kapitola 6:
základné programy pre prácu s textom sort,cut,paste
regulárne výrazy, program grep
program sed (iba príkaz s)
Z Pythonu treba vedieť základy:
- zabudované dátové typy
základy programovania (for,while,if)
funkcie a parametre (def)
triedy (class)
Na skúške sa vás:
- Spýtam na pár vecí z kapitoly 3 a 4.
- Napíšete mi jeden-dva jednoduché príkazové riadky vykonávajúce zadanú činnosť. Nemusíte sa učiť všetky options všetkých príkazov, ak bude niečo treba vedieť, prezradím to. Ide mi o overenie znalosti princípu fungovania.
- Bude zadanie o regulárnych výrazoch.
- Napíšete krátky program v Pythone. Pravdepodobne to bude nejaká trieda.
Konzultačné hodiny
V pondelok 10:00-12:00. Radšej ale konzultuje priamo na cvičení.
Stručná osnova predmetu
- Princípy OS Unix/Linux
- Základy práce so systémom
- Súborový systém
- Užívatelia a skupiny
- Procesy, rúry
- Prehľad základných utilít
- Programovanie v shelli, skripty
- Programovací jazyk Python
Výsledky
Ďalšie cvičenia
Materiály
http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami
http://bitbucket.org/gjenca/python_vyuka_public repozitar s python programami
Literatúra
Linux: Příručka českého uživatele, Vilém Vychodil; Computer Press 2003, Brno (je žiadúce, aby každý mal svoju kópiu)
Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003
Learning Python,, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar
The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/
Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)
How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html
Dive into Python, Mark Pilgrim, http://www.diveintopython.org/
Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html
GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html
A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python
How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/
Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/
Webové stránky
http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu
http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu
Mercurial SCM, http://mercurial.selenic.com/
Python documentation, http://docs.python.org/
A Guide to Python's Magic Methods, http://www.rafekettler.com/magicmethods.html
Podmienky na zápočet
15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell scriptov a jedno z Pythonu.
Príklady a cvičenia
http://bitbucket.org/gjenca/csv2html2012