Archive for the 'Empty halls' Category


Třetí semestr na ČVUT FEL STM IS 5

Když jsem si minulý rok zapisoval předměty na semestr, který právě skončil, bál jsem se o vlastní felácký život, a co je důležitější, o svou feláckou čest (opakovat předmět je jako pít krev jednorožce – „udrží tě při životě, ale za jakou cenu! Od doby, kdy v jeho krvi smočíš své rty, budeš žít jen napůl…“ – Kentaur z Harryho Pottera:)). Rada STM totiž přeřadila dva nejtěžší předměty z celého programu do jednoho semestru a vzhledem k tomu, že 30 – (2 * 6) < 20 = mez smrti, zapsal jsem si pojistný předmět (tj. předmět pro mě zcela triviální).

Má předtucha mě nezklamala - byly to opravdu jatky, a to jak v semestru, tak ve zkouškovém. Musel jsem se učit tak často a tak dlouho, že mi pomalu nezbýval čas na wowko :D, které jsem před začátkem zkouškového začal hrát. Co vám budu povídat, čtěte dál.

Programování vestavěných systémů (Hodnocení: A)

Zde jsem chtěl získat dobrou známku ze cti, jelikož se předmět týkal mikroprocesorů (maturoval jsem z nich za 1 a z podobného (ale více nízkoúrovňového) předmětu (SAP) jsem již A získal). Povedlo se. Navíc mě předmět velmi bavil, protože jsme pracovali na vynikajícím procesoru ATMEL blablabla s jádrem ARM7 (využívaje jazyka C). Pan Špinka (externista) vedl přednášky zábavnou formou a člověk se dozvěděl, mimo jiné, spoustu zajímavých příhod z praxe.

Laboratorní cvičení jsme měli v nejhlubších komnatách karláckých sklepení, kde není vzácné narazit na nemrtvého. Byla tam příjemná zima, měli tam auto s vodou v nádrži, počítače, které centrálně bootovaly linux a spousty cvičných destiček s klávesnicemi, LC displeji, LE diodami, bzučáky, IR, USB a sériovými porty, na kterých jsme programovali 4 laboratorní úlohy – ovladač maticové klávesnice, AD převodník a zbytek si nepamatuji. Na konci semestru jsme měli naprogramovat semestrální práci – doporučovala se jednoduchá hra (moji můžete vidět na videu).

Modelování a simulace systémů (Hodnocení: C)

Předmět, který v podstatě navazuje na Automatizaci ze střední školy, ale jde do hloubky. Protože mi vždycky Automatizace přišla nudná a moc svázaná s praktickou aplikací (taky jsem z ní měl čtyřku), ani MASy mě nebavily. Předmět přednášel pan Hušek… sice hezky, srozumitelně a s výbornými slídami, ale já jsem na přednášky pravidelně nechodil, protože mě jejich náplň zkrátka k smrti nudila. Když už jsem tam byl, sváděl jsem piškvorkové zápasy. Je zajímavé, jak jsem se během tohoto semestru zlepšil v piškvorkách :)).

Součástí tohoto předmětu byla také semestrální práce, jejíž cílem bylo buď odsimulovat složitější systém nebo vytvořit grafickou visualisaci jednoduššího systému. Pochopitelně jsem si vybral variantu druhou. Nejprve jsem se ji snažil naprogramovat v Javě, ale protože Java je naprosto nemožný a pitomý jazyk, rozhodl jsem se reinkarnovat moje první programovací prostředí – Visual Basic 6.0. :). Jelikož už dávno nemá ani aktivní podporu, musel jsem ho stáhnout z isohuntu… a… a… a málem mi ukápla slza nostalgie :’-). Stačilo nakreslit model, rozpohybovat ho (což jsem stačil během jedné jízdy vlakem z Prahy do Budějc) a odevzdat za téměř plný počet bodů (pár bodů jsem dostal strženo za to, že voda měla moc světlou barvu a nebyla vidět na projektoru – ťuk ťuk) :). Pokud ji chcete, můžete se podívat na PDFko a stáhnout si vlastní program.

Cvičení byla naprosto v pohodě, ani se tam nemuselo chodit (pokud se to člověk nechtěl naučit ke zkoušce a získat body ke zkoušce) a samotná zkouška byla velmi příjemná. Dosali jsme papír se systémem a kupu úkolů (Zdiskretisovat deferenciální rovnice, odsimulovat spojitě v simulinku, diskrétně v simulinku a matlabu, sestavit stavové rovnice a vypočítat hodnotu něčeho jedna, aby se něco 2 systému ustálilo na něčem 3). Ústní zkouška byla také velice příjemná (byli jsme na termínu dva). Pan Hušek se mě zeptal na otázku z analýzy :) – jak najít maximum funkce – věděl jsem – nakonec C – spokojenost.

Databáze (hodnocení: D)

Databáze je první předmět, který se oproti minulému roku změnil. Vyčovali ho doktoři Mlýnková a Nečaský z MFF UK a v semestru po nás věru moc nechtěli. Na přednášky jsem nechodil, protože byly ráno. Omlouvám se, ale tohle je opravdu seriózní důvod na přednášku nepřijít, zvláště když je potom 1 a půl hodiny mezera a potom DSAčka. Na cvičení se také nemuselo chodit, protože jediná jejich náplň bylo řešení domácích úkolů a individuální konzultace. Na prosemináři jsem nebyl ani jednou, takže vůbec nevím, kdo ho vedl, ani kde se konal :D. A o zkouškovém se samozřejmě ukázalo, že jsme předmět podcenili. Na předtermínu prý vyházeli valnou většinu lidí. Já jsem předmět považoval za téměř symbolický, takže jsem si zkoušku zapsal jako poslední (dělal jsem ji včera, výsledky ještě neznám, ale učil jsem se na ni poctivě dva dny v kuse a připadala mi jednoduchá, tak uvidíme).

