středa 25. března 2009
Doktorské studium
Student v doktorském studiu má 3 základní zaměstnavatele školu, školitele a komerční sektor. Díky této svaté trojici má na studium daleko méně času než v programu magisterském. A tak tedy není výjimkou, že studenti v doktorském studiu nesetrvávají jmenovité 3 roky, ale i roků 7 a více. Ostatně i jeden profesor se k délce studia vyjádřil, že za 3 roky, disertační práce není ono a že je potřeba aby uzrála a tedy počítat spíše s délkou studia 4-5 let.
Škola se v podstatě o studenta stará jen přerozdělením doktorandského stipendia vypláceného státem. Mimo to škola pořádá výuku jazyků a popř. dalších předmětů a stará se o organizaci studia. Student škole tuto činnost splácí výukou a publikační činností (která bývá podmínkou realizace studijních programů na škole). Většina škol ukládá doktorandům povinnost učit. Lze to sice zdůvodňovat snahou naučit se studenty veřejně vyjadřovat, formulovat myšlenky a vést ostatní v poznání. Možná by i to tak fungovalo, pokud by studenti byli v učení nějak motivování. Praxe je však taková, že kvalita výuky nemá v podstatě žádný vliv na finanční hodnocení doktoranda. Doktorand přípravou cvičení stráví daleko více času než cvičením samotným a celý systém výuky spočívá na svědomitosti doktoranda a jeho zapálení pro předmět. Zajímavé je, že doktorandi opravdu svědomití většinou jsou.
Školitel je člověk, na kterém je (samozřejmě po doktorandovi) nejvíce práce, a v podstatě úspěch doktoranda velmi závisí na výběru tohoto člověka.
Za prvé umožňuje doktorandovi uskutečnit zkoušky u svých kolegů a tím mu umožnit získat vědomosti, které mu škola není schopna poskytnout. Vzájemné zkoušení doktorandů je v akademické sféře reciproční. Protože tato výuka není nijak financovaná, tak se uskutečňuje odkazem na skripta, poskytnutím konzultace a několika hodinami věnovanými na přezkoušení.
Dále školitel vede doktoranda do světa znalostí svého oboru, pomáhá mu zaměřovat se na důležité zdroje a pomáhá mu s publikacemi.
Jedním z nejdůležitějších úkolů školitele je bohužel také zajištění financování, protože účast na konferencích něco stojí (a konference jsou místa, kde lze získat kontakty a navázat spolupráci). Zároveň se školitel stará i o zajištění práce a dodatečný příjem doktoranda, aby nemusel se svým stipendiem žebrat.
Za tuto důležitou činnost je školitel odměněn učedníkem, který je schopen vykonávat libovolné práce nebo popř. spoluautorstvím doktorandem publikovaných příspěvků a článků. Mnozí školitelé se těchto možností zhostí se značnou vervou a jsou schopni si zařídit kompletní učednickou dílnu. Pokud se školitel chová eticky a s rozumem, tak se zpravidla jedná o vzácného člověka, který vede doktorandy z vlastního zápalu (přičemž se mi čim dál víc jeví, že bez velkého zápalu se v akademické sféře nebo vědě zůstat ani nedá).
Školitel se většinou rekrutuje z vědeckého zaměstnance vysoké školy, který tuto činnost vykonává v rámci pracovního poměru, nebo ze zaměstnance instituce zaměřené na vývoj (např. akademie věd). V posledním případě se vedou spory o to, kdo je za vzdělávání doktorandů více zodpovědný zda vysoká škola nebo akademie věd. Tento spor je v podstatě sporem o státní peníze na financování vědy a výuky.
Komerční sektor přichází na řadu tehdy, pokud školitel není schopen zajistit dost financí k přežití doktoranda (tedy placené místo doktorandovi v akademické instituci). Přežít ze stipendia 5000 měsíčně za první rok, 6000 za druhý rok a 7000 za 3. rok studia opravdu bez dalšího financování nebo sponzora (např. podpory rodiny) nelze. Proto si doktorand musí zpravidla najít placené místo alespoň na částečný úvazek a skloubit povinnosti z toho vyplývající s těmi předcházejícími. Škola si kupodivu necení schopnosti doktoranda vydělat si na živobytí sám, ale částečně zabezpečeného doktoranda považuje za zbytečného příživníka na stipendiu, které na něm co nejdříve ušetří. Tím doktoranda vrhne ještě více vstříc komerčnímu sektoru. Pro nedostatek ocenění a perspektivy v tomto systému svaté trojice většinou doktorand odchází do tohoto sektoru ještě před získáním titulu.
Formát a uskutečňování doktorského studia přímo souvisí s kvalitou financování vědy a školství. Je zřejmé, že tato rozpočtová kapitola nikdy nehrála prim a pravděpodobně ani dlouho hrát nebude. Vzdělávání zůstává jen kapitolou, kde mezi sebou bojují různé ideologie, ale zásadní systémové problémy zůstávají neřešené. Což se zákonitě projeví v budoucnu.
středa 4. března 2009
Umění programování v Unixu - Kapitola 1
Úvodní kapitola se zabývá historií UNIXu jeho postavením mezi ostatními operačními systémy. Snaží se ukázat, že UNIX jako technologie i filozofie musela přijmout spoustu změn a překonat změny trendů. Přechod z prostředí mainframe na osobní počítače, dále do distribuovaného prostředí internetu a nakonec i překonat změnu související se zavedením GUI. Kniha se snaží popsat základní trendy, které si UNIX zachovává a v podstatě dochází k tomu, že je to svoboda práce se zdrojovým kódem systému i programů a dobrý inženýrský návrh, postavený na spoustě malých spolupracujících programů. IMHO: Pravidla uvedená v této kapitole se hodí k návrhu libovolného software a lze je označit za pravidla dobrého návrhu aplikace. Pravidla jsem trošku přeformuloval a mnohdy doplnil svým pohledem, takže se nejedná o překlad knihy, jde spíš rozvití myšlenek v knize obsažených.
Ke konci kapitoly je je uveden krátký popis jiných systémů a v čem se liší. Přijde mi, že tento popis je trošku zaujatý a nejde moc do hloubky, ale nejsem odborníkem na operační systémy.
Pravidla psaní software
Držte se jednoduchých, propojitelných rozhraní – Zde jsou myšlena hlavně rozhraní textová, popř. založená na XML. Rozhraní je to co určuje zda program bude použitelný ve větším kontextu nebo zůstane zastrčený v šuplíku. Složité rozhraní znesnadňuje použití programu v kontextu ostatních programů.
Srozumitelnost je důležitější než efektivita – Prostě jen přeformulované tvrzení D.Knutha: “Předčasná optimalizace je kořenem všeho zla.”. Složitý algoritmus obsahuje více místa pro chyby a hůře se opravuje i rozšiřuje. Zdrojový kód by měl být opatřen komentáři. V knize lze dokonce potkat i myšlenku literárního programování a to v té podobě, že každý algoritmus by měl být snadno vysvětlitelný pomocí přirozeného jazyka a podobným způsobem i zapsán ve zdrojovém kódu.
Navrhuje programy propojitelné s jinými programy – V duchu zásady program má dělat jednu věc dobře a nesnažit se řešit vše. Dokládané je to na možnosti zvolit si editor, který jiné programy budou používat pro vstup a editaci textu. Jiným příkladem je realizace stránkování výpisu na obrazovku, přes příkazy more, less.
Navrhujte jednoduché programy, složité piště jen v případě nutnosti – Zde se lze odkázat na knihu Steve McConell: Odhadování softwarových projektů, kde se dozvíte, že s velikostí programu roste pravděpodobnost překročení rozpočtu i toho, že se program nepodaří dokončit. Přičemž náročnost vývoje s velikostí programu roste kvadraticky! (protože tímto způsobem roste počet možných vazeb v programu)
Navrhujte transparentní programy – Tedy programy, ze kterých lze na základě vstupu snadno zkontrolovat výstup a ověřit, že program plní to co má.
Pravidlo robustnosti – Program se musí vypořádat i s krajními případy a vyprodukovat smysluplný výstup. Při propojení s jinými programy se na vstupu může objevit skoro cokoliv. V podstatě se jedná o defenzivní programování.
Volte deklarativní zápisy ne procedurální – Zápis gramatiky v BNF je daleko snazší než její zápis v syntaktickém analyzátoru. Stejně tak je tabulka jednodušší reprezentací, než složitý příkaz switch nebo mnoho konstrukcí if, else.
Pravidlo nejmenšího překvapení – Rozhraní by uživatele nemělo překvapovat. Snaha dodržovat běžnou kulturu zápisů – způsob značení komentářů, zápisu programu, … Rozhodně se však vyvarujte označování rozdílných věcí stejným způsobem. Příkaz return, který by místo ukončení funkce ukončil program, je takovým příkladem.
Mluvte jen když je třeba – Program má mluvit, jen když je potřeba sdělit něco důležitého. Ukecané programy nikdo neposlouchá. Pokud je však třeba upozornit na chybu, tak nejlépe hlasitě a co nejdříve! Informace o chybě by měla být dostatečně konkrétní. Je velký rozdíl mezi hláškou “Hups chyba!” a “Chyba soubor config.ini: Na řádku 35, je uveden neexistující uživatel pepa3”.
Programátorův čas je dražší než čas CPU – Za 2 roky poběží vaše programy 2x rychleji. A to bez námahy. V podstatě zas odkaz na předčasnou optimalizaci. Optimalizace se totiž řeší až naposled, kdy je jasné jaké části (cca 20% programu) zpomalení způsobují. 80% programu nemá smysl optimalizovat, dokonce to škodí přehlednosti, rozšiřitelnosti a poštu chyb v programu. Pokud program běží dost rychle i tak, lze si ušetřit i optimalizaci těch 20% ;).
Pravidlo generování – Počet chyb na řádku je v podstatě nezávislý na jazyce, snažte se tedy psát úsporně a manuální úkony (jako generování kódu) nechat na počítači. Věřte, že je spolehlivější. Pozn. Výstup generátorů pokud možno neupravujeme! (to bychom se o výhodu malého počtu řádek připravili)
Optimalizace až na konec – už bylo řečeno, ale je potřeba opakovat do zblbnutí ;)
Není jen jeden správný způsob – Snažte se vymyslet různá řešení a vyberte nejlepší ne to první. Nespadněte do pasti prvního návrhu. Nebojte se vymyslet spoustu návrhů a ty ohodnotit.
Navrhujte pro budoucnost – Nechte si otevřená vrátka pro budoucí rozšíření (datových formátů a struktur, protokolů i funkcí). Zde se třeba poznamenat, že váš program se může hodně rozšířit a pak už se zpětně nekompatibilní změny neprovádí bezbolestně.
pátek 9. ledna 2009
Využití blogu k výuce.
Informace publikované na stránkách k předmětu
Nejzákladnější informací k předmětu je osoba, která předmět vyučuje název předmětu a čas výuky. Dále kontakt na vyučujícího a informace o požadavcích nutných k absolvování předmětu.
Mimo to se na školních stránkách objevují informace o probrané látce v jednotlivých lekcích. Úkoly k vypracování, materiály a odkazy vztahující se k dané lekci. Průběžně se na stránkách může objevovat i informace o docházce.Na konci roku se na stránkách mohou objevit vypracované úkoly studentů, informace o tom kdo předmět absolvoval, informace k formálnímu uzavření předmětu, zapsání známek a popř. i anketa s názory studentů a reflexí učitele na ně.
Struktura informacíSnad jsem na nic nezapomněl. Z popisu se jeví, že pouze určitou část informací lze přenášet formou příspěvků a jeví se nezbytné zřídit si webový prostor, kde budou uloženy další soubory a obrázky vztahující se k předmětu.
Kolaborativní editaceBlogovací systémy (např. tento na seznamu) umožňují spravovat blog pouze jednomu člověku a nerozlišují práva k jednotlivým částem stránek. Proto předmět s několika vyučujícími nebo cvíčícími spíše využije propracovanější řešení výukového systému jako Moodle.
UčebniceBlog není vhodný k podrobnému popisu látky, protože k tomuto účelu se hodí spíše publikační systém podobný wikipedii (možná knoll, nebo soukromá wiki). U příspěvků v učebnici prostě čas editace nehraje už takovou roli.
Výhody bloguStejně jako webové stránky předmětu umožňuje blog oslovit všechny studenty (i ty co zapomněli přijít na hodinu) a to i v čase dlouho po konání vyučování. Jaké však má blog oproti nim výhody?
Hlavní výhodou blogu je, že nové příspěvky jsou hned viditelné to znamená, že změny ve stránce student nepřehlédne.
RSS kanálOstatně stejnou výhodou je RSS kanál, který umožňuje studentům reagovat na uveřejněné informace častěji. Přeci jen obecně student příliš často stránky svých učitelů nenavštěvuje, speciálně ne tehdy, když se tam nic nemění.
KomentářeStudenti mohou přímo pod příspěvkem upozornit na chybu nebo reagovat upřesňujícími dotazy, které jsou pak spolu s reakcí dostupné i ostatním studentům. Kvůli bázlivosti studentů jsem však na vážkách, zda této možnosti využijí i anonymně.
Nevýhody bloguHlavní nevýhodou blogu pro učitele je stejně jako u osobních stránek pracnost s aktualizací a tvorbou obsahu mimo běžnou přípravu a prezentace kvalitou tohoto obsahu (a tedy možná i větší náročnost tvorby, než u běžného blogu). Ale tím se od webových stránek neliší.
Trošku nevýhodou je neměnitelné řazení příspěvků podle času editace/vložení. Což značí že příspěvek by měl být svébytnou entitou nezávislou na pořadí jiných příspěvků. Příspěvky proto mohou postrádat logické řazení a nalezení příspěvku může být složitější. Je tedy nejspíše nutné některé příspěvky zahrnout do speciální kategorie nebo pro lepší přehlednost odkazovat ze shrnujícího příspěvku. A také je možné že starčí příspěvky zapadnou, což je zas možno řešit dobrým členěním do kategorií.
ZávěrDle mého názoru může být blog využit ke komunikaci se studenty lépe než obecné webové stránky. Proto pokud budu přístí rok vyučovat zkusím si pro tento účel založit blog a s výsledky vás seznámím.
