CVUT FEL

Matematika 6f - 01M6f

Poslední matematika na FELu a snad i v celém mém vzdělávacím procesu. Statitika a fuzzy logika jsou zajímavá témata, ale nebylo toho málo. Podmínkou zápočtu je semestrální práce týkající se statistiky.

Semestrální práce - testování hypotéz

Moje zadání: K hostingu mých webových stránek jsou poskytovány podrobné statistiky návštěvností. Otestuji, zda trvání návštěv www stránek má exponenciální rozložení.

Fyzika - 02F

Moje protokoly za dva perné semestry na FELu. Bohužel jsem o první dva protokoly z Fyziky 1 přišel při experimentech s OS Linux. Tady je ke stažení vše pěkně pohromadě:
fyzika.zip (412 kB)

Fyzika 1

úloha 3a Studium elektrostatického pole na modelech
úloha 4a Stanovení teplotního součinitele odporu kovů
úloha 5a Stanovení tíhového zrychlení reverzním kyvadlem a studium gravitačního pole

Fyzika 2

úloha 1a Měření rychlosti šíření zvukových vln v kapalině
úloha 2 Stanovení Boltzmannovy konstanty pomocí VA char. PN přechodu
úloha 3b Měření činitele zvukové pohltivosti materiálů v akustickém interferometru
úloha 4a Studium fotoefektu a stanovení Planckovy konstanty
úloha 5a Studium ohybu světla - Fraunhoferův a Fresnelův ohyb

Němčina

Ve třetím semestru jsem měl nakonec jinou učitelku, než jsem si původně zapsal. Prostě na první hodinu přišla a řekla, že němčinu v tenhle čas bude mít ona (na FELu často objevující se jev). Ze začátku jsme na to koukali dost divně a chtěli ze skupiny odejít. Ale asi po třech cvičeních jsme zjistili, že jsme udělali moc dobře, že jsme zůstali. Písemky se moc nepsali, ale hlavní důraz dávala na "eseje", které se psaly doma. Tak je sem dávám, ať se můžete inspirovat.

Materiály pro elektrotechniku - 12MT

Protokol z laboratorního meření:

Úvod do elektrotechniky - 12UE

Odvození vztajů pro výpočet multivibrátoru a odporového děliče:

Teorie pole 1 - 17TP1

Protokol k měření vzájemné indukčnosti cívek a magnetické pole dlouhého solenoidu:

Programovatelné součástky - 34PRS

Dost zajímavý a velice podobný předmětu POB, ale tento je od katedry mikroelektoniky. Během semestru se probírá struktura obvodů CPLD a FPGA od f. XILINX a řeší se 2 větší úlohy.

Stopky

Spartan 2E board Návrh a implementace stopek (milisekundy a sekundy) pro obvod CPLD CoolRunner CR3064XL.
stopky.zip VHDL zdrojáky + testbench

LCD driver pro DIO2 Spartan 2E

top level
lcd_drv.zip VHDL zdrojáky + testbench
lcd_drv.pdf dokumentace
lcd_drv.png schéma top_level komponenty

Aplikace mikropočítačů - 36AMI

BlueNET

S Tůmičem jsme zapracovali na obousměrném síťovém mostu. Na jedné straně je Bluetooth (vrstva L2CAP) a na druhé straně Ethernet (TCP). Řešení je postaveno na procesoru AVR 128 a operačním systému NutOS. Bluetooth stack je použit z projektu BlueMP3.

Automatizace projektování číslicových systémů - 36APC

Spíš než o automatizaci, je předmět o práci v týmu na HW projektu. Začátkem semestru se dělá pár příkladů ve VHDL a dohodne se projekt na kterém pak každý dělá určitou část. Pracovali jsme na CPU, který řídí datové přenosy. Více na stránkách Martina Daňka (cvičící - vedoucí projektu).

Semestrální práce - CPU s využitím PicoBlaze (kcpsm3)

system arch Cílem bylo navrhnout zařízení, které bude číst, zpracovávat, zobrazovat a přenášet do počítače data z GPS modulu. S Milošem Hrdým jsme dělali na CPU. Vyšli jsme z PicoBlaze kcpsm3, ke kterému jsme dopsali adresní dekodér. Poté jsme celý CPU portovali na Xilinx Spartan 2E včetně assembleru.
CPU (procesor připravený pro integraci do projektu)
CPU s programem pro zápis a čtení dat ze SRAM přes COM port
Report moje závěrečné hodnocení
Dokumentace :-) emialy ze kterých se dá vyčíst jak to funguje...

