C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -1C2110 Operační systém UNIX a základy programování Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kamenice 5, CZ-62500 Brno 1. lekce / modul 1 PS/2021 Prezenční forma výuky: Rev4 C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -2Organizace výuky ➢ Harmonogram ➢ Forma výuky ➢ Hodnocení znalostí C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -3- Harmonogram Výuka: 13. září 2021 - 17. prosince 2021 Zkouškové období: 3. ledna 2022 - 11. února 2022 Celkový počet odpřednášených hodin: 14 x 2 hodiny = 28 hodin Zakončení: kolokvium (2+1 kredity) Celková hodinová zátěž předmětu: 1 ECTS kredit -> 26 hodin studijní zátěže; 3 kredity -> 3x 28 hodin = 84 hodin studijní zátěže Samostudium, domácí úlohy, příprava na zkoušku: 56 hodin Prezenční forma výuky Distanční forma výuky Prezenční výuka: 28 hodin Vše v jednom ☺ 84 hodin studijní zátěže Povolené jsou dvě předem omluvené absence! (buď e-mailem nebo přes informační systém) Nebo pouze jedna neomluvená absence dle studijního řádu. C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -4Evidence docházky Snímač karet Registrují se příchody -/+ 30 minut od zahájení výuky. Nestandardní situace (např. náhrada v jiné seminární skupině) se řeší domluvou. Učebna 1.18/A4 C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -5Forma výuky Prezenční forma výuky ▪ Jedná se o cvičení, povinná docházka ▪ Dvě dopředu omluvené absence ▪ Výuka probíhá v počítačové učebně 1.18/C04/UKB na počítačích s OS Ubuntu ▪ Lekce prokládané cvičeními řešenými v průběhu vyučovací hodiny s možností konzultace ▪ Tři průběžné testy (součástí vyučovací hodiny) ▪ Bodovaný algoritmus dle vlastní volby ▪ Zkouška (prezenční režim, v učebně 1.18/C04/UKB) Distanční forma výuky ▪ Výuka probíhá distančně s možností online konzultace v době, na kterou je cvičení naplánováno v rozvrhu ▪ Absence se omlouvají pouze u průběžných testů ze závažných zdravotních důvodů ▪ Výuka probíhá na osobních počítačích studentů s MS Windows 10, MS Windows <10*, OS Linux*, macOS* ▪ Lekce jsou rozdrobeny do modulů zakončených cvičením ▪ Moduly jsou moderovány předtočeným slovním komentářem s praktickými ukázkami. ▪ Tři průběžné testy (on-line) ▪ Bodovaný algoritmus dle vlastní volby ▪ Zkouška (prezenční forma, v učebně 1.18/C04/UKB) * Nutné nahlásit vyučujícímu C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -6Studijní materiály a forma výuky Samostudium, domácí úlohy, příprava na zkoušku Prezenční výuka / On-line výuka Samostudium rozšiřující znalosti, které nebudou vyžadovány pro složení zkoušky Forma výuky Studijní materiály Interaktivní osnova předmětu C2110 C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -7Vypracovávání úkolů Teamwork is essential. It allows you to blame someone else. L.M.C.U číslo lekce číslo cvičení číslo úkolu Číslování úkolů: číslo modulu U některých úkolů, které nevedou k procvičovaní, doporučuji zaznamenávat odpovědi v písemné formě buď do poznámkového bloku, k vytištěným prezentacím, či do elektronického dokumentu. Každý úkol je jednoznačně číslován v následujícím formátu: Úkoly vypracovávejte samostatně, v případě nejasností můžete problémy konzultovat v pracovních týmech. Rozhodně nedoporučuji týmovou práci stylem, kdy jeden řeší úkoly a ostatní jej sledují. C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -8Konzultace v případě distanční výuky samostudium on-line konzultace Lekce 1 Lekce 14 Průběžný test I Průběžný test II Průběžný test III on-line konzultace: • MS Teams* (funkční mikrofon a sdílení plochy, kamera není nutná) • Termíny dle rozvrhu * Dostupné pod MS Windows, Linux, macOS Algoritmus podle zadání C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -9Hodnocení znalostí Tři průběžné testy: (20 minut) 3x 20 bodů Funkční algoritmus úlohy dle zadání: 10 bodů Zakončení: - finální test (1 hodina) 50 bodů - skript podle zadání (1 hodina) 30 bodů ======================================================= Celkem: 150 bodů Prospěl: >= 110 bodů Presenční/distanční forma výuky Předmět je NÁROČNÝ (nepodceňujte jeho snadný rozjezd) Úspěšnost předmětu > 90 % Navazující předmět C2115 Praktický úvod do superpočítání • bloková výuka leden 2022 • možnost zápisu i v průběhu semestru • výjimky uděluji studentům, kteří mají souběžně zapsaný C2110 C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -10Hodnocení znalostí Průběžné testy: • 20 otázek, 20 minut • prezenční výuka • test bude možné složit na začátku vyučovací hodiny • distanční výuka • test bude možné složit on-line kdykoliv během dvou dní z libovolného počítače • jeden průběh (jedna možnost složení) • očekáváme, že test budete skládat sami Algoritmus: • algoritmus zadaného problému (vývojový diagram) • odevzdává se v pdf formátu do Odevzdávárny: „Algoritmus“ Zkouška: • závěrečný test (50 otázek, 60 minut) • řešení jedné ze tří zadaných úloh (60 minut, vytvoření skriptu) Testy: • více možností (žádná až všechny odpovědi mohou být správné) • hodnotí se odpovědi • správně zvolená odpověď +1 bod • nesprávně zvolená odpověď -0,25 bodu C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -11Hodnocení znalostí Během testů a řešení závěrečné úlohy: Můžete používat veškeré studijní materiály, libovolné knihy a internet. Při psaní testu i vytváření skriptu můžete používat počítač (i vlastní), můžete použít skripty z cvičení či z domácích úloh. Nesmíte však spolupracovat s jinými lidmi (Facebook, mobil, apod.). Ukázka závěrečné úlohy (skript): • student řeší jednu úlohu, kterou si sám vybere ze tří dostupných zadání Zadání A: Soubor prod006.out obsahuje výsledek molekulárně dynamické simulace v explicitním solventu při teplotě 300 K a tlaku 100 kPa. Ze souboru vyextrahujte průběh aktuální teploty (TEMP(K)) na čase (TIME(PS)) a zobrazte jej ve formě grafu (5 bodů). Spočítejte průměrnou hodnotu teploty a její fluktuaci sN z dat uvedených v souboru prod006.out (10 bodů). Průměrnou hodnotu a fluktuaci teploty zobrazte spolu s časovým průběhem teploty (5 bodů) do jednoho grafu. Jméno analyzovaného souboru se předloží jako první argument skriptu, který provede analýzu a zobrazí graf (5 bodů). Ošetření chybného vstupu (5 bodů): zadaný soubor musí existovat. 𝑇 = ෍ 𝑖=1 𝑁 𝑇𝑖 𝑠 𝑁 = 1 𝑁 ෍ 𝑖=1 𝑁 𝑇𝑖 − 𝑇 2 kde N je počet analyzovaných hodnot teplot Ti. C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -12Přehled lekcí 1. Organizace výuky, zaměření předmětu, klastr WOLF, místní přihlášení a vzdálený přístup (ssh, putty) 2. Kerberos, příkazy, souborový systém, vzdálený přenos souboru (scp) 3. Procesy, komunikace procesu s okolím, virtualizace 4. Linux jako desktopový systém, souborový systém, textové editory, vzdálená plocha 5. (Průběžný test I) Programy vs skripty, algoritmizace, bash 6. Skriptování v jazyce bash (proměnné, vstup a výstup) 7. bash – řídící struktury (podmínky, cykly) 8. bash – dokončení (skoro), hledání chyb 9. Skriptování v jazyce gnuplot, bash 10. (Průběžný test II) Procvičování: bash+gnuplot 11. Skriptování v jazyce awk 12. awk – pokračování (podmínky, cykly) 13. (Průběžný test III) Procvičování: bash+gnuplot+awk 14. Kompilace programů ze zdrojových kódů Vypracování algoritmu podle zadání zadání odevzdání