Edit: Tak nakonec mám jenom Dčko :).

Učili jsme se ER model, relační model, SQL, relační algebru, relační kalkuly a potom takové věci jako transakce, zámky, datové struktury používané SŘBD atp.

Programování v jazyku C/C++ (hodnocení: A)

Toto byl můj pojistný předmět :). Jelikož v céčku programuji již dlouho, neznamenal pro mě předmět nejmenší problém, navíc – hodnocení bylo velmi štědré. Jako semestrálku jsem si vybral výrazovou kalkulačku a zároveň převaděčku mezi infixem, postfixem a prefixem, za kterou jsem nakonec dostal plný počet bodů. Výrazovou kalkulačku jsem si naprogramoval (čistě objektově) v Javě jen tak pro zábavu již minulý rok, takže ji stačilo přepsat do C++ a doplnit k tomu parsery a převodníky různých notací. Navzdory očekávání mi to zabralo docela dost času – hodně práce se zpracováním výrazů (vybral jsem si zpracovávání typu fronta/zásobník místo syntaktických stromů).

Co se mi na tomto předmětu nelíbilo, byla skutečnost, že naše referenční prostředí byl zastaralý školní Solaris se zastaralým a standardy nedodržujícím kompilátorem g++. Studenti a učitelé K136 mají k disposici Visual Studio 2010, což je úžasné IDE s úzasným kompilátorem a optimalizátorem. Osobně jsem semestrálku vyvíjel právě v tomto prostředí, a protože garant předmětu, přednášející a zároveň cvičící, pan Strnad, je velmi velmi vstřícný, přijal mi ji v tomto formátu (jinak bych musel pro nespočet svých souborů psát Makefile a pravděpodobně bych u toho zešílel). Release si můžete stáhnout zde a primitivní dokumentaci zde. V módu „-ixc“ slouží jako rychlá a efektivní kalkulačka. Sám ji používám místo té windowsácké… konečně jsem udělal něco, co sám používám :D.

Matematika pro informatiku (Hodnocení: E)

Ačkoli mám z tohoto předmětu Ečko, nijak to neodráží, jaký jsem k němu měl vztah. Předmět mě ohromně bavil, a to hlavně díky panu garantovi a přednášejícímu, p.t. Velebilovi. Napsal skvělá, čtivá a krásně vysázená (až na určité výjimky – ‘a’ na konci řádků atp.) skripta Diskrétní matematika. Opravdu radost na ně pohledět, radost je číst… TeXu sláva na věky věků. Taky mi udělal radost citováním písničky Rock Around the Clock Billa Halleyho :D.

Na cvičení jsme měli výbornou p.t. Natálku Zhukavets, která má dokonalý talent na vysvětlování. Opravdu, všechno, co jsem z přednášky nechápal, mi byla schopna vysvětlit v řádu minut. Udělali jsme stovky různých příkladů a ke kadé písemce jsme spočítali několik typových příkladů. Tuto cvičící rozhodně doporučuji všem, kdo se předmět absolvovat teprve chystají. Koficienti :).

Psaly se dvě semestrální písemky, každá po dvaceti bodech, z toho 10 povinných. První písemku (na rekurentní rovnice) jsem v řádném termínu bohužel nenapsal, protože jsem dostal charaktereistický polynom třetího stupně a v té panice jsem nepřišel na to, že kořeny musí být triviální a že stačí testovat -10 až 10 na kalkulačce a čekat, až vyplivne nulu. Napsal jsem ji v opravném na 15 :). Druhou písemku jsem napsal v řádném termínu na 18 (na počítání modulo číslo).

To zkoušková písemka, to je jiná. Oproti semestrálním testům byla netriviální až těžká, proto jsem si na ni vyhradil plus minus celý týden. Začal jsem protokolem RSA, přes Zn[x]/m(x), abstraktní výpočty, cyklické grupy a permutace, až po běžnou a strukturální matematickou indukci (té jsem ovšem moc nedal, protože jsem známý induktor… indukcí dokazuji kde co, viz můj transkript na DSA).