Architektura Počítačových Systémů - 36APS

Zajímavý a poměrně náročný hardwarový předmět. Navrhují se zde cache, vše možné kolem procesoru DLX, probírají se zde jednotlivé ISA a ke konci je "drobný" úvod do paraleních počítačů. Cvičení jsou spíše praktická i když se občas něco počítá. Naše (moje a Martina Prchlíka) úloha:
Násobení matic na procesoru WinDLX (optimalizace pomocí rozbalení cyklů)

Databázové systémy - 36DBS

Návrh databáze informačního systému pro Zoologickou zahradu.

Zpracování protokolu "Packet over Sonet" na FPGA (Diplomová práce - 36DP)

Tak a povedlo se! Poslední práce, kterou jsem v rámci školy udělal. Diplomovou práci jsem obájil 13.února 2008.
Zadání diplomové práce
Dokument (zdrojové soubory pro LaTeX)
Prezentace (zdrojové soubory pro LaTeX)

Diagnostika a spolehlivost - 36DSP

Nas tymHILDO

Distribuované systémy - 36DSY

small screenshot
"Síťařský předmět". Na přednášce se probírají jednotlivé vrstvy protokolu OSI. Na cvičení se řeší 3 úlohy a dělají se praktické příklady na směrování a efektivitu protokolů.

Lokální sítě - 36LOS

Kromě pěkných praktických cvičení na konfiguraci WIFI AP a VLAN se ve dvojici programují 2 úlohy. V první je za úkol analyzovat síťový provoz do vrstvy TCP/IP + libovolný vyšší protokol. V druhé úloze se sestavují a pomocí RAW socketů odesílají různé pakety.

Úlohy

úloha 1 analýza FTP spojení
úloha 2 ICMP echo klient / server

Logické systémy - 36LS

Pomocí synchronního sekvenčního obvodu realizujte konečný automat se dvěma vstupy a, b a jedním výstupem z, zadaný tabulkou přechodů a tabulkou výstupů. Použijte vhodnou metodu pro minimalizaci a zakódování vnitřních stavů. Správnost návrhu ověřte pomocí simulace tak, aby se v časovém diagramu prošlo všemi vnitřními stavy minimalizovaného automatu.

Moderní technologie počítačových sítí - 36MPS

Zajímavý předmět pod vedením ing. Martina Jansy. Ze začátku jsou cvika zaměřené na práci se SNMP a poté ve zbytku semestru každý přednese nějaký referát na téma týkající se nějak sítí.
SONET/SDH prezentace

Neuronové sítě - 36NAN

Tento předmět je velice zajímavý a vedou ho výborní lidé. Tak otevřený přístup od cvičících i přednášejícího jsem na fakultě ještě nezažil. Zajímavé jsou také stránky předmětu, kde se ze slaidů dozvíte o co jde. Další nemalý přínos předmětu vidím v semestrélní práci. Musíte vypracovat report v LaTeXu.

Data z ústředen - modelování úspěšnosti hovoru

Návrh logiky počítačů - 36NLP

První třetina semestru je věnovaná procesoru DOP. Jedná se o procesor vyvinutý na katedře počítačů.

Semestrální práce - mikro assembler procesoru DOP

Úkolem semestrálky je dopsat nějakou instrukci. V mém případě na sčítání 2 čísel, jedno zadané jako přímý operand a druhé uloženo v paměti.
instrukce "addm" procesoru DOP

Operační systémy - 36OSY

Semestr je rozdělen do dvou částí. V první se na cvičení probírají procesy / vlákna a jejich synchronizace. Druhá část semestru je věnovaná DCL ve VMS

UNIX - Průběžný sort

Jako semestrálku na synchronizaci procesů jsem dělal zadání č.16 - Průběžný sort.
psort.zip zdrojové kódy a spustitelné soubory pro Solaris

VMS - výpis času v českém formátu

Úlohu č.28 - po 5s vypisovat česky datum a čas.

Problémy a algoritmy - 36PAA

Velice zajímavý předmět, který se zabývá řešením P a NP problémů. Díky dvojici Schmidt + Kordík patřil k nejlepším předmětům v semestru.

Úlohy

úloha 1 - batoh 1 řešení 0/1 problému batohu hrubou silou
úloha 2 - kýble heuristika řešící zobecněný problém dvou kýblů
úloha 3 - batoh 2 řešení 0/1 problému batohu metodou větví a hranic, dynamického programování a heuristikou podle poměru cena/hmotnost s testem nejcennější věci
úloha 4 - experiment hodnocení algoritmů pro řešení problému batohu
úloha 5 - batoh 4 simulované ochlazování (pokročilá iterativní metoda)

Semestrální práce

Vyvrcholení předmětu v podobě naprogramování pokročilé heuristiky pro problém SAT.
SAT řešený pomocí simulovaného ochlazování

Paralelní systémy a algoritmy - 36PAR

Všeobecně nejobávanější předmět výpočetkářů. Samozřejmě, že jsem z něj měl strach, ale teď když je po všem, tak musím říct, že se to dá za 14 dní v klidu naučit.

Ke zkoušce

Nemá cenu popisovat jak zkouška probíhá, to si přečtěte třeba na oficiálních stánkách předmětu. Naskenoval jsem poznámky z teoretických cvičení a ultra zhuštěné výpisky ze skript (inspirace od Augiho).

Semestrální práce - Othello

Semestrální práci jsme dělali s Augim. On kódil, já měřil a psal zprávu. Snad jen dodám, že pro implementaci jsme zvolili jazyk C.
Data na kterých jsme měřili
Zpráva (milovníci LaTeXu jistě ocení)

Programovací jazyky - 36PJ

Předmět navazující na 36JPR. Nové teorie se moc neprobírá, je spíš zaměřen na praktickou tvorbu překladačů. Celé snažení během semestru vyústí napsáním semestrálky. Dělal jsem převod VHDL do HTML s kontrolou syntaxe a obarvování výstupu. Z důvodu náročnosti jsem okrouhal, pravidla gramatiky a na úkor tohoto zjednodušení má program omezenou funkci.

Převod VHDL do HTML

Programovací jazyk C - 36PJC

Co k tomu víc říct. Prostě Céčko... Stránky předmětu jsou pěkně zpracované a je na nich spousta příkladů. Mohu jen doporučit. Na cvičení jsem chodil k panu Mikšíčkovi a měl své zadání semestrálek. Děla jsem Načítání EXIF informací z JPEG souborů.

Načítání EXIF informací z JPEG souborů

www.exif.org specifikace

Úlohy ze stránek předmětu

trojúhelník výpočet S, O, úhly, výšky, těžnice, r kružnice vepsané / opsané
matice výpočet inverzní matice
integrál funkce pro řešení určitého integrálu numerickou metodou

Programovací jazyky pro WWW - 36PJW

Krycí název pro Javu. Nic víc ani míň. Bohudík se zatím Java nestala synonymem pro veškeré webové technologie. A jak řekl kamarád Tůmič, až se tak stane, spáchám demonstativní sebevraždu skokem do soukolí JVM.

Kreslení po síti

Aplikace skládající se ze servru a klienta. Síťovou komunikaci jsem udělal pomocí Java RMI a proto pro běh potřebuje spuštěné RMIregistry.

Programovatelné obvody - 36POB

Tento předmět se zabývá programovateln7mi obvody trošku víc ze široka než PRS. Výhoda je, že si šáhnete na programovaní obvodů PEEL/GAL a že úlohy se řeší ve skupinkách. Narozdíl od PRS je předmět zakončen zkouškou a během semestru se píše test, což u PRS není...
Náš hvězdný tým ve složení Tomáš Dedek, Miloš Hrdý a já spolupracoval velice dobře :-)

Rychlá sčítačka

Měli jsme za úkol navrhnout a implementovat rychlou sčítačku na obvodu GAL(PEEL) 18CV10. Jelikož jsme s Tomášem byli v době prezentace výsledků na horách, zůstalo to na Milošovi. Zmocnil se toho skvěle.

Sběrnice

Další úloha v pořadí byla teoretická. Zkoumali jsme dobu zpoždění sběrnic v FPGA.

Hra PONG

lab1 lab1
Naše poslední a nejzábavnější úloha. I když nás dost lidí před prácí s VGA varovalo, nebylo to vůbec složité.
pong_hdl.zip VHDL zdrojáky + UCF
pong_bit.zip bit stream pro Spartan 2E XC2S00E-PQ208
pong.wmv ukázkové video hry

Projektování mikropočítačových systémů - 36PRM

Velice kvalitní předmět co se programování jednočipů týče. Přednášky jsou věnovány návrhu periferií a podpůrných obvodů pro mikra. Na cvičení se převážně programuje v assembleru dsPIC p30f4011. Více na oficiálních stránkách předmětu: X36PRM.

Úlohy ze cvičení

V týmu jsem byl s Milošem Hrdým, což je guru na mikra, takže spolupráce jedna radost... pwm zapojene pracoviste
Podprogramy pro převod čísel do ASCII v desítkové a hexadecimální soustavě
LCD utils Výpis čísel a stringů na LCD připojeného na SPI sběrnici
Měření frekvence pomocí čítačů
Měření periody pomocí bloku capture
RS 232 komunikace ovládání mikra přes sériový port
A/D převodník zobrazení teploty a hodnoty potenciometru na LCD
PWM - funkce sinus psáno v C, jedno mikro pomocí output compare generuje sin průběh, druhé mikro pomocí A/D a sériové linky zobrazuje výsledek na terminálu.

Programovací techniky - 36PT

Tento předmět je o programovacích technikách (-:. Probírají se různé datové struktury, algoritmy třídění, vyhledávání, atd. Řešili jsme doma úlohy z ACM, za které jsme dostávali body a za které byla možnost získat známku ze semestru bez zkoušky. Taky se dělala semestrálka, implementace nějaké datové struktury. Vybral jsem si dvojrozměrný intervalový strom.

Dvojrozměrný intervalový strom

Úlohy

prefix - infix Převod výrazu z prefixového do infixového zápisu

Periferní zařízení - 36PZ

No být tento předmět v 1.ročníku, tak pro doplnění všeobecných znalostí a mírné rozšíření by vůbec nebyl špatný. Ale jako povinný v 8.semestru pro výpočetní techniku je to celkem výsměch. Nebýt 3 laboratorních měření, tak přínos téměř žádný...

Protokoly z měření

Měří se ve 4-člených skupinkách. Asi nejzajímavější a nejpřínosnější je měření na sběrnici PCI, nebo USB. Ale měření na disku s rozhraním ST506 (jako FDD) je historie.

Měření parametrů pevného disku (protokol vypracoval Pepa Bouška)
Sériová komunikace - RS 232 (protokol vypracoval Michal Augustýn)

Poznámka: Všichni autoři souhlasili se zveřejněním jejich protokolu.

Softwarové inženýrství I - 36SI

V tamto předmětu se v týmech řídí nějaký softwarový projekt. Náš tým (Michal Augustýn, Michal Král, Martin Prchlík, Jirka Sejtko, Michal Trs) pracoval na projektu LETSIM - Letecký simulátor .

Simulace - 36SIM

Velice přínosný předmět. Škoda, že míchá 2 věci dohromady. Jsou různé předměty, které se zabývají výukou programovacích jazyků, např C, C++, Java, C#, ale VHDL se učí zcela stějně a nezávisle na sobě hned ve třech předmětech. Tento nedostatek je ve strukturovaném studiu již odstraněn - předmět X36JSS.
Další plus předmětu je, že ho cvičil ing. Martin Novotný - hardwerář tělem i duší. Pokud vás zajíma HW a máte možnost si zapsat předmět s tímto člověkem, určitě to udělejte! A zápočty dává u Žaludů :-)

Sériová násobička ve VHDL

Cílem je popsat ve VHDL na RTL úrovni sériovou 8 bitovou násobičku.

Strojově orientované jazyky - 36SOJ

Jeden z mých nejoblíbenějších předmětů na FELu vůbec. Měl jsem štěstí, protože jako poslední jsme ještě kódovali v assembleru pro x86. A ještě větší štěstí bylo, že jsem na tento předmět měl opravdového nadšence Pavla Cimbála. Podmínkou zápočtu bylo udělat 5 úloh a semestrálku na zadané téma.
Zadání všech úloh a hlavně návody jak je řešit jsou na jeho stránkách. Určitě se na ně podívejte!

Úlohy

screenshot uloha 4
úloha 1 segmenty, pristup do pameti, vypis na obrazovku
úloha 2 numericke operace, pole, vstup z klavesnice
úloha 3 textovy mod, hardwarove preruseni, asynchronni udalosti
úloha 4 graficky mod, generator palety, konvolutorni a xorovane textury
úloha 5 alokace pameti, prikazova radka, cteni ze souboru, mys, nasvecovani

Semestrální práce - IDE identifikátor

Nevypisuje tolik zajímavých věcí, jako identifikátor od Pavla Cimbála, ale zas jsem si vyhrál s GUI. Správně funguje pouze pod DOSem (OS Windows odstiňují porty). Nerozpozná SATA zařízení.

Speciální architektury - 36SPA

Hodně zajímavý a velice dobře připravený předmět. Programuje se jak pro "živé" technologie, tak i pro celkem exotický dataflow procesor.

Úlohy

Dataflow návrh programu pro statický dataflow procesor, výpočet sin x
Itanium if-else, rotující registry, součty
MMX grafika, součty
SSE násobení matice vektorem

Semestrální práce - IBM projekt

S Augim jsme pracovali na implementaci algoritmu "neuronový plyn" na procesoru Cell B.E. Tady jsou naše výsledky:

algoritmus anglický popis
dokumentace (Doxygen)

Operační systém UNIX - 36UNX

Volitelný předmět. Podmínkou zápočtu je udělat referát na zadané téma a napsat semestrálku.
Stránka předmětu: unix.felk.cvut.cz/unix
Stránka cvičení: webing.felk.cvut.cz/unix

Referát

Téma SED (stream editor): stáhnout ve formátu pdf nebo ppt

Semestrálka

Zadání č.8 - napsat 2 scripty useradd a userdel

Úvod do počítačových systémů - 36UPS

Celkem zbytečný předmět (ve strukturované studiu již není), který měl za úkol letmé seznámení s logickými obvody a kódováním v assembleru. Lidi z průmyslovky se nic nového nedozvěděli a lidé z gimplu to zase moc nepobrali...

Výpočetní technika a programování B - 36VB

V prvním a druhém semestru jediný předmět týkající se programování. V prvním semestru jsem programovali v Pascalu a koncem druhého semestru jsme přešli na jazyk C.

Příklady během semestru

Fronta implementace fronty pomocí pole
Převod z 10 soustavy do 2, 8, 16 soustavy
Seznam implementace spojového seznamu
Výčetka peněžní výčetka (použití dělení div a mod)
XML parser implementovaný v jazyce Pascal
Zásobník implementace zásobníku
jazyk C 14 malých příkladků z knihy Učebnice jazyka C (Pavel Herout)

Semestrální práce - RPG textová hra

screenshot 1
screenshot 2
Příběh hry je zasazen do blíže nespecifikovaného světa skřetů, trpaslíků a jiných potvor. Historické období není určeno, proto se ve hře můžete setkat s nečekanými věcmi.
Soubojový systém, jak jsem zjistil, je v podstatě převzat z Dračího doupěte. Postava má charakterizující vlastnosti: SÍLA, ODOLNOST, ÚTOK a OBRANA. Útočné číslo se počítá SÍLA + 0..ÚTOK, přičemž když padne 0 je kritický neúspěch, to znamená že váš / potvory útok se v tomto kole ruší. Obrané číslo se počítá jako ODOLNOST + 0..OBRANA. Když je útočné číslo větší než obrané číslo, tak vaše postava/potvora přijde o životy odpovídající rozdílu útočného a obraného čísla. Všechny vlastnosti vašeho hrdiny můžete zlepšit / zhoršit pomocí různých mečů, štítů, brnění a lektvarů

textová hra psaná objektově, načítá data z XML (zip, 90kB)
dokumentace uživatelská + progrmátorská dokumentace (HTML, 11kB)

Ostatní

  • Automat z HWlabu a pak že je ten HW o ničem :-)
    automat
  • Halovy laboratoře, aneb efektivní přidělování místa na FELu
    lab1 lab2 lab3
  • StudentArt - lavice v učebně K5, autor neznámý
    brouk
  • volby do akademického senátu - vzkazy kandidátum
    poster1 poster2