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/2020 Distanční forma výuky: Rev2 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: 5. října 2020 - 15. ledna 2021 Zkouškové období: 18. ledna 2021 - 26. února 2021 Celkový počet odpřednášených hodin: 13 x 2 hodiny = 26 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 26 hodin = 78 hodin studijní zátěže Samostudium, domácí úlohy, příprava na zkoušku: 52 hodin Prezenční forma výuky Distanční forma výuky Prezenční výuka: 26 hodin Vše v jednom ☺ 78 hodin studijní zátěže C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -4Forma 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 ▪ Dva průběžné testy (součástí vyučovací hodiny) ▪ Nebodované algoritmy ▪ 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 -5Forma 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 C2110 Operační systém UNIX a základy programování 1. lekce / modul 1 -6Vypracová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 -7On-line konzultace samostudium on-line konzultace Lekce 1 Lekce 13 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 (bez registrace do seminárních skupin): • Pondělí 12:00-13:50 • Úterý 16:00-17:50 • Úterý 18:00-19:50 * 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 -8Hodnocení 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ů 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/únor 2021 • 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 -9Hodnocení znalostí Průběžné testy: • 20 otázek, 20 minut • test bude možné složit on-line kdykoliv během dvou dní (pondělí, úterý) 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 -10Hodnocení 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 -11Přehled lekcí 1. Začínáme, vzdálený přístup (ssh, putty) 2. Vzdálený přístup (scp, VNC), Linux jako desktopový systém 3. Souborový systém 4. Procesy 5. Programy vs skripty, algoritmizace, bash 6. Skriptování v jazyce bash 7. bash – řídící struktury (podmínky, cykly) 8. bash – dokončení (skoro) 9. gnuplot, bash 10. awk 11. Procvičování: bash+gnuplot+awk 12. awk – pokračování 13. Kompilace programů ze zdrojových kódů Průběžný test I Průběžný test II Průběžný test III Algoritmus podle zadání zadání odevzdání