Tematický plán kroužku
pro rok 2006/2007
-
5.10. Principy modulárního programování
- procedury, funkce
- moduly, členění projektu do souborů
-
12.10. Základní principy OOP
- encapsulation (obalení)
- inheritance (dědičnost)
- polymorfismus (mnohotvarost)
- komentovaný příklad - viz. příklad na hierarchii ovoce z loňského roku
-
19.10. Zpracování signálu
- vzorkování signálu, diskretizace a kvantizace, vzorkovací kmitočet
- DA převod
- Fourierovy řady, rozklad funkce na Fourierovu řadu, Fourierova transformace (pouze principielně)
- aliasing a jak mu zabránit (antialiasing)
- odkazy:
- příklad: rozklad obdélníkové funkce na součet sinů
-
26.10. Podzimní prázdniny
- neúčast -> individuální práce
-
2.11. Výstupní audio zařízení - základní použití
- otevření, inicializace a uzavření zvukového zařízení
- přehrátí zvukové vlny a příprava bufferu
- funkce waveOut... - popis na stránkách MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcewave/html/_wcesdk_win32_waveoutopen.asp
- komentovaný příklad: jednoduché přehrávání zvuku
-
9.11. Výstupní audio zařízení - pokročilé použití
- použití callback funkce nebo systému zpráv Windows pro souvislé přehrávání
- samostatný příklad: zadat prvních N koeficientů Fourierovy řady, zobrazit jejich součet (výslednou vlnu) a případně jednotlivé haronické složky. Vlnu chápat jako zvukovou a umožnit její přehrátí na zvukové kartě.
-
16.11.
- příklad - grafická a akustická syntéza Fourierovy řady - pokračování
-
23.11. Vstupní audio zařízení - mikrofon
- použití mikrofonu ve vlastních aplikacích, analogie API rozhraní s výstupním audio zařízením
- otevření, inicializace a uzavření zvukového zařízení
- příprava bufferu pro záznam, pořízení zvukového záznamu
- funkce waveIn... - popis na stránkách MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_waveinopen.asp
-
30.11. Mikrofon - praktické použití
- komentovaný příklad: realizace zvukového efektu echo
- program otevře mikrofon a reproduktory jako vstupní a výstupní audio zařízení. Dále zinicializuje 3 buffery,
které se cycklicky střídají a do nichž zaznamenává zvuk z mikrofonu, který je se zpožděním opět přehráván.
-
7.12.
- příklad - grafická a akustická syntéza Fourierovy řady - dokončení
-
14.12. Neuronové sítě
- historické modely neuronu
- perceptron
- maticová algebra (sčítání, odčítání, násobení matic) pro výpočty neuronových sítí
-
21.12. "Vánoční" program
- relaxace u her
-
4.1. Neuronové sítě - pokračování
- perceptron - opakování, zamyšlení a rozbor jeho funkce
- druhy aktivačních funkcí perceptronu - bipolární/unipolární, spojitý/diskrétní, lineární/sigmoidální
- vrstva perceptronů a výpočty s pomocí matic
-
11.1. Neuronové sítě - pokračování
- druhy neuronových sítí a k čemu je lze použít
- učení s učitelem a bez učitele, samoorganizující se sítě, rekurentní sítě, vícevrstvé sítě
- odkazy:
-
18.1. Neuronové sítě - pokračování
- Hopfieldova rekurentní síť a její použití pro OCR
- základní trénovací algoritmus:
- algoritmus s minimalizací kvadrátu odchylky (optimalizovaná síť):
- rozbor rozdílů základního trénovacího algoritmu a optimalizované sítě
-
25.1. Neuronové sítě - pokračování
- samostatný příklad: jednoduchá OCR aplikace pro rozpoznání jednoho znaku v rastru.
Pro rozpoznání použijte (optimalizovanou) Hopfieldovu rekurentní síť pracující asynchronně.
Vzory znaků se zadávají interaktivně myší a po jejich vytvoření je umožněno jejich uložení na disk pro pozdější potřebu.
Po zadání a natrénovaání vzorů je možno interaktivně zadat vzstupní obraz a síť iteracemi dospěje k jednomu z cílových vzorů.
-
1.2. - 29.3.
- příklad - jednoduchá OCR aplikace - pokračování
-
5.4.
- příklad - jednoduchá OCR aplikace - dokončení
- jedno z možných řešení příkladu naleznete zde
-
12.4. Hra šachy
- analytické rozebrání problému - jak nejlépe strukturovat a naprogramovat aplikaci pro hru šachy mezi dvěma hráči (tj. bez umělé inteligence)
- hierarchie objektů, bázová třída TFigurka, virtuální metody
- použití seznamů - třídy TList a TCollection
-
19.4. Hra šachy - pokračování
- kontrola přípustnosti tahu (cílové políčko a jeho obsazenost, cesta figurky po šachovnici, vznik šachu po dokončení tahu)
- diskutované úseky kódu
-
26.4.
- samostatný rozbor kódu hry šachy, individuální práce
-
3.5. Teoretické principy sériové komunikace
- elektrické parametry linky, logické úrovně
- druhy zařízení: DTE/DCE (Data Terminal Equipment, Data Communication Equipment), druhy propojovacích kabelů
- signály 9-ti pinového konektoru: RXD, TXD, GND; RTS, CTS; DTR, DSR; CD, RI
- princip asynchronního přenosu
- parametry přenosu: počet bitů, parita sudá/lichá/space/mark, stop bit, handshaking
- odkazy:
-
10.5. Sériová komunikace ve Windows
- práce se sériovým portem jako se souborem - příkazy CreateFile, ReadFile, WriteFile
- nastavení komunikačních parametrů - příkazy GetCommState, SetCommState, BuildCommDCB
- timeouty - příkaz SetCommTimeouts
- synchronní versus asynchronní vysílání a příjem - použití threadů a overlapped struktury
- zevrubný popis API rozhraní pro použití sériových portů ve Windows je k nalezení v MSDN:
MSDN Library / Win32 and COM Development / System Services / Communications Resources / Communications Reference
-
17.5. Řízení externího semaforu připojeného přes sériovou linku
- principy práce s externími sériovými zařízeními, komunikační protokoly
- binární versus textová komunikace
- komentovaný příklad: jednoduchý textový terminál
- využití terminálu k řízení externího semaforu s LED diodami
Vedoucí kroužku: Roman Čečil
E-mail:
RCecil@seznam.cz