Differences between revisions 85 and 104 (spanning 19 versions)
Revision 85 as of 2010-05-11 10:26:13
Size: 7237
Editor: jenca
Comment:
Revision 104 as of 2011-05-11 12:42:23
Size: 7118
Editor: jenca
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
2009/10 -- LS 2010/11 -- LS
Line 5: Line 5:
== Downloady pre cvičenia ==

[[attachment:zadanie.pdf]]

##
##[[attachment:zadanie.pdf]]
Line 15: Line 11:

##== Uploady ==

##[[/Uploady]]

== Vyučujúci ==

 * Gejza Jenča gejza.jenca@stuba.sk

== Konzultačné hodiny ==

V utorok 16:00-17: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
<<Pozor>>
Tí, ktorí neboli na niektorom zo skúšobných cvičení,
si môžu príslušné cvičenie nahradiť na poslednom cvičení v semestri.
Domáca príprava zostáva rovnaká, zadanie na cviku bude iné.
<<Pohov>>
Line 46: Line 23:

Pri zapisovaní sa na skúšku musíte rešpektovať kapacitu miestnosti, ktorá je 20 ks. Keďže ste formálne
v dvoch predmetoch, musím to spraviť v AIS tak, že sa kapacita javí ako 40 ks.
Line 51: Line 31:
 * Kapitola 4: od začiatku až po 4.3 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
Line 80: Line 62:

Rozdelenie na termíny na skúšobné cvičenie je takéto.

|| || 12:00 || 13:30 ||
|| 1 ||Bohumel Tomáš||Mandúch Branislav||
|| 2 ||Brázdilová Veronika||Maslák Matej||
|| 3 ||Frolkovič Richard||Medľa Matej||
|| 4 ||Hulalová Lenka||Miklašová Monika||
|| 5 ||Húska Martin||Petkaničová Jana||
|| 6 ||Juhász Dávid||Rentka František||
|| 7 ||Káčer Michal||Roziak Vladimír||
|| 8 ||Kalina Jakub||Szorád Štefan||
|| 9 ||Kandová Andrea||Tješšová Mária||
|| 10 ||Kleinová Viera||Trubač Martin||
|| 11 ||Kmeťo Tibor||Tücsök Nikolett||
|| 12 ||Kollár Michal||Urík Jaroslav||
|| 13 ||Kottáš Peter||Zboranová Mária||
|| 14 ||Kurajová Jana||Žeňuchová Lucia||
|| 15 ||Lušťoň Dominik|| ||

Účelom tohto rozdelenia je výhradne to, aby v každej nebolo
viac ako 15 ľudí. Ak chcete ísť v inom termíne, nájdite si
niekoho, s kým sa vymeníte.


== Downloady pre cviko ==

[[attachment:zoznam.csv]]


== Vyučujúci ==

 * Gejza Jenča gejza.jenca@stuba.sk

== Konzultačné hodiny ==

V stredu 16:00-17: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
Line 82: Line 113:
[[/Výsledky]] [[/Vysledky]]
Line 84: Line 115:
== Zadanie na druhé zápočtové cvičenie ==

<<Pozor>>
Toto zadanie 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í.

Skúšobné cvičenie bude 11.5.2010 počas cvičenia.
<<Pohov>>

Napíšte modul `stack.py`, ktorý obsahuje implementáciu

 * triedy `Stack` a
 * funkcie `stack_from_string`

Trieda `Stack` implemetuje takéto metódy:

||`__init__(self)` || Inicializuj zásobník ako prázdny.||
||`push(self,what)` || Vloží `what` na vrch zásobníka.||
||`peek(self)` || Vráti objekt, ktorý je na vrchu zásobníka, pričom ho nevyberá.||
||`pop(self)` || Vyberie objekt zo zásobníka, návratová hodnota je tento objekt. Ak je zásobník prázdny, môže (a má) vyvolať výnimku.||
||`empty(self)`||Vyprázdni zásobník.||
||`__repr__(self)`||Vráti reťazec, v ktorom sú zreťazené `repr(x)` pre všetky objekty `x` v zásobníku, oddelené medzerami. Vrch zásobníka je na konci tohto reťazca.||

