Pro zájemce

Doporučená literatura

  • BUENO, Carlos. Lauren Ipsum: a story about computer science and other improbable things. ISBN 978-1-59327-574-7. William Pollock, San Francisco 2014.
  • PETZOLD, Charles. Code: the hidden language of computer hardware and software. Redmond, WA: Microsoft Press, 1999. ISBN 978-0735605053.
  • KIDDER, Tracy. The soul of a new machine. Boston: Little, Brown, 1981. ISBN 978-0-316-49170-9.
  • MEADOWS, Donella H. a Diana WRIGHT. Thinking in systems: a primer. White River Junction, Vt.: Chelsea Green Pub., 2008. ISBN 978-1603580557.

Doporučené aktivity

  • Zamyslete se, jaký používáte software a jaké jsou jeho licence. Který z nich je open source? Která nesvobodné programy by bylo možné nahradit programy s otevřeným zdrojovým kódem a jakými?
  • Zamyslete se, kde a jak publikujete. Na jaké platformě provozujete své studijní portfolio? Proč sjte si ji vybrali a jaké má výhody a jaké nevýhody?
  • Představte si svůj pokoj/byt/dům a zamyslete se, jak by se dal zautomatizovat. Jaké procesy by bylo možné usnadnit a zrychlit? Jaké technologie včetně IoT by bylo možné použít?
  • Vytvořte a popiště jednoduchý regulární výraz pro validaci/kontrolu emailové adresy.

Okruhy

[6.1] Značkovací jazyky

Otevřená otázka

Jak mezi sebou souvisí sémantika a vzhled jednotlivých HTML elementů ve vykreslené webové stránce? 105/140

Uzavřené otázky

  1. K čemu slouží značkovací jazyk? 36/140
    Značkovací jazyk obohacuje text o dodatečné informace – nejčastěji o významu, struktuře a způsobu zobrazování jednotlivých částí textu. 152/140
  2. Proč byl vytvořen jazyk HTML? 31/140
    Tim Berners-Lee vytvořil HTML jako nástroj pro organizaci informací pro vědce z CERN, rozmístěné po celém světě. 122/140
  3. Uveďte několik příkladů validních značek v HTML5 a uveďte jejich sémantiku. 84/140
    P (odstavec), EM (zvýrazněné písmo), NAV (navigace), OL (řazený seznam), ASIDE (vedlejší obsah) aj. 107/140
  4. Co je to HTML prvek (element)? 30/140
    HTML prvek (element) je základní součást HTML dokumentu či webové stránky, který byl začleněn do DOM (objektového modelu dokumentu). 143/140
  5. Co je to DOM (objektový model dokumentu)? 42/140
    DOM je objektová reprezentace HTML dokumentu. Objekty organizuje ve stromové struktuře a umožňuje s nimi interagovat pomocí API. 134/140
  6. Uveďte několik typů uzlů, z nichž se skládá DOM. 55/140
    Dokument, prvek, atribut, text, komentář aj. 46/140
  7. Proč byl vytvořen formát Markdown? 37/140
    Pro zjednodušení psaní textů vhodný k publikaci v prostředí, které podporuje hypertext. 95/140
  8. Jak vypadá zápis odkazu ve formátu Markdown? 47/140
    Základní tvar je „[text odkazu](url)“. Odkazy je možné psát též pomocí reference („[text odkazu][1]“ a pak na samostatném řádku „[1]: url“). 163/140
  9. Uveďte několik způsobů, jak převést Markdown do HTML. 59/140
    Přímo pomocí původní či jiné knihovny, exportem z textových editorů (např. iA Writer, Dillinger) nebo pomocí online konvertorů. 139/140
  10. Proč existují různé dialekty Markdown? 42/140
    Protože pro určité typy dokumentů jsou důležité strukturní a sémantické atributy textu nezahrnuté v základní specifikaci jazyka Markdown. 150/140

[6.2] Regulární výrazy

Otevřená otázka

Jaký úkol, s nímž jste se nedávno setkali při studiu či v práci, by byl zjednodušitelný díky regulárním výrazům? 127/140

Uzavřené otázky

  1. Co je to regulární výraz? 28/140
    Je to řetězec popisující celou množinu řetězců. 55/140
  2. Z čeho se skládá regulární výraz? 39/140
    Regulární výraz se skládá z literálů textu a speciálních znaků, které slouží pro popis alternativ, množin, počtů výskytů a přepínačů. 155/140
  3. Vytvořte a popište jednoduchý regulární výraz pro kontrolu e-mailové adresy. 83/140
    Například [a-z0-9.]+@[a-z0-9.]+\.[a-z]+ (je potřebné popsat množiny znaků, opakování a užité literály). 114/140
  4. Jaké úkoly můžete časově úsporně splnit za užití regulárních výrazů? 82/140
    Například dohledat všechny webové a e-mailové adresy či telefonní čísla, vložit pevné mezery za krátké předložky, změnit HTML atributy atp. 155/140
  5. K čemu slouží speciální a zástupné znaky v kancelářských programech? 78/140
    Popisují netisknutelné znaky (např. nový řádek, pevná mezera, tabulátor aj.) a množiny řetězců. Využívají se při vyhledávání a nahrazování. 160/140

[6.3] Tabulková data

Otevřená otázka

Srovnejte užívání tabulkového procesoru a databáze: jaké jsou přednosti a nedostatky obou způsobů práce s daty? Ilustrujte příklady. 145/140

Uzavřené otázky

  1. Co je to entita? 16/140
    Jde o popis objektu pomocí hodnot uložených v jednom řádku tabulky. 72/140
  2. Jaké znáte tabulkové procesory? 34/140
    Microsoft Excel, Google Spreadsheets, OpenOffice/LibreOffice Calc, Apple Numbers aj. 84/140
  3. Uveďte několik různých datových typů. 43/140
    Text, celé číslo, reálné číslo, logická hodnota, datum a čas aj. 73/140
  4. Co je to filtrování? 22/140
    Jde o výběr množiny řádků, které splňují specifická kritéria. 72/140
  5. Popište jak pracuje funkce VLOOKUP (česky SVYHLEDAT) v rozšířených tabulkových procesorech. 98/140
    VLOOKUP vyhledá v prvním sloupci definovaného rozsahu hledanou hodnotu a vrátí hodnotu, která je ve stejném řádku v definovaném sloupci. 146/140
  6. Co je to CSV? 13/140
    Jde o souborový formát pro ukládání tabulkových dat. Jednotlivé sloupce jsou odděleny čárkou (popř. jiným oddělovačem). 133/140

[6.4] Databáze

Otevřená otázka

Navrhněte konkrétní proces, který využívá ukládání dat v databázi a navrhněte jednoduchý datový model vyjádřený pomocí ER diagramu. 149/140

Uzavřené otázky

  1. K čemu slouží relační databáze? 37/140
    Databáze slouží k ukládání dat strukturovaných v tabulkách, které jsou propojeny cizími klíči. 106/140
  2. Co je to index? 15/140
    Index (též klíč) je databázová konstruce, která urychluje vyhledávání v databázi. 92/140
  3. Co je to SQL? 13/140
    SQL (Structured Query Language) je jazyk navržený pro management dat uložených v relačních databázových systémech. 123/140
  4. Co je to cizí klíč? 22/140
    Cizí klíč definuje v relační databázi vztah (relaci) mezi dvěma tabulkami. 81/140
  5. Jaká je syntaxe příkazu SELECT? 34/140
    SELECT FROM WHERE 19/140
  6. Co jsou to tzv. normální formy? 33/140
    Jde o pravidla strukturování dat v relačních databázích, jejichž respektování podporuje efektivní využití databáze a konzistenci dat. 146/140

[6.5] Skriptování v Javascriptu

Otevřená otázka

Zamyslete se nad opakovanými činnostmi, které vykonáváte v práci či při studiu a vyhodnoťte, které z nich by bylo možné automatizovat. 146/140

Uzavřené otázky

  1. Co je to proměnná? 20/140
    Proměnná je identifikátor, pomocí něhož je možné vyvolat hodnotu uloženou v úložišti. 97/140
  2. Co je to objekt? 16/140
    Objekt je datový typ, který má vlastní atributy a metody. Je základem objektově orientovaného programování (OOP). 122/140
  3. Co je to zapouzdření? 23/140
    Zapouzdření je zabalení dat a metod do komponenty, která má definované API a skrývá před okolím svou implementaci. 124/140
  4. Co je to podmíněná konstrukce? Uveďte několik příkladů. 63/140
    Podmíněná konstrukce je prostředek programovacího jazyka, umožňující podmíněně provádět různé operace. Např. if–then(–else), switch, case aj. 162/140
  5. K čemu slouží události (DOM events) v kontextu Javascriptu? 63/140
    Události umožňují reagovat na akce uživatele (pohyb a klikání myší, stisk kláves, posun stránky, pohyb okna aj.) konkrétním chováním. 148/140
  6. Co je to cyklus? Uveďte několik příkladů cyklů v Javascriptu. 67/140
    Cyklus je sekvence příkazů, které jsou definovány jednou, ale je for, while, do–while, foreach, for–in aj. 115/140
  7. Jaký význam mají příkazy break a continue v Javascriptu? 61/140
    Příkaz break ukončí probíhající cyklus, příkaz continue přeskočí zbývající část stávající iterace a pokračuje další iterací. 148/140
  8. Jaké druhy operátorů existují v Javascriptu? 48/140
    Relační, logické, bitové, řetězcové, ternární aj. 58/140
  9. Z čeho se skládá program v Javascriptu? 42/140
    Je tvořen sekvencí příkazů, které jsou odděleny středníkem. 68/140

[6.6] Síťová neutralita

Otevřená otázka

Je internet obdobnou veřejnou infrastrukturou jako například elektřina, voda, plyn nebo kanalizace? 103/140

Uzavřené otázky

  1. Co je to síťová neutralita? 30/140
    Je to princip, dle něhož by poskytovatelé internetového připojení a vlády měli přistupovat ke všem po internetu přenášeným datům stejně. 152/140
  2. Na co bývají vázána omezení, která jdou proti principu síťové neutrality? 82/140
    Uživatel, obsah, webové sídlo, používaná aplikace či platforma, připojená zařízení nebo způsob komunikace. 119/140
  3. Kdo poprvé použil termín „síťová neutralita“ a kdy? 61/140
    Byl to Tim Wu, profesor mediálního práva z Columbia University v roce 2003. 78/140
  4. Jaké jsou časté argumenty pro síťovou neutralitu? 54/140
    Prevence kontroly nad daty, digitální práva a svobody, znevýhodnění ekonomicky slabších poskytovatelů obsahu, konkurence a inovace aj. 143/140
  5. Jaké jsou časté argumenty proti síťové neutralitě? 57/140
    Zpomalování inovací a redukce investic, vyvažování serverové ne-neutrality, součást širokopásmové infrastruktury, zbytečná právní úprava aj. 157/140
  6. Co říká princip konec-konec, jeden z ústředních principů použitých při návrhu protokolu TCP? 103/140
    Říká, že operace komunikačního protokolu by měly být prováděny buď v koncových bodech kom. systému, nebo co nejblíže ovládaného zařízení. 157/140

[6.7] Svobodný software a open-source

Otevřená otázka

Popište, jaké procesy pracují nebo by mohly pracovat s open source technologiemi v oblasti vašeho (očekávaného) profesního uplatnění. 143/140

Uzavřené otázky

  1. Co znamená, že je software poskytován s otevřeným zdrojovým kódem? 73/140
    Znamená to poskytování kódu s licencí, která umožňuje užívání, modifikaci a/nebo sdílení za konkrétních podmínek. 130/140
  2. Jaké znáte druhy otevřených licencí v kontextu vývoje softwaru? 69/140
    MIT License, Apache License 2.0, GNU GPL V2, GNU GPL V3, BSD aj. 64/140
  3. Co je to svobodný software dle Richarda Stallmana? 51/140
    Pouze software respektující „základní uživatelské svobody“: spouštět, studovat a měnit program a redistribuovat jej se změnami či bez nich. 154/140
  4. Uveďte významné organizace spojované s hnutím Open Source či Free Software a s nimi spojené významné osoby. 116/140
    Free Software Foundation (Richard Stallman), Open Source Initiative (Bruce Perens, Eric S. Raymond), Linux Foundation (Linus Torvalds) aj. 138/140
  5. Co je to systém pro správu verzí? 36/140
    Je to nástroj pro správu změn v dokumentech, počítačových programech a jiných kolekcích informací. 108/140
  6. Uveďte příklad systému pro správu verzí v kontextu vývoje software. 74/140
    CVS, Apache Subversion, Git, Bazaar, Mercurial aj. 50/140
  7. Co je to větvení v kontextu Gitu? 35/140
    Je to vytvoření nové kopie kódu pro účely úprav – ty mohou být později zařazeny do původní kopie anebo tvoří samostatný celek. 143/140
  8. Co je to pull request v kontextu Gitu? 38/140
    Pull request je žádost o zařazení změn v kódu do kódu spravovaného jiným autorem. 90/140

[6.8] Web 2.0

Otevřená otázka

Jaký dopad má na užívání internetu dominance Facebooku? Na jaké oblasti se tato dominance vztahuje? 106/140

Uzavřené otázky

  1. Co je to web 2.0? 17/140
    Jde o koncept popisující proměnu v užívání a tvorbě webů, související s uživatelským obsahem, použitelností a užíváním webových API. 152/140
  2. Uveďte několik příkladů služeb, které souvisejí s webem 2.0. 68/140
    Sociální sítě, blogy, wiki, folksonomie, služby pro sdílení videa, webové aplikace, mashupy aj. 103/140
  3. Jaké technologie prošly výrazným rozvojem v souvislosti s rozvojem webu 2.0? 80/140
    Javascriptové knihovny pracující s AJAX a DOM (jQuery, YUI, Ext JS), mutlimediální technologie Adobe Flash, standardy vedoucí k HTML5 aj. 143/140
  4. Co je to wiki? 14/140
    Wiki je webová stránka, která umožňuje kolaborativní tvorbu svého obsahu a struktury přímo prostřednictvím webového prohlížeče. 142/140
  5. Co je to Web-Oriented Architecture? 35/140
    Jde o způsob tvorby webových aplikací, který zdůrazňuje distribuci obsahu prostřednictvím jiné webové služby (např. RSS). 133/140
  6. Co je to Rich Internet Application? 35/140
    Jde o aplikaci, která běží v prostředí internetu, ale uživatelsky se blíží zkušenosti s nativní aplikací provozovanou na použitém zařízení. 157/140
  7. Co je to sociální web? 24/140
    Jde o koncept fungování webu, který klade důraz na roli koncového uživatele při tvorbě obsahu. 102/140
  8. Jak přistupuje ke konceptu Webu 2.0 tvůrce webu Tim Berners-Lee? 66/140
    Říká, že web navrhl coby kolaborativní médium, sloužící všem k setkávání, čtení a psaní. Web 2.0 tedy nepovažuje za zásadně odlišný. 153/140
  9. Co je to Dark web? 18/140
    Jde o část webu, která existuje pouze na darknetech – částech internetu dostupných pouze pomocí specifického vybavení či autorizace. 144/140
  10. Co je to Tor? 13/140
    Tor je software zajišťující anonymní komunikaci. Ztěžuje identifikaci uživatele pomocí mnohonásobného přesměrování internetového provozu. 153/140

[6.9] Publikační platformy

Otevřená otázka

Zamyslete se, jaký obsah byste díky svému odbornému zaměření mohli publikovat; jakou platformu byste zvolili pro jeho publikaci na webu? 143/140

Uzavřené otázky

  1. Co je to MAB? 13/140
    MAB (multi-author blog) je profesionálně editovaný blog tvořený více autory. 82/140
  2. Uveďte několik příkladů webových služeb, které slouží coby blogovací platformy. 90/140
    Wordpress.com, Medium.com, Tumblr.com, Blogger.com, Ghost.org aj. 65/140
  3. Jaké jsou technické požadavky pro spuštění vlastního blogu bez využití (bezplatné) publikační webové služby? 122/140
    Většinou jde o doménu, hosting s možností spouštění skriptů, databázi a redakční systém. 101/140
  4. Uvěďte tři rozšířené webové CMS, které si můžete sami nainstalovat? 78/140
    WordPress, Joomla, Drupal, Magento aj. 38/140
  5. Jaký je princip fungování tzv. generátorů statických webů? 65/140
    Generátory statických webů vytvářejí na základě šablon a textových dat výsledné HTML soubory určené k publikování. 130/140
  6. Uveďte tři rozšířené generátory statických webů. 57/140
    Jekyll, GitBook, Octopress, Hexo, Hugo aj. 42/140
  7. Co je to šablona v kontextu webových publikačních platforem? 64/140
    Šablona je sada pravidel, které definují vzhled a rozložení obsahu webové prezentace. 91/140

[6.10] Komunikace stroj–stroj a Internet věcí

Otevřená otázka

Jaké služby, které využívají komunikace mezi více webovými službami, využíváte? 91/140

Uzavřené otázky

  1. Co je to API (Application Programming Interface)? 49/140
    API je popis metod, vstupů a výstupů softwarové komponenty (vč. datových typů). Umožňuje integraci více různých programů či jejich částí. 154/140
  2. Co je to JSON (JavaScript Object Notation)? 43/140
    JSON je otevřený standard, který užívá lidmi čitelný text k přenosu datových objektů sestavených z párů {atribut: hodnota}. 137/140
  3. Co je to Google Apps Script? 28/140
    Google Apps Script je jazyk pro vývoj jednoduchých aplikací, které pracují s daty uloženými v cloudu na platformě Google Apps. 134/140
  4. Co umožňuje webová služba IFTTT? 36/140
    IFTTT slouží k automatizaci – umí např. odeslat e-mail na základě informací o počasí. Pracuje se službami jako Gmail, Facebook, Dropbox aj. 151/140
  5. Co je to internet věcí (IoT)? 31/140
    Internet věcí je síť fyzických objektů (zařízení, vozidel, budov aj.) vybavených elektronikou, softwarem, senzory. 124/140
  6. Uveďte několik příkladů senzorů kompatibilních s Raspberry Pi. 69/140
    Kamera, mikrofon, teploměr, tlakoměr, vlhkoměr, NFC snímač, akcelerometr, dotykový senzor, měřič pH, detektor plynu, detektor alkoholu aj. 147/140
  7. Co je to scrapování webových dat? 36/140
    Scrapování je způsob automatizovaného získávání informací z webových stránek, které obsahují nestrukturovaná data. 128/140
  8. Co je to XPath? 15/140
    XPath (XML Path Language) je dotazovací jazyk pro výběry uzlů z XML dokumentů. 83/140
  9. Jaká funkce Google Spreadsheets vytváří výstupy z různých souborů pomocí jazyka XPath a jaké má parametry? 117/140
    Jde o funkci IMPORTXML(url, dotaz_xpath). 41/140

[6.11] Otevřená data (open data)

Otevřená otázka

Jak byste využili otevřených dat ve vaší stávající či očekávané budoucí pracovní pozici? 102/140

Uzavřené otázky

  1. Co jsou to otevřená data? 27/140
    Otevřená data jsou data, která mohou být svobodně užívána, znovu-užívána a redistribuována. 103/140
  2. V jakých sektorech se objevuje užití otevřených dat? 57/140
    Nejčastěji je princip otevřených dat využíván ve veřejné sféře; především ve veřejné správě, vzdělávání a výzkumu. 137/140
  3. Co je to pětihvězdičkové schéma? 37/140
    Jde o stupnici, která hodnotí otevřenost dat dle faktorů jako jsou: poskytnutá licence, dokumentace, otevřený formát, strojová čitelnost atp. 151/140
  4. Co je to otevřený formát? 28/140
    Otevřený formát je souborový formát pro ukládání digitálních dat, jehož specifikace je veřejná a může být kýmkoli využita a implementována. 158/140
  5. Uveďte několik organizací spojovaných s hnutím otevřených dat. 69/140
    Open Knowledge Foundation, The Open Data Foundation, Data.gov.uk, ArcGIS, Health Data Consortium, w3.org, Wikidata aj. 118/140
  6. Co je to CKAN? 14/140
    Jde o rozšířenou open-source platformu pro publikaci open data. 66/140
  7. Jaké organizace prosazují užívání otevřených dat v České republice v rámci platformy Fórum pro otevřená data? 123/140
    Fond Otakara Motejla, Matematicko-fyzikální fakulta UK a Fakulty informatiky a statistiky VŠE v Praze. 105/140

[6.12] Sebevzdělávání při pokročilé práci s počítačem

Otevřená otázka

Jak postupujete, když při práci narazíte na neočekávanou chybu či problém ve vašem kódu? 98/140

Uzavřené otázky

  1. Uveďte název portálu, kde si uživatelé vzájemě odpovídají na otázky z konkrétního oboru a popište způsob jeho fungování. 136/140
    Portál se jmenuje StackExchange. Uživatelé zde zodpovídají konkrétní dotazy a odpovědi jsou hodnoceny a komentovány ostatními. 136/140
  2. Uveďte jaké oborové sekce portálu StackExchange patří mezi ty nejrozsáhlejší a k jakému účelu slouží. 115/140
    Patří mezi ně např. StackOverflow (programování), Super User (užívání PC), English Language & Usage, Mathematics či Arqade (poč. hry). 146/140
  3. Jaká jsou kritéria pro pokládání vhodného dotazu na portálu StackExchange? 81/140
    Neduplikování již položených otázek, tematičnost, konkrétnost a relevance pro ostatní. 95/140
  4. Vyjmenujte různé druhy dokumentace softwaru. 46/140
    Specifikace požadavků, návrh architektury, technická dokumentace, manuál koncového uživatele a propagační materiály. 126/140
  5. Jaký je význam zkratky UTFG? 30/140
    Zkratka znamená „Use The Fucking Google!“, volně přeloženo „Si to vygoogli, k čertu!“ (STVKČ). 108/140
  6. Jaké možnosti poskytuje při hledání řešení technického problému vyhledávač Google? 94/140
    Užitečné jsou mj. možnost omezit stáří hledaných dokumentů a možnost hledání v rámci jedné domény. 113/140
  7. Uveďte několik vzdělávacích portálů, které poskytují bezplatné kurzy v oblasti vývoje software. 106/140
    Codecademy, Udacity, Khan Academy, Code School, Code Avengers aj. 65/140