Nakonec v písmece bylo to, co jsem nechtěl, aby tam bylo, a co jsem se učil nejmín. Vůbec tam nebyly cyklické grupy, permutace ani strukturální indukce :(. Nakonec mi chyběly na Dčko 2 body. Každopádně to byl skvělý předmět a skvěle vedený.

Datové struktury a algoritmy (Hodnocení: E)

Rozhodl jsem se veřejně nevyjadřovat k válečné sitauci, která kolem tohoto předmětu panuje, i když je moje stanovisko relativně neutrální. Místo toho raději popíši, co jsme dělali.

Na začátku předmětu pan Píše řekl, že má v plánu přidělit 3 body lidem, kteří se příhlásí a napíší transkript vybrané přednášky v PDF, který následně vystaví. Vzhledem k tomu, že mělo být zadáno 10 úkolů po jednom bodu a 7 bodů bylo potřebných k zápočtu, okamžitě jsem se o transkript přihlásil (protože jsem předpokládal, že úkoly, které vymyslí pan Píše, rozhodně nebudou jednoduché). Předpokládal jsem správně. Úkoly byly zadávány z knížky (anglické – tj. byly anglicky) a hodně lidí si na nich vylámalo zuby, protože byly těžké. Hodně lidí z mého okolí předmět okamžitě vzdalo už v začátku, což byla podle mě pěkná blbost. Jeden člověk ode mě z oboru (což je hodně úzká specifikace – aktivních je nás tam tam tak 10) to vzdal, když mu nebyly uznány 4 úkoly v řadě, což byla neuvěřitelná blbost (na konci bylo spoustu šancí jak nahnat body – buď za aktivitu nebo ve speciálních úkolech). Já jsem díky transkriptu udělal jenom 3 úkoly z 10 a jednou jsem si prostě sednul do předu, zrovna když se na cvičeních braly relace. Řekl jsem, že relace je podmnožina kartézského součinu a už jsem měl 7 bodů… jako jeden z prvních. Zbytek úkolů už jsem nedělal.

Midterm. Opět vynechám tu část, která by mohla vyvolat plamenné diskuse a zaměřím se na věcnou část. Midterm byl těžký na to, že to byl midterm. Jinak byl imho docela triviální. Napsat primitivní matematický důkaz, spočítat jednu triviální rekurentní rovnici, napsat kód o jednom for-cyklu a jednom ifu, vynásobit a sečíst čtyři čísla. Na tom nebylo nic těžkého, přesto byla úspěšnost menší než 30%. Spousta lidí v této části skončila.

Zkouška. Zkouška byla těžká. Abych pravdu řekl, byla to nějtěžší a nejvíc na-přemýšlení-založená zkouška, jakou jsem kdy na FELu zažil. Dala mi pořádně zabrat! Jestli ji chcete vidět, mám ji schovanou zde. Dělal jsem jenom Ečkové příklady. Na Dčkové se nikdo nestačil ani podívat. Úspěšnost byla opět mizivá. Ale mám to!

37 kreditů z 37

Semestrálky z tohoto semestru 2

Semestrálka z PJV/OMO

Dělal jsem klon klasické hry „had“. Vývoj mne bavil, ale vůbec nebyl jednoduchý. Zprvu jsem se totiž pokoušel vytvořit vlastní algoritmus hledání nejkratší cesty přes ohodnocený graf, ale zoufale jsem neuspěl. Následně jsem se pokusil adaptovat do Javy pseudokód, kterým byl popsán relativně rychlý algoritmus A* (A star), což se mi po relativně dlouhé době (2 dny) podařilo. Po celou dobu vývoje jsem si zaznamenával postup, takže si můžete přečíst „vývojový deník“ :).

Hotová, zabugovaná a finální verse: Serpent Reborn
Její úžasné zdrojové kódy: Serpent Reborn [src]
Určitě vás bude zajímat i Class Diagram (v Enterprise Architectu).

Celý projekt jsem po počátečních okamžicích s NetBeansem psal v Eclipsu, protože, buďme k sobě upřímní… NetBeans nestojí ani za tu zlámanou grešli.

Semestrálka z WMM

Narozdíl od mnoha mých spolužáků webu neholduji a psaní semestrálky mě nebavilo. Nedělal jsem tak žádný projekt, který bych mohl komerčně využít, ale prosté osobní stránky (které mi ale vynesly hodnocení B).

Jsou k vidění v jejich konečné podobě na: test.mf4.cz

Drhuý Semetsr na ČUVT 3

Článek má suchou informační podobu a pokud nejste z STM, pravděpodobně vás ani ničím nezaujme.

Jak se blíží začátek žní, blíží se i konec zkouškového období druhého semestru a s takovou událostí je vždy spjato nějaké to závěrečné zhodnocení.

Tvorba Elektronické Dokumentace (TED) (hodnocení: A)

Pokud existuje něco jednodužšího než procházka akátovou alejí, pak je to TED. Předmět oddychový, nenáročný. Přednášky není nutno navštěvovat a na cvičení se člověk zpravidla těší. Buďto bude někdo presentovat svůj projekt a vy budete psát v anonymním hodnotícím systému něco o kočkách, nebo necháte paní Novou, ať povídá něco o Wordu, zatímco se budete snažit pokořit všechny levely v hadovi na Solarisu. Jako bonus se v předmětu naučíte i švihat ukazovátkem.

Programování v jazyce Java (PJV) (hodnocení: B)

Předmět se zaměřuje na framework Javy, a to je v podstatě všechno. Rozeberete si pár balíčků, pohrajete si s vlákny, s GUI a tím to končí. Na přednášce tohoto předmětu jsem strávil všehovšudy 10 minut a cvičení jsme neměli vůbec (pan M.V. s námi na cvičeních témata z PJV neprobíral, díky Bohu za to). V anketě jsem se o přednášejícím tohoto předmětu (pan M.B.) vyjádřil mírně kriticky, protože si myslím, že je předmět špatně veden (a jeho básnička je trapná).

Struktura a architektura počítačů (SAP) (hodnocení: A)