Okrem triedy `Stack` obsahuje modul `stack` aj takúto funkciu:

||`stack_from_string(s)`||Ako parameter očakáva reťazec celých čísel oddelených medzerami, napr. `"1 -20 17 4 5"`. Vráti `Stack` naplnený týmito číslami, pričom vrchné číslo je na konci s.||

=== Príklad použitia modulu na príkazovom riadku Pythonu ===

{{{#!python
>>> import stack
>>> s=stack.Stack()
>>> s.push(10)
>>> s.push(-10)
>>> s.push(100)
>>> print s
10 -10 100
>>> s.peek()
100
>>> print s
10 -10 100
>>> s.pop()
100
>>> print s
10 -10
>>> s.empty()
>>> print s

>>> s.pop()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/gejza/vyuka/python_vyuka/stack.py", line 31, in pop
    return self.l.pop()
IndexError: pop from empty list
>>> s2=stack.stack_from_string("1 2 3 17")
>>> print s2
1 2 3 17
>>> s2.pop()
17
>>> print s2
1 2 3
>>>
}}}
Line 162: Line 128:
 * http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami
 * http://bitbucket.org/gjenca/python_vyuka_public repozitar s python programami
Line 178: Line 145:
 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 187: Line 154:
 1. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/
Line 192: Line 160:
 1. Mercurial SCM, http://mercurial.selenic.com/
Line 201: Line 171:
== Výsledky == http://bitbucket.org/gjenca/csv2html

== Ostatné ==

http://bitbucket.org/gjenca/vimrc

Operačné systémy

2010/11 -- LS

Tí, ktorí neboli na niektorom zo skúšobných cvičení, si môžu príslušné cvičenie nahradiť na poslednom cvičení v semestri. Domáca príprava zostáva rovnaká, zadanie na cviku bude iné.

Skúška

Termíny skúšky sú 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.

Pri zapisovaní sa na skúšku musíte rešpektovať kapacitu miestnosti, ktorá je 20 ks. Keďže ste formálne v dvoch predmetoch, musím to spraviť v AIS tak, že sa kapacita javí ako 40 ks.

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.

Rozdelenie na termíny na skúšobné cvičenie je takéto.

12:00

13:30

1

Bohumel Tomáš

Mandúch Branislav

2

Brázdilová Veronika

Maslák Matej

3

Frolkovič Richard

Medľa Matej

4

Hulalová Lenka

Miklašová Monika

5

Húska Martin

Petkaničová Jana

6

Juhász Dávid

Rentka František

7

Káčer Michal

Roziak Vladimír

8

Kalina Jakub

Szorád Štefan

9

Kandová Andrea

Tješšová Mária

10

Kleinová Viera

Trubač Martin

11

Kmeťo Tibor

Tücsök Nikolett

12

Kollár Michal

Urík Jaroslav

13

Kottáš Peter

Zboranová Mária

14

Kurajová Jana

Žeňuchová Lucia

15

Lušťoň Dominik

Účelom tohto rozdelenia je výhradne to, aby v každej nebolo viac ako 15 ľudí. Ak chcete ísť v inom termíne, nájdite si niekoho, s kým sa vymeníte.

Downloady pre cviko

zoznam.csv

Vyučujúci

Konzultačné hodiny

V stredu 16:00-17: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

/Vysledky

Ďalšie cvičenia

Cvičenia zo shellu

Cvičenia z Pythonu

Materiály

Literatúra

  1. 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)

  2. Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003

  3. 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

  4. The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/

  5. Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)

  6. How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html

  7. Dive into Python, Mark Pilgrim, http://www.diveintopython.org/

  8. Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html

  9. GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html

  10. A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python

  11. How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/

  12. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/

Webové stránky

  1. http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu

  2. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu

  3. Mercurial SCM, http://mercurial.selenic.com/

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/csv2html

Ostatné

http://bitbucket.org/gjenca/vimrc

KMaDGWiki: OperacneSystemy (last edited 2024-09-17 13:58:44 by jenca)