Jak se stát ajťákem

Vzdělávací série článků o informačních technologiích a programování zaměřená na úplné a totální technologické analfabety, kteří by se rádi něco o tomto oboru dozvěděli.

Zaměřuji se na úplnost ale zároveň jednoduchost. Nejdu do obrovských detailů ale snažím se pojmenovávat ty nejdůležitější koncepty.

Varování! Abych se u toho nenudil při psaní a aby se u toho čtenář nenudil při čtení tak používám vulgární slova, pubertální, záchodový, trapný nebo jinak nepovedený humor tudíž by to nikdo neměl číst.

  1. Fyzické zařízení
    1. Základy
    2. Ajťák a elektrotechnik
    3. Procesor
    4. Digitální signál
    5. Abstrakce
    6. Instrukce procesoru
    7. Instrukční sada
    8. Zpracování instrukcí a přerušení
  2. Signály
    1. Jedničky a nuly
    2. Bity a bajty
    3. Hradlo a tranzistor
    4. Binární sčítačka
    5. Flip-flop
  3. Čísla a znaky
    1. Číselný rozsah
    2. Záporná čísla
    3. Přetečení (overflow)
    4. Desetinná čísla
    5. Fixní desetinná čárka
    6. Plovoucí desetinnná čárka
    7. ALU
    8. Znakové sady
  4. Operační systém
    1. Operační systém
    2. Interakce OS s procesorem
    3. Interakce software s OS
    4. Virtuální paměť
    5. Proces a vlákno
    6. Multithreading
  5. Programovací jazyky
    1. Programovací jazyky
    2. Míra abstrakce
    3. Potenciální výkon
    4. Produktivita a křivka učení
    5. API programovacího jazyka
    6. Frameworky, nadstavby a technologie
    7. Mzda
    8. Členění dle míry abstrakce
    9. Členění dle zaměření
    10. Členění dle paradigmatu
      1. Sekvenční programování
      2. Objektově orientované programování
      3. Funkcionální programování
  6. Informační systémy (IS)
    1. Rozdíl mezi aplikací a IS
    2. IS: tento web
    3. IS: Skyrim
    4. IS: Microsoft Teams
  7. Základy sekvenčního programování
    1. Proměnné a konstanty
    2. Funkce a procedury
  8. Podmínka
  9. Cyklus – do, while, for
  10. Cyklus – foreach
  11. Operátory
  12. Bitové operace
  13. Základy OOP
    1. K čemu je OOP dobré
    2. Třída, instance a objekt
    3. Metoda
    4. Rozhraní – interface
    5. Abstraktní třída
    6. Statičnost
    7. Atribut a metadata
    8. Pokročilé koncepty OOP
      1. Přetěžování operátorů
      2. Dependency injection
      3. Implicitní a explicitní konverze
      4. Boxing + Unboxing
      5. Reflexe
  14. Základy funkcionálního programování
    1. Všechno je funkce
    2. Operátory jsou funkce
  15. Základy SQL a relačních databází
    1. Principy: databáze a tabulka
    2. DDL, DML, DQL
    3. Indexy a b-strom
    4. Cizí klíče
    5. Procedury a triggery
    6. Problémy s SQL
  16. Základy dokumentových databází
    1. Principy: klíč a dokument
    2. MongoDB
    3. ElasticSearch
    4. CosmosDB
  17. Informační systémy (IS)
    1. Rozdíl mezi programem a IS
    2. Softwarová architektura
    3. Softwarová analýza a UML
  18. Algoritmy a datové struktury

Todo:

  1. Moderní programovací jazyky
  2. Asymptotická složitost
  3. Terminál
  4. Internet a sítě
  5. Kryptografie
  6. Virtualizace a docker
  7. git a GitHub
  8. Co opravdu dělá ajťáka ajťákem