Tento předmět mě pod vedením pana Zděnka velmi bavil, a nutno říci, že je to právě jeho zásluhou. Přednášky vedl učebnicově, dokázal zaujmout, slušně se oblékal a jeho hlas neuspával. Každou věc dokázal podat tak zajímavě, že člověku utkvěla v paměti, ani nevěděl jak. Za zmínku stojí i výtečně zpracované slidy, které samy o sobě poslouží jako plnohodnotný učební materiál. Cvičení předmětu mi dávala velmi zabrat a musel jsem věnovat množství svého volného času čtyřem úlohám, které bylo nutno během semsetru splnit. Během semestru se také psaly dva testy, z nichž na druhý jsem se zcela vykašlal a nezískal tak A ze semestru. Nicméně relativně velký počet bodů ze semestru (41) a zkouškový test napsaný na 50 z 50 měly za výsledek 91 bodů a známku A. Mé díky patří také mému středoškolskému profesoru na mikroprocesorovku, panu Janoudovi (během testu jsem u jedné otázky vycházel čistě z toho, co si pamatuji od něj) a Lucce, která mě znovu naučila karnáfovky.

Objektové modelování (hodnocení: A)

Na tento předmět jsem se hodně těšil, protože tak nějak objektově jsem programoval již řadu let předtím. Nicméně jsem zjistil, že špatně. Špatně jsem se objektový přístup naučil z knihy o C++ a ze všech ostatních tištěných materiálů. V Čechách pravděpodobně neexistuje kniha, která by jej správně vysvětlovala (zvlášť ne Pecinovský – to je snůška žvástů, ze které se profesionální programátor pozvrací, pokročilého znechutí a začátečníka zmate) a o to více jsem oceňoval přednášky ing. P., tedy alespoň tu část, kdy nedělal kraviny a doopravdy přednášel. Skutečně mě obtěžovaly jeho soutěže ve stylu Chcete být milionářem a Riskuj. Stejně tak se mi příliš nezamlouvalo jeho chování při zkoušce a vůbec – organisace zkoušky jako takové. Pro běžného smrtelníka je zkouška z OMA něco jako očistec. 4 hodiny v kuse nepřetržitě psát kód z látky, která musí být zažitá, aby se dala správně pochopit a z látky, která vůbec nebyla náplní předmětu (například spojové seznamy nebo implementace kartézského součinu). Další věcí byla nejednoznačnost zadání. Když jsem si ho četl, napadalo mne hodně různých nesprávných řešení, která se mohla hodně lidem jevit jako alternativní. Sám jsem měl u pár příkladů vážný problém pochopit, co se po mně chce. Nakonec jsem ale stejně uspěl, dostal C a pokračoval na ústní zkoušce, kde jsem si známku vylepšil na A.

Anglický jazyk II (A2) (hodnocení: A)

Učila mne opět výborná paní doktorka Klímová, takže na hodiny jsem se těšil. Kupodivu (!) se probírala látka, o které jsem jaktěživ neslyšel, takže jsem se musel i trochu učit. Díky dobře napsaným testům a presentací za A+ jsem dělal závěrečnou zkoušku pouze ústní. Narozdíl od pana Píš*ho a pana Zdě*ka mi paní Klímová na konci zkoušky podala ruku.

Právní aspekty podnikání (PAP) (hodnocení: C)

Tento předmět mě nevýslovně nudil. Učení se na test bylo ještě horší. Právo a ekonomiku nesnáším a u učebních materiálů jsem nevydržel souvisle sedět ani čtvrt hodiny, aniž bych začal být podrážděný. Taky to tak dopadlo. Z testu jsem dostal za F a následně jsem šel na ústní, kde jsem si známku vylepšil na C (značnou zásluhou výborného pana Š.).

Web a multimédia (WMM) (hodnocení: B)

Web a vše, co je s ním spojené, nesnáším sice trochu méně než právo a ekonomiku, ale přece ho nesnáším. Nicméně jsem si vybral výborného cvičícího (pana Vlacha z firmy Seznam.cz), který vedl hodiny celkem zábavně a neměl na studenty přehnané požadavky (jako jmenovitě pan Bařinka). Písemky byly velmi jednoduché a semestrální práce byla hodnocena velmi příjemně… prostě si není na co stěžovat. Na přednášce jsem byl dvakrát… jednou jsem potřeboval psát semestrálku a jednou jsem si chtěl poslechnout čerstvě stažená alba Eluveitie.

Matematická logika (MLO) (hodnocení: E)

Největší strašák tohoto semestru. Na přednáškách se bezduše opisovaly hromady nicneříkajících symbolů z tabule a na cvičeních se pro změnu dělalo to samé. O předmětu jsem ale už od začátku věděl, že není úplně triviální, a tak jsem si zapisoval poctivě všechno. Můj sešit z MLO prošel rukama minimálně třem lidem, pršelo na něj a taky se, chudinka, praštil o kandelábr (ale nic se mu nestalo). Byl to jediný sešit, který jsem si tento semestr zavedl a hodil se mi velice. V posledním týdnu jsem se z něj intensivně připravoval a obávanou zkoušku jsem nakonec udělal o tři body (stejně, jako Tonda minulý rok).

Tak mi tedy skončil první ročník bakalářského studia. Beze ztráty kreditu, s čistým štítem pro příští rok, což beru jako největší úspěch. Vážený průměr mých známek v tomto semestru je 1,53 (B) :).

Pokusní králíci z STM 1

Program STM, FEL ČVUT čeká doba velkých změn, která se dotkne jak nově nastupujících prváků, tak nás, jdoucích do druháku. Je to všeobecně změna k lepšímu, ale právě my budeme ti, kteří budou razit cestu dalším ročníkům.

O co se jedná? V zásadě změna kreditového systému tak, aby odpovídal ECTS (European Credit Transfer System) a s ní korelované změny ve studijních plánech oborů. V současné době jsou předměty „odměňovány“ počtem kreditů, který získáme součtem vyučovacích hodin, strávených na přednáškách a cvičeních toho kterého předmětu. Systém ECTS ještě přidává kredity za počet hodin strávených domácí prací (i když to v žádném případě není měřítko obtížnosti předmětu), a právě toto rozšíření čeká předměty STM.

letter bunny

Kreditové ohodnocení ale není jediné, co se mění. Dost drasticky se zasahuje do studijního plánu, co se týče skladby předmětů. V prvním ročníku bude místo naší „Matematiky 1″ vyučován předmět „Matematická analýza“, která v sobě bude zahrnovat i vícedimensionální kalkulus. Poněvadž vícedimensionální kalkulus je oproti základnímu kalkulu nesčetněkrát těžší záležitost, obávám se nestravitelnosti látky pro cílovou skupinu vyjukaných prváků. Nepochopím, proč výuka matematiky nemohla být rozdělena do dvou semestrů po dvojicích kalkulus-algebra (V prvním semestru základní analýza + lineární algebra, ve druhém semestru vícedimensionální analýza + matematická logika), osobně bych to uvítal. Navíc bude v prvním ročníku vyučována pravděpodobnost a statistika, což je jistě velmi užitečné.

Co se týče ostatních předmětů, bude zrušena „Tvorba elektronické dokumentace“ (stále se podivuji nad tím, jak náplň předmětů málokdy odpovídá jejich názvu) a „Web a multimédia“. Namísto těchto dvou bude přidán nový předmět podobně slabé obtížnosti.

Ve druhém ročníku povinně pro každého přibyde „Ekonomika podniku“, což je pro mě velice nepříjemná zpráva, neboť ekonomiku upřímně a z celého srdce nesnáším, nenávidím. Prostě se projevuje onen přídomek našeho programu „a management“ (na který začínám být pomalu alergický). Ve třetím semestru dále ubyde předmět (myslím) „Databázové systémy“ a bude nahrazen předmětem „Bezpečnost a kódování“. Předmět „Diskrétní matematika“ bude přeřazen do třetího semestru vedle „Datových struktur a algoritmů“ a ono kódování bude přesunuto na její místo. O těchto změnách nejsem úplně přesvědčen.

Další změna je v tělocviku a angličtině. Původně se počítalo s tím, že každý student se bude muset prokázat zkouškou z Angličtiny na úrovni 2 do konce druhého ročníku (přičemž zdarma bude pouze jeden dvousemestrální kurs). Já na tom nevidím nic špatného, ale návrh se setkal s neuvěřitelným odporem a bude zřejmě přepracován. Tělocvik se stane kreditovým a přesune se do volitelných, což hodnotím jako zápor.

Zároveň přibyde obrovské místo pro volitelné předměty a student se tak bude moci úž specialisovat. Co je podle tvůrců „revoluce“ jedna z nejdůležitějších změn, na bakalářskou práci bude vyhrazen dvojnásobek vyučovacích hodin (teoreticky), čili v posledním semestru budou pouze dva povinné předměty.

Revoluce se má udát během tohoto semestru, čili v zimě už nastoupíme do inovovaného druháku. Jsem zvědav. Dále bych ještě uvedl zajímavost, kterou mám oficiálně potvrzenou. Jedná se o

Úbytky na studijních oborech FEL za zimní semestr ak. roku 2009/2010

EEM – 58,4 %
KME – 56,5 %
KyR – 33 %
OI – 13,2 %
STM – 41 %

Z původního počtu 571 zapsaných nás zbylo 337 (obory jsou vypsány na 340).
Uvážíme-li (<-- prosím vás, špatné druhy pomlček nejsou moje chyba... nějaký démon je automaticky upravuje), že algebrou neprošlo 70 % lidí a že každý, kdo neprošel prvním semestrem zároveň neudělal algebru, získáváme zajímavé číslo, že minimálně 30 % lidí nyní přežívá na stmku s nedokončenou algebrou.

Odborný článek pro předmět Y14TED 1

V předmětu Tvorba elektronické dokumentace jsme dostali za úkol zpracovat třístránkový odborný článek o tématu, které jsme si zvolili pro předchozí presentaci.

Protože jsem v TeXu (plainu) výrazně pokročil díky publikacím pana Olšáka a detailnímu zkoumání jeho hotových maker (z nichž některá jsem si vypůjčil pro své práce – například barevné obdélníky zvýrazňující text či makro pro sazbu zdrojových kódů načítaných přímo ze zdrojových souborů (viz docby.tex)) a TeX mě velmi baví, o nástroji i tématu bylo rozhodnuto.

Protože už jsem měl jednu šablonu hotovou (dokumentace laboratorní úlohy předmětu Y14SAP), nechtělo se mi tvořit novou úplně od začátku, tak jsem onu šablonu pouze zjednodušil a upravil titulní stránku.

Nyní nevidím důvod, proč se o malou a nenáročnou práci nepodělit.

http://lair.mf4.cz/frdlimic.pdf

8 měsíců s Lenovo N500 11

Když jsem si před osmi měsíci vybíral notebook na vysokou školu, zároveň jsem věděl, že mi zcela určitě nahradí můj tehdejší desktop, a proto jsem vybíral zvlášť pečlivě a s ohledem na parametry, které se s časem příliš nezmění. Požadoval jsem také kvalitu, kterou mi nemohla zaručit jiná značka než Lenovo.

Čistě ze zajímavosti jsem ale zkoumal i produkty jiných značek. Mnohdy jsem nechápavě kroutil hlavou (předražené nefunkční notebooky Sony) a často jsem se i upřímně smál (notebooky Acer a Aušus nabité „výkonnou“ výbavou od pochybných značek jako je AMD nebo ATI, s životností kolem půl roku). Upřímně se divím, když vidím posluchárnu plnou těchto krabic, sem tam i nějaký MacBook (řekněte mi, co může vývojář vidět na MacBooku).

Rozhodl jsem se tenkrát pro Lenovo N500 (kvůli stropu 16 000) s procesorem Intel (bohužel jsem již neměl na Core 2 Duo, ale mohu si ho kdykoli dokoupit a vyměnit za stávající Dual Core). Svoji volbu si den co den pochvaluji. Skutečně si nemohu na nic stěžovat, protože jediný problém, který jsem s ním měl byl ten, že jednoho dne zatuhla klávesa s vykřičníkem. Prostě zatuhla a musel jsem vyvinout dvojnásobnou sílu, abych dostal výsledný vykřičník :). Klávesa se ale během týdne vyléčila sama – ani jsem nemusel tlačítko operovat.

Notebook zatěžuji opravdu významně. Běží průměrně dvanáct hodin denně a dvakrát týdně podstupuje pětihodinovou cestu střídavě mrazem a horkem. Kdysi, když jsem ještě trpěl entusiasmem ze studia na VŠ, jsem ho tahal i do poslucháren. Jednou dokonce jakási slečna za mnou pěla na můj notebook ódy (že ho má taky a tak dále). Jeden by řekl, že v takovém režimu by měl nárok na nějaké to zlobení, ale on ne. On prostě funguje bez problému.

Dále oceňuji jeho velmi tichý chod. Když člověk zrovna nezacyklí procesor nebo nezatěžuje GPU, větráček není vůbec aktivní a kryt zůstává i tak jen mírně teplý. Když už větráček zapne, potom, narozdíl od jiných notebooků, vydává tichý a příjemný zvuk. Má několik stupňů točení a ani jeden není vyloženě otravný. Také se mi líbí, že z jednotlivých stupňů přepíná skokem (nenabíhá jako vysavač).

Další featurka, o které bych nevěděl, že ji budu někdy používat, je hardwarové vypínání touchpadu (který je bohužel resistivní, narozdíl od touchpadu notebooku mé přítelkyně (HP), který umí multitouch – vážně -, přišel jsem na to náhodou). Když píšu, občas se omylem dotknu dlaní touchpadu, který následně evokuje kliknutí nebo nějaký jiný myší manévr. To je velice nepříjemné. Naštěstí ale stačí klepnout na jeden z dotekových sensorů v pravé horní částí klávesnice a mezi tlačítky touchpadu se, na znamení vypnutí, rozsvítí modrá LED. Další tři doteková tlačítka potom ovládají hlasitost.

Rozložení samotné klávesnice je celkem dobré, avšak má ve výchozím nastavení jeden zásadní nedostatek. Často používám, jako každý programátor, klávesy End a Home. Na klávesnici N500 jsou ale End a Home pouze sekundární k PageUp a PageDown (které naopak nepoužívám vůbec). Naštěstí se dají klávesy přemapovat. Věc, na kterou jsem si zvyknul hodně rychle, je přehození kláves Ctrl a Fn.

Vyloženě slabá stránka, jak už to u notebooků bývá, je integrovaná zvuková karta. Co jsem nepochopil, je výchozí nastavení nových systémů Windows (Vista a 7) ohledně zvuku. Převodníky jsou nastaveny na 16bitů/44,1kHz. Mnozí to nepoznají, takže bych radil čtenářum s těmito systémy se podívat do nastavení zvuku a případně přepnout alespoň na těch 24.

Jsem stará konzerva, takže počítáč nikdy dobrovolně neukládám ke spánku nebo hybernaci. Když odejdu, počítač prostě zamknu a když jdu spát, počítač prostě vypnu. Vypojený ze sítě používám počítač jen ojediněle, takže nemohu posoudit výdrž baterie a prvky spojené s hybernací a spánkem. Měl bych však jednu kuriositu. Notebook mé přítelkyně (HP), když je vypnutý a zapojený do sítě, není vlastně úplně vypnutý. Síťová karta je stále zapnutá a stále komunikuje se sítí. Žije si v noci vlastním životem a občas se dokonce z ničeho nic zapne. Jako by dostal nějaký příkaz ze sítě. Vzpomínám si, že Touny o něčem podobném, v souvislosti se svým počítačem, také mluvil. Každopádně, N500, když je vypnutý, tak vypíná i síťový adaptér.

Řada N se, krátce po tom, co se dostala na náš trh, přestala v Čechách prodávat :). Místo ní je tu ale řada G, která vypadá podobně (je kulatější). Co se týče kvality, nemohu sloužit.

Java – Gaussova Eliminační Metoda 5

Funkční applet: ZDE.

EDIT: Problém s lineárně závislými řádky :-).

Následující kód, který jsem dnes uvařil:-), převádí pomocí GEM matice libovolného typu do horního trojúhelníkového tvaru. Je optimalizovaný i pro mrchy matice, které v sobě skrývají n lineárně závislých řádků nebo dokonce sloupců. Je částečně optimalizovaný i paměťově… během výpočtu efektivně krátí nově vzniklé řádky matice (to je možno vypnout pomocí opt_through).

po předvedení kódu (kde záměrně chybí ona krátící metoda) ho vysvětlím a potom ukážu pár příkladů (přímo ze skript pana Olšáka).

public void GEM(boolean opt_through)     {         int i, j, l;         double c, d, gc;         boolean cad = false;         int m_var_r = 0;         int m_var_s = -1;         if(opt_through)         {             optimize();         }         for(m_var_r = 0; m_var_r < _m - 1; m_var_r++)         {             m_var_s++;             cad = false;             for(l = m_var_r; l < _m; l++)             {                 if((_matrix[m_var_r][m_var_s] != 0))                 {                     break;                 }                 if(l == _m - 1)                 {                     swapRows(m_var_r, _m - 1);                     cad = true;                 }                 swapRows(m_var_r, _m - l);             }             if(cad)             {                 m_var_r--;                 continue;             }             c = _matrix[m_var_r][m_var_s];             for(i = m_var_r; i < _m - 1; i++)             {                 d = _matrix[i + 1][m_var_s];                 for(j = m_var_r; j < _n; j++)                 {                     _matrix[i + 1][j] = (c * _  _matrix[i + 1][j])                             - (_matrix[m_var_r][j] * d);                 }                 if(opt_through)                 {                     gc = gcdv(_matrix[i + 1], _  m_var_r, _n - 1);                     for(j = m_var_r; j < _n && _  gc != 0; j++)                     {                         _matrix[i + 1][j] = _  _matrix[i + 1][j]                                 / Math.abs(gc);                     }                 }             }         }     }

Znáte původní objektovou konvenci Microsoftu? Jestli ano, určitě jste poznali, že je kód vytržený z nějaké třídy, protože soukromé vnitřní proměnné bylo kdysi dohodnuto označovat underscorem v prvním znaku identifikátoru – „private: int _example=0;“

_matrix je tedy ona matice samotná
_m je počet řádků
_n je počet sloupců
m_var_r a m_var_s jsou proměnné, které identifikují aktuální levý horní roh matice

Na začátku se zkrátí řádky (užitečné pro matici náhodných čísel typu 10 10, kterou někdo z legrace vynásobil číslem 678). Nabíhá hlavní loop, který posouvá horní roh, následován několika smyčkami a podmínkami, které kontrolují, zda-li se vyskytuje na aktuální pozici našeho primárního řádku (ten, který se „opisuje“) nula. Pakliže ano, prohodí s posledním a zknotroluje. Takto postupuje vystřídaje všechny řádky a pokud nenalezne žádné nenulové číslo, dekrementuje řádkový čítač (protože se ve foru bežně inkementuje a my chceme zůstat na stejné řádce, abychom se mohli posunout doprava) a pokračuje zpět na hlavičku prvního řádkového foru, potom se inkrementuje sloupcový čítač a opět se kontrolují nuly ve sloupci.

Pokud nalezne nenulové číslo, program přejde do druhé části, kde se aktuální sloupec nuluje (klasicky alfa bé mínus beta á), přičemž každý nově vzniklý řádek zkouší zkrátit (pokud to má zadáno oním boolem v parametrech). No a to je v podstatě všechno. Kód spadne pouze pro pro matice typu (m, 1) nebo (1, n), neboť ty se nedají eliminovat.

Teď koukám, na co jsem zapomněl… zapomněl jsem na proměnnou cad. Cad protože column already done a slouží jako dablbrejk :-).

Je pravděpodobné, že jsou tam zbytečné nebo dále optimalizovatelné kroky, ale vem to čert. Funguje to, a celkem rychle. Matici 100 na 100 s čísly od 0 do 10 zeliminatí za pár vteřin… akorát to zarovnání je potom takové… no… zřete :-)…

/ 7.0 8.0 10.0 2.0 6.0 3.0 9.0 3.0 9.0 1.0 | 5.0 5.0 1.0 10.0 9.0 9.0 5.0 6.0 7.0 0.0 | 9.0 10.0 1.0 6.0 10.0 3.0 9.0 5.0 2.0 8.0 | 5.0 1.0 3.0 2.0 1.0 6.0 1.0 3.0 2.0 3.0 | 5.0 10.0 2.0 9.0 10.0 1.0 3.0 5.0 5.0 2.0 | 8.0 8.0 3.0 8.0 2.0 10.0 1.0 10.0 4.0 9.0 | 9.0 8.0 4.0 8.0 9.0 2.0 0.0 5.0 3.0 3.0 | 9.0 4.0 3.0 3.0 6.0 9.0 2.0 5.0 1.0 3.0 | 1.0 2.0 8.0 10.0 0.0 5.0 6.0 7.0 2.0 5.0 \ 0.0 0.0 1.0 6.0 5.0 7.0 4.0 2.0 8.0 10.0 / 7.0 8.0 10.0 2.0 6.0 3.0 9.0 3.0 9.0 1.0 | 0.0 -5.0 -43.0 60.0 33.0 48.0 -10.0 27.0 4.0 -5.0 | 0.0 0.0 47.0 0.0 -2.0 18.0 10.0 2.0 49.0 -35.0 | 0.0 0.0 0.0 2632.0 1544.0 2601.0 176.0 1229.0 2169.0 ... | 0.0 0.0 0.0 0.0 6312.0 5843.0 18448.0 -625.0 7459.0 ... | 0.0 0.0 0.0 0.0 0.0 -15857.0 -24598.0 -5237.0 -10999... | 0.0 0.0 0.0 0.0 0.0 0.0 22017.0 4380.0 9081.0 -15604... | 0.0 0.0 0.0 0.0 0.0 0.0 0.0 26961.0 8682.0 -98101.0 | 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -10579.0 11283.0 \ 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.0

Nyní ještě slíbené příklady. Oba dva lze najít ve skriptech pana Olšáka. Zde jsou ale rozepsané podrobně tak, jak je můj program počítal:

/ 2.0 -2.0 1.0 0.0 3.0 4.0 | -4.0 4.0 -1.0 1.0 -7.0 -11.0 | 4.0 -4.0 5.0 1.0 7.0 -3.0 \ -6.0 6.0 -4.0 1.0 -12.0 -7.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 2.0 2.0 -2.0 -6.0 | 4.0 -4.0 5.0 1.0 7.0 -3.0 \ -6.0 6.0 -4.0 1.0 -12.0 -7.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 6.0 2.0 2.0 -22.0 \ -6.0 6.0 -4.0 1.0 -12.0 -7.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 3.0 1.0 1.0 -11.0 \ 0.0 0.0 -2.0 2.0 -6.0 10.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 2.0 -4.0 2.0 \ 0.0 0.0 3.0 1.0 1.0 -11.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 1.0 -2.0 1.0 \ 0.0 0.0 0.0 -2.0 4.0 -2.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 1.0 -2.0 1.0 \ 0.0 0.0 0.0 0.0 0.0 0.0 / 2.0 -2.0 1.0 0.0 3.0 4.0 | 0.0 0.0 1.0 1.0 -1.0 -3.0 | 0.0 0.0 0.0 1.0 -2.0 1.0 \ 0.0 0.0 0.0 0.0 0.0 0.0

A ještě jeden.

/ 1.0 2.0 3.0 1.0 1.0 | 2.0 4.0 7.0 7.0 4.0 | 1.0 0.0 2.0 0.0 -2.0 \ 3.0 7.0 10.0 6.0 7.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 0.0 1.0 5.0 2.0 | 1.0 0.0 2.0 0.0 -2.0 \ 3.0 7.0 10.0 6.0 7.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 0.0 1.0 5.0 2.0 | 0.0 -2.0 -1.0 -1.0 -3.0 \ 3.0 7.0 10.0 6.0 7.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 0.0 1.0 5.0 2.0 | 0.0 -2.0 -1.0 -1.0 -3.0 \ 0.0 1.0 1.0 3.0 4.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 1.0 5.0 2.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 1.0 5.0 2.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 0.0 0.0 -3.0 / 1.0 2.0 3.0 1.0 1.0 | 0.0 1.0 1.0 3.0 4.0 | 0.0 0.0 1.0 5.0 5.0 \ 0.0 0.0 0.0 0.0 -1.0

ČVUT FEL 2

mě naplňuje.

Včera a dneska jsem se učil na písemku z Úvodu do operačních systémů… a dneska jsem ji dal za plný počet. Předmět, se kterým jsem doposud válčil tak získal svoje kouzlo. Každá věc tak učiní, když si ji podmaním.
A když nás cvičící zasvěcoval do skriptování pod bashem… mobilizoval jsem všechny neurony a hltal zářivá klíčová slova objevující se jedno podruhém v mém JOE. I pochopil jsem, že sem patřím.

Z algoritmizace mám v půlce semestru šestnáct bodů… z deseti potřebných. Nakonci budu mít pravděpodobně bodů teoreticky na dva zápočty :). Baví mě v šest večer si sednout k počítači a sázet kód až do půlnoci, java nejava, a potom spokojeně odejít spát.

Matematika se stala skoro mým koníčkem. Nikdy jsem netušil, že derivování, integrování, vyšetřování nebo aproximace funkcí toho v sobě může skrývat tolik o podstatě světa. A co teprve věci, o kterých ještě nevím… věci, které na mě čekají v dobrovolné matematice 2 a dále.

Lineární algebra je jako klíč, který zapadá do spousty zámků a dokážete s ním jednoduše odemknout mnoho dveří, pod kterými jste se kdysi museli podkopávat. Je to jediný předmět, který mě dokáže vypnout… tj. dostat do stavu, kdy nechápu a mozek odmítá přijímat další informace.

A v pátek na pinčesu vždycky nachvíli na všechno zapomenu a pořádně si zamlátím do toho malého bílého sféromaku.

A tady je jedna pro… 0

kamarády, kteří to mají doleva a chybí jim v čechách vhodná strana… něco jako Sinn Féin.

O kukuřici 0

Zapomenutá úroda kukuřice marně čeká na sklizeň, odmítaje si připustit, že její listy už hnědnou, padají, umírají, a jako takové už nemají hodnotu. Její semena nevyklíčí, vzali jim tu schopnost… pouze zetlí ve svých malých hrobech, kterých bude za pár měsíců na poli nespočet. Potom přijde jiná kukuřice a jiná úroda, jiná semena a jiné konce. Nikdo si nepovšimne předchozích osudů, které nevyšly a nikdo nevzpomene na jejich památku, nepostaví kříž, protože semena nemají náboženství. Když se ztratí náboženství, vezme s sebou postupně i všechny věci, které pomáhalo zbudovat.