Pg (pokročilí)

prerekvizity

zaprvé je nutné vědět něco o tématech, co se probíraly na semináři PgU. není nutné, abyste v minulosti prošli seminářem PgU (sám jsem to tak udělal).

ale pokud jste v životě neprogramovali nebo jste se nikdy v životě s informatikou nesetkali, není pro vás tento seminář bez absolvování PgU vhodný. pokud se někdo takový ale najde a přesto by chtěl na seminář přicházet, napište mi a probereme možnosti.

požadavky na úspěšné zakončení předmětu

platí společná pravidla napsaná zde. podtrženo sečteno musíte splnit následující:

kalendář důležitých událostí

DatumUdálost
2. záříZačátek školního roku
1. listopaduSchválené téma maturitní práce
začátek dubnaOdevzdání maturitní práce
konec dubnaZpracování a rozeslání posudků
koncem květnaMaturitní zkouška

maturita

upozornění: v době maturitních zkoušek jsou tyto informace neoficiálního informativního charakteru. vždy konzultujte školní web.

no, tohle je téma samo o sobě. hodně se tady toho objeví, až bude čas. zatím se ale musíte soustředit na dvě věci — výběr témata maturitní práce a opakování témat ze semináře PgU.

téma mi odevzdejte do 1. listopadu a to po konzultaci. prosím vás, promyslete to a pokud si nebudete čímkoliv jisti (náročností tématu, nejistotou, apod.), napište mi.

předběžné materiály k maturitní zkoušce:

finální otázky

1
Datové typy a jejich reprezentace: int, double, struktura, pole, objekt, ukazatel, serializace, YAML, CSV
Webové technologie: odkazy, MathML, stylování, skriptování, publikování, HTTP, selektor, kaskáda, preprocesor, sémantika
2
Databáze a SQL: tabulka, záznamy, datové typy, primární a cizí (foreign) klíče, index, SQL, SELECT, UPDATE & DELETE, CREATE & DROP
Hardware: periferie: sběrnice, protokoly, USB
3
Nástroje pro spolupráci při programování: mailing-list, Trac, Bugzilla, …
Zpracování aritmetického výrazu: lexer, parser, infixový a postfixový zápis, AST, CFG
4
Síťová komunikace: internet, TCP/IP, spolehlivost, adresování, socket
Textový procesor: styly, ODT, LibreOffice
5
Adresování na Internetu: IP & MAC adresa, port, proxy server, DNS, router, switch
Hardware: úložná zařízení: HDD, SSD, CD, kapacita-rychlost-cena
6
Počítačová grafika a barevné modely: barevné modely, princip uložení, BMP, PNG, JPEG, GIF, ODG, SVG
Modulární programování: knihovna, API, ABI, verzování knihoven, linker
7
Programovací jazyky: překladač, interpret, JIT, garbage collector
Alternativní textové formáty: Markdown & PanDoc, LaTeX
8
Virtualizace a cloud: virtualizace komponent (disk, síť, obrazovka), infrastruktura/platforma/software jako služba (IaaS/PaaS/Saas)
Historie hardware a software: relé, elektronky, děrné štítky, vícejádrové procesory, cloud, vzdálený přístup, internet
9
Verzovací systémy: revize, větev, repozitář, klon, fork, Git, Subversion
Číselné soustavy: Hornerovo schéma, převody
10
Kryptografie a ochrana informací: symetrické a asymetrické šifry, RSA, one-time pad, steganografie, solení (salt) hesel
Testování softwaru: unit testing, pokrytí kódu, druhy testů (funkční, výkonnostní, systémové, …), JUnit
11
Multimedia a jejich prezentace: kontejner, kodek, DVD, AVI, MP3, stopa, titulky, VGA, HDMI, DAC (D/A převodník)
Základy objektově orientovaného programování: zapouzdření, dědičnost, polymorfismus, rozhraní, emulace bez podpory překladače
12
Správa a zabezpečení počítačových systémů: VNC a SSH, firewall, aktualizace, hesla
Publikování na webu: protokoly, typy hostingů
13
Prohledávání do hloubky a do šířky: nalezení nejkratší cesty, průchod bludištěm, stavový prostor
Dávkové úlohy (práce v příkazové řádce): Bash, cURL, grep, sed
14
E-mail a instant messaging: protokoly, formát zpráv, SMTP, POP3, IMAP
Algoritmy třídění: bubble-sort, insertion-sort, quick-sort, složitost
15
Licencování softwaru a otevřený software: placený software, shareware, freeware, open source, GPL, BSD, CC, MIT
Specializované programovací jazyky: XSLT, R, JavaScript, shell, regulární výrazy, LaTeX
16
Hardware: CPU, paměť a architektura počítače: registry, cache, instrukční sada, jádra a vlákna, motherboard
Typografie: font, slitky, kerning, vdova, sirotek
17
Operační systémy a ovladače: souběh programů, ovladače, multitasking, uživatelské rozhraní
Uživatelská rozhraní a UX design: UX, uživatelské rozhraní, přístupnost
18
Grafy: graf, stupeň, posloupnosti vrcholů, strom, grafové algoritmy
Překladače a řízení překladu: front-end a back-end překladače, mezikód (bajtkód), make, npm
19
Dynamické datové struktury: binární strom, spojový seznam, paměťová náročnost
Nízkoúrovňové systémy a logika: hradlo, množina, logický obvod, mikrokontroler
20
3D tisk a CAD programy: FDM, SLA, SLS, materiály, troubleshooting tisku, modelování
Znak, řetězec a lokalizace: znakové sady, UTF, internacionalizace vs lokalizace, gettext