Comenius LogoKatedra informatiky
Fakulta matematiky, fyziky a informatiky
Univerzity Komenského, Bratislava


Sylabus na štátnu skúšku blokového štúdia odboru Informatika z bloku Programové a počítačové systémy
v školskom roku 2002/2003

zo dňa 24. januára 2003


Obsah


Kompilátory

  1. Návrh a implementácia kompilátora rekurzívnym zostupom.
  2. Lexikálna analýza (scanner), Thomsonova metóda, návrhu konečného automatu, priamy návrh automatov na rozpoznávanie reťazcov --- Aho Corasickovej metóda.
  3. Metódy syntaktickej analýzy zhora dole (LL, rekurzívny zostup).
  4. Metódy zdola hore, posunuvo-redukčná schéma, operátorovo-precedenčné metódy, LR metódy a ich modifikácie.
  5. Syntaxou riadený preklad a atribútové gramatiky. Poradie a spôsob vyhodnocovania atribútov. Pojem cirkulárnej definície a test na cirkularitu.
  6. Prax syntaxou riadených prekladov, zdedené a syntetizované atribúty. L-atribúty. Lex a Yacc.
  7. Kontrola typov. Striktné typovanie, štrukturálna ekvivalencia typov. Polymorfické typy a unifikácia.
  8. Podpora kompilátora počas behu. Prideľovanie pamäti. Aktivačné záznamy. Mechanizmy odovzdávania parametrov.
  9. Medzijazyk, formy medzijazyka. Projekt UNCOL.
  10. Optimalizácia na úrovni medzijazyka. Optimalizácia výrazov --- dag. Odstránenenie opakovaných a zbytočných výpočtov. Optimalizácia cyklov.
  11. Metódy globálnej optimalizácie, intervalová analýza, T1-T2-redukcia a riešenie rovníc toku dát.
  12. Generovanie kódu, stratégie prideľovania registrov, optimalizácia počtu registrov. Kukátková optimalizácia.

Databázy

  1. Fyzická organizácia dát
    1. Základné typy dát a typové konštruktory, v programovacích jazykoch. Polymorfické typy.
    2. Abstraktné dátové typy. Množina, zásobník, front, prioritný front.
    3. Implementácia typu množina: pomocou vyhľadávacích stromov, hašovania.
    4. Efektívna implementácia prioritného frontu.
    5. Implementácia vyhľadavacích typov v dvojúrovňovej pamäti, B-stromy, B^*-stromy, dynamické hašovanie. Indexovo-sekvenčné súbory ISAM, VSAM. Invertované súbory.
    6. Triedenie. Metódy vonkajšieho triedenia.
  2. Databázy
    1. Základné pojmy, trojschémová architektúra.
    2. Modelovanie reality v databázach, entitno-relačný model, relačný model, navigačné modely --- sieťový a hierarchický.
    3. Základné pojmy relačného modelu. Relačná algebra, relačný kalkul. Funkčné závislosti a klúče.
    4. Relačné jazyky SQL, QBE. Prax formulovania dotazov v týchto jazykoch.
    5. Teória navrhovania relačných databáz. BCNF a 3NF nelamajúca závislosti. Algoritmy pre vyplývanie medzi závislosťami. Uzatvárajúca procedúra. Algoritmus pre BCNF a 3NF nelámajúcu závislosti.
    6. Základy navigačných a objektových databáz. Bachmanové diagramy. Návrh sieťovej databázy. Codasyl DBTG. Programovanie dotazov v sieťových databázach.
    7. Datalóg a negácia v databázach. Základný princíp byrokracie (predpoklad uzavretého sveta).
    8. Spracovanie transakcií, sériovateľnosť, zámky, dvojfázový protokol. Journaling, optimistické stratégie synchronizácie transakcií. Bezpečnosť dát.
    9. Optimalizácia dotazov. Optimalizácia selekcií, výpočet prirodzených spojení a kartézskych súčinov. Algoritmus pre optimalizáciu výrazov relačnej algebry. Polospojenia a optimalizácia v distribuovaných bázach dát. Acyklické hypergrafy a optimalizácia redukciou hypergrafu.
    10. Deduktívne databázy. Logika s funkčnými symbolami. Výpočet SLD-rezolúciou, naivný a seminaivný výpočet logických programov. Unifikácia. Stromy pravidiel a cieľov (Rule/Goal trees). Väzby (Binding patterns).
    11. Optimalizácia dotazov vyhodnocovaných seminaivným algoritmom. Magické predikáty. Zjednodušenia a efektívnosť metódy magických predikátov. Zovšeobecnené magické predikáty.
    12. Optimalizácia konjunktívnych dotazov. Inklúzia (containment) a ekvivalencia konjunktívnych dotazov. Konjunktívne dotazy s aritmetickými predikátmi. Optimalizácia za predpokladu slabej ekvivalencie. Dotazy so zjednoteniami a rekurziou.

Softvérové inžinierstvo

  1. Vodopádový a inkrementálny model procesu vývoja softvéru
  2. Analýza a špecifikácia požiadaviek, prototypovanie
  3. UML (diagram tried, use case diagramy, sekvenčné a kolaboračné diagramy, stavové diagramy, diagramy aktivít, rozširujúce mechanizmy)
  4. Odhadovanie (COCOMO, Function Point Analysis)
  5. Modelové architektúry softvérových systémov (architektúry určujúce štruktúru produktu, architektúry určujúce spôsob riadenia, trojvrstvová architektúra)
  6. Spoľahlivosť softvérových systémov (špecifikácia požiadaviek v oblasti spoľahlivosti, techniky pre dosahovanie vyššej spoľahlivosti)
  7. Verifikácia a validácia
  8. Riadenie projektov, riadenie kvality, ISO 9000

Hypermediálne Systémy

  1. Úvod.
  2. Text
  3. Hypertext a hypermédiá
  4. Hypermediálne systémy
  5. Hypermédiá a Internet
  6. Wide Area Information Servers (WAIS)
  7. Návrh hypermediálnych aplikácií
  8. Adaptívne hypermédiá.

Počítačové siete

  1. Telekomunikácie - verejné a súkromné možnosti - koncept prenosu informácií v minulosti a dnes - integračné trendy.
  2. Siete - topológia a geografia - základné typy sietí - siete s redundanciou - siete bez redundancie - príklady siete viacerých typov - viacúrovňové LAN.
  3. Informačné toky (information streams) - zdroje, cieľové uzly, prepínací systém - jednosmerné a obojsmerné spojenia - konferencie.
  4. Komunikačné kanály (communication channels) - multiplexovanie - virtuálne okruhy - uzly s jednosmernou premávkou - uzly s dvojsmernou premávkou.
  5. Schéma jednoduchého komunikačného modelu.
  6. Sieťový software - technika štrukturovaného sieťového softwaru - koncepcia vrstiev - protokoly - virtuálna komunikácia - fyzická komunikácia - interface.
  7. Všeobecné závery z oblasti počítačových sietí, ktoré musia byť zakomponované do viacvrstvovej sieťovej architektúry.
  8. Adresovanie - pravidlá pre prenos údajov - správa chýb - postupnosť (následnosť) správ - problém rýchleho odosielateľa a pomalého príjemcu - neschopnosť akceptovať správy ľubovoľnej dĺžky - efektívny prenos malých správ - multiplexovanie a demultiplexovanie - smerovanie.
  9. Rozhrania a služby - entity - entity rovný s rovným - poskytovateľ služby - používateľ služby - vzťah medzi vrstvami a rozhraniami - Service Access Points (SAP's) - Interface Data Unit.
  10. Spojované služby (connection-oriented services).
  11. Nespojované služby (connectionless services).
  12. Kvalita služby - spoľahlivá spojovaná služba - nespoľahlivá (t.j. nepotvrdzovaná) nespojovaná služba - potvrdzovaná datagramová služba.
  13. Službové primitíva (service primitives).
  14. Referenčné modely - ciele a nebezpečenstvá - ARPANET, SNA, DNA - Open Systems Architecture - norma ISO 7498.
  15. TCP/IP - referenčný model.
  16. Porovnanie OSI a TCP/IP referenčného modelu.
  17. Kritika OSI modelu a protokolov.
  18. Kritika TCP/IP referenčného modelu.
  19. Teoretické základy pre dátovú komunikáciu - Nyquistovo tvrdenie a Shannonove odhady.
  20. Prenosové média - vodiace média - nevodiace média - magnetické média - krútená dvojlinka - koaxiálny kábel - optické vlákna - siete z optických vlákien - ring, star - porovnanie optických a metalických káblov.
  21. Sieťové komponenty - techniky prepojovania sietí - charakter kabeláže - štruktúrovaná kabeláž.
  22. Dátové prenosy, UART, USRT, synchronizácia.
  23. Bezdrôtový prenos (wireless transmission).
  24. Elektromagnetické spektrum - rádiové vysielanie (prenosy) - mikrovlnné vysielanie (prenosy) - infračervené a milimetrové vlny - svetelné prenosy.
  25. Telefónny systém - modemy - štandardy - konštelačné vzorky - modulačné techniky.
  26. Diaľkové vedenia a multiplexovanie.
  27. SDH - SONET architektúra - definícia rámcov v SDH.
  28. Prepínanie (switching) - časovanie udalostí pri jednotlivých typoch prepínania.
  29. ISDN - systém pre domáce a firemné využitie.
  30. Synchrónny a asynchrónny prenosový režim - ATM - základný ATM - switch - knockout switch - banyan switch.
  31. Linková vrstva - MAC - IEEE štandardy 802 pre LAN - FDDI - Fast Ethernet.
  32. Sieťová vrstva - interná organizácia sieťovej vrstvy - príklad prenosu packetov cez sieť - uzly a smerovacie tabuľky - porovnanie virtuálnych kanálov a datagramov - smerovanie - algoritmy smerovania - riadenie upchatia siete.