Co se tady v té škole vlastně učíme? Proč máme projekt za 19 kreditů? O čem ten projekt je? Jak nám to jde? Jak mě to baví? O prvních dojmech ze školy už jsem psal tady. Teď už je to měsíc a půl(!) a už jsem se trochu zorientoval, tak to tu zkusím trochu objasnit. (Jen upozorním, že to bude místy trochu informatické a vhodnou prerekvizitou pro některé pasáže je kurz vyčíslitelnosti a složitosti)
Co se tu učíme?
Mám 5 předmětů a z jednoho z nich projekt. Konkrétně:
- Database Systems. Úvod do databází. Je to skoro jako u nás(co jsem měl minulý semestr), tak moc tam nechodím. Nicméně je to takový normální informatický předmět a má to normální ústní zkoušku.
- Software Engineering. Hnus; něco jako u nás ANANAS. Je to na mě moc ‘engineering’ :) Prostě kopa metod na vývoj softwaru. Tedy žádná exaktní věda, moc keců a málo matiky.
- Software Innovation. Ještě víc keců a ještě míň matiky. Začalo to teda docela nadějně, nějaké základní povídaní o tom, proč chceme být při vývoji inovativní, co je důležité a jak ta inovace vlastně funguje. Pak se to zvrhlo do nějakých metod jak být kreativnější a inovativnější (které podle mě moc nefungují a rozhodně se mi nelíbily).
- Professional Communication in Computer Science. Už jsem tu o tom psal; měli jsme to týden v kuse a bylo to takové povídání o vědě a jak číst, psát či prezentovat články.
- Semantics and Verification. To je ten s projektem! Jediný rozumný předmět(taky ho učí Čech;-)). Taková zajímavá část teoretické informatiky, prý s četnými aplikacemi(nedovedu posoudit). Stručně jde o to, jak ověřit, že se nějaký systém (informatický, shluk nějakého softwaru a hardwaru) chová tak jak chceme — nikdy se nezasekne, vždycky odpoví, když se ho na něco zeptáme apod.
Proč máme projekt za 19 kreditů?
Protože si tady ta škola říká ‘problem-based‘. Oni to tak mají každý semestr. Jejich hlavní činnost je tedy sedět v group-roomu a dělat projekt. Jelikož to bývá něco dost velkého, tak se na tom asi fakt dost naučí. Rozhodně to vyžaduje komunikaci a týmovou práci, což u nás člověk vůbec nepotká. Určitě je to taky bližší nějaké normální práci a získají tím dost praktických zkušeností. Na druhou stranu je to takové — tohle si nastuduj sám, pak si na to sám vymysli cvičení a udělej ho, pak vymysli jak to použít.. Trochu to zní jako “nemáme učitele na to, aby vám tyhle všechny věci vysvětlili a stejně pro vás bude lepší, když se to naučíte sami”.
Nějaká samostatná a týmová práce by se rozhodně měla zavést i u nás, ale tohle mi přijde dost extrémní. Myslím že mi semestr bude stačit :)
O čem ten projekt je?
Projekt je ze Semantics and Verification, konkrétněji budeme dělat jakési ověřování vlastností pro jakési speciální automaty, konkrétně to bude model checking for (A/C/L)TL(*) over priced one-clock timed automata/games, ještě se přesně uvidí. Tedy, čeká se od nás, že se nejprv zorientujeme v oblasti — tj. přečteme moc odborných článků, resp. knih. Zjistíme, které problémy nejsou vyřešené, kde by šly nějaké problémy vymyslet, kde by šla teorie rozvinout dál apod. Pak to zkonzultujem se supervisorem, ten naše představy trochu přizpůsobí realitě a pak to všechno uděláme.
Výstupem naší práce bude odborný článek, termín na odevzdání je 28.5. (všechny ostatní školní aktivity končí před velikonocemi, květen je jenom na projekt) Pak asi někdy v červnu bude jakási obhajoba.
Jak nám to jde?
Moc ne, takřka vůbec. Zatím jsme ve orientační fázi a nemám pocit, že bychom nějak výrazně postupovali. Je toho hrozně moc. Navíc o tom zatím neumíme moc diskutovat a vůbec spolupracovat, ale to se snad zlepší. Filip dělá něco podobného u nás na FI v labu, takže tomu dost rozumí, ale já mám dost problémy vstřebat rychle tolik teorie, když si ji navíc všechnu musím nastudovat sám a není vůbec jasné co budu potřebovat a co ne.
Nicméně už jsme si tak trochu rozmysleli, co vlastně chceme dělat, a to je dobrý základ.
Jak mě to baví?
Nejzajímavější otázka na závěr! :) Nejprv se vyjádřím k té teorii okolo projektu, k model-checkingu.
Je to síla. Přijde mi to dost zajímavé, ale je to dost široké, je toho moc. Navíc, co se těch algoritmů za tím týče, jsem zvyklý uvažovat řádově jinak. Tedy, jsem odchovaný na tom, že NP-těžké věci jsou FUJFUJFUJ a zajímavé je zrychlovat ty kvadratické algoritmy na lineární (např.).
O nějakých horších věcech, než NP, jsem se vlastně pořádně dozvěděl až předminulý/minulý semestr. V téhle oblasti jsme úplně jinde. Už rozhodnutelnost je krásná, standard je PSPACE a NP-úplné problémy jsou ty lehké. Je to takový paradigm-shift a není pro mě úplně jednoduché si na to zvyknout. Na druhou stranu ta teorie je hezká i užitečná (prý se to reálně používá v průmyslu! :D), takže jsem určitě rád, že se o tom něco přiučím..
Co se ostatních věcí týče, tak jak už jsem naznačil výše, ostatní předměty mě hrubě neba.
Projekt obecně, jakožto samostatná práce, mě ba. Dost mi to u nás chybí. Doma člověk jen (ne)chodí na přednášky, pak se teda něco naučí ke zkoušce, dostane Ačko a konec. Tady to jde o hodně víc do hloubky.
Zatím mě taky moc nebaví(nebo spíš mi nejde) týmově spolupracovat, neb se moc neumím rychle a trefně anglicky vyjadřovat. To by se ale snad mohlo zlepšit, uvidíme.
Tož tak. Doufám, že to bylo dost vyčerpávající. Případné další dotazy rád zodpovím :)