Ve skolnim roce 2009/2010 vedu cviceni z predmetu Uvod do UNIXu (NSWI095), najdete nas kazde pondeli od 14:00 v laboratori SU2. Tady najdete podminky pro zapocet, seznam domacich ukolu, a dle moznosti se budu snazit tvorit i nejake kratke zpravodajstvi ze cviceni. Cvicim skupinu c. 41, ovsem i studenti odjinud jsou vrele vitani!
Pokud ke mne chcete chodit na cviceni, musite se zapsat v grupicku _a_ zaroven mi poslat mail. (Evolucne stabilni strategii pri posilani mailu je psat do subjectu [NSWI095].)
Podminkou k ziskani zapoctu je bud napsat zapoctak, nebo zapoctovou pisemku a nejaky ten domaci ukol.
Cesta lva: Zapoctovy program by mel byt v rozsahu minimalne dvojnasobku zkouskove pisemky, a to v libovolne kombinaci shellu, sedu a awku. Tato moznost je v zasade urcena pro ty, kteri se jiz s UNIXem dobre kamaradi, neco velkeho uz napsali a ted je nebavi chodit na cviceni a otravovat se s nejakou pisemkou - v posuzovani zapoctaku tedy budu relativne prisny. Na zapoctaku se se mnou pokud mozno domluvte predem a to do nejake trochu rozumne doby (pokud mozno ne 25. zari vecer). Na cvicenich budete samozrejme stale vitani. (Nemate-li zadny napad, co psat, zkuste bych se podivat na stranky cviceni z minulych let a vybrat si nektery z nejtezsich domacich ukolu: napada mne shop, nejaka lehce rozsirena verze jednoho z stur, rall, cprp, seex, shvm, find... Ovsem fantazii se meze nekladou!
Cesta ditete: Domaci ukoly budou fungovat jinak nez v minulych letech. Semestr je rozdelen na tri bloky po cca ctyrech tydnech, na konci kazdeho bloku dostanete ctyri domaci ulohy, na jejich odladeni a finalni odevzdani budete mit 14 dni. Z kazdeho bloku byste pritom meli odevzdat alespon jednu ulohu; pokud nejaky blok propasnete, muzete si ulohu nahradit, ale jen ulozkou z dalsiho bloku. (Ovsem s prubehem semestru se slozitost zadani bude samozrejme zvysovat. ;-) Ukoly poslete co nejdrive, abyste do zacatku dalsiho cviceni stihli jeste proiterovat pripadna opravena reseni, budu-li mit vyhrady (coz se stava dost casto).
Zapoctova pisemka se bude psat v labu na pocitaci na poslednim cviceni (pokud budete planovat predtermin, dejte mi vcas vedet, nejlepe pred poslednim predchazejicim cvicenim). Pisemka bude obnaset napsani nejakeho vyrazne netrivialniho programu (v tom spravnem jazyce, pochopitelne); uznam vam ji, pokud program bude fungovat nejak rozumne a nebudou v nem velke kiksy. Pokud se Vam nepovede, nezoufejte - budete mit dost (kolem nekonecna) dalsich sanci k naprave, ovsem opet se vzrustajici obtiznosti.
Obecna poznamka: Zadani nejsou dokonale formulovana, podobne jako takova obvykle nepotkate ani v realnem zivote programatora; casto by to bylo pri zachovani srozumitelnosti a rozumneho zadani i dost obtizne, nektere predpoklady zustavaji nevyrcene a spoleham na Vas zdravy rozum. Pokud si dokazete vyrazne zjednodusit zivot tim, ze si zadani kreativne "priohnete" k obrazu svemu (ale tak, aby to davalo smysl, neslo to proti duchu zadani a dokazali jste si to obhajit), proti podobnym resenim nic nemam, ba naopak.
Pokud sami v mailu nenapisete opak, defaultni licence ukolu je BSD licence a souhlasite s pripadnym vystavenim Vaseho dilka na webu.
$((...))
,
prikazova substituce $(...)
resp. `...`
,
velmi jemny uvod do promennych x=...; echo $x
.
Na zaver kompendium ulozek na cut, paste, tr, sort, uniq, ...
- rozdelane dopriste.wc -l
) v cistem sedu:
.
Na zaver idiom na parsovani parametru:
while [ -n "$1" ]; do case "$1" in -r) rep=1;; -m) shift; max="$1";; *) echo "Bad parameter: $1" >&2; exit 1;; esac shift done
Potrebujete-li s necim poradit, udelate nejlepe, kdyz mi napisete mail. Preferuji, kdyz po me budete chtit poradit s nejakym konkretnim problemem; nebudete-li proti, muzeme to pak vyresit rovnou po mailu.
Pokud budete mit nejake obecnejsi nejasnosti, nezoufejte a napiste mi stejne, domluvime se a nekdy se potkame (na MS byvam temer kazdy den). Cas mivam obvykle po cviceni, jinak se na MS vyskytuji nikoliv uplne pravidelne, lec kazdopadne velmi casto, v kancelari c. 322 (3. patro, naproti S3) nebo v malostranskem Starbucks. ;-)