Přehled studia |
Přehled oborů |
Všechny skupiny předmětů |
Všechny předměty |
Seznam rolí |
Vysvětlivky
Návod
Webová stránka:
https://psy.pages.fel.cvut.cz/
Anotace:
Předmět vysvětlí, co je informace, jak se kódují celá a reálná čísla uvnitř počítače, jak se kóduje informace z reálného prostředí. Dále jsou popsány principy činnosti počítače, booleova algebra, logická hradla a složitější logické funkce.
Mimo to se předmět věnuje praktickým principům práce s počítačem jako je ovládání příkazové řádky, automatický překlad, vzdálený přístup, verzovací systémy.
Cíle studia:
Cílem předmětu je seznámit studenty s reprezentací dat uvnitř počítače a se základními principy práce s počítačem.
Obsah:
Předmět vysvětlí, co je informace, jak se kódují celá a reálná čísla uvnitř počítače, jak se kóduje informace z reálného prostředí. Dále jsou popsány principy činnosti počítače, booleova algebra, logická hradla a složitější logické funkce.
Mimo to se předmět věnuje praktickým principům práce s počítačem jako je ovládání příkazové řádky, automatický překlad, vzdálený přístup, verzovací systémy.
Osnovy přednášek:
| 1. | | Základy textového rozhraní počítače, příkazová řádka. Základy Bash. Hierarchie jmenných prostorů. |
| 2. | | Skriptovací jazyky kompatibilní s Bash. Přepínače a parametry příkazů, přesměrování vstupů a výstupů, řetězení příkazů. |
| 3. | | Základy teorie informace, informační entropie, bit. Kódování informace, reprezentace celých čísel bez |
znaménka a se znaménkem. Operace s celými čísly.
| 4. | | Reprezentace reálných čísel, čísla s pevnou a plovoucí řádovou čárkou. Standard IEEE 754. Operace |
s reálnými čísly.
| 5. | | Automatizace překladu, nástroj Make. Knihovny, statické, dynamické knihovny. Organizace dynamických |
knihoven.
| 6. | | Ladění a profilování programů. Nástroje gdb, valgrind. Dynamická alokace a její kontroly. |
| 7. | | Testování programů, testovací případy, testování částí. Analýza testovacích případů, pokrytí kódu, pokrytí |
podmínek.
| 8. | | Vzdálený přístup, šifrovaný přístup, privátní a veřejný klíč. |
| 9. | | Verzovací systémy, historie, distribuované verzovací systémy, git. Zjišťování stavu projektu, historie změn, uložení rozpracovaného stavu, uložení změn, nelineární vývoj, vytváření a spojování větví. Vydání verzí. |
| 10. | | Booleova algebra, logické funkce, logická hradla. |
| 11. | | Multiplexor, poloviční a celá sčítačka, zřetězená sčítačka, sčítačka s propagací carry. |
| 12. | | Huffmanovo kódování, komprese dat. Detekce chyb. Kódování písmen, barev, obrázků, hudby, videa. |
| 13. | | Bonusová přednáška - Editory pro vzdálený přístup (Vim, emacs). Další nástroje pro vzdálenou správu ranger, tmux, apod. |
Osnovy cvičení:
| 1. | | Seznámení s počítačovou učebnou, základní unixové příkazy, souborové systémy. |
| 2. | | Vytváření skriptů pro Bash. Manipulace s proměnnými, textové náhrady, reprezentace čísel a výpočtů |
| 3. | | Parametry skriptů, zpracování přepínačů. Přesměrování vstupů a výstupů, řetězení programů pomocí rour. |
| 4. | | Reprezentace čísel v jazyce C, přetečení. Násobení a dělení celých čísel, operace modulo. Čísla s pevnou |
desetinnou tečkou.
| 5. | | Převod čísel do zadané soustavy, dvojková, desítková, šestnáctková a zpět. Uložení a načtení čísel ve formátu |
little a big endian.
| 6. | | Logické obvody, sestavení sčítačky dvou 8-bitových čísel pomocí hradel. |
| 7. | | Dokončení sčítačky dvou 8-bitových čísel. |
| 8. | | Bitové manipulace s informací v jazyce C. Nastavení a vynulování hodnot o velikosti 1 až 7 bitů v paměti. |
| 9. | | Detekce chyb, CRC kód. Hammingův kód. |
| 10. | | Nástroj Make, vytvoření Makefile pro jednoduchý projekt, porozumění a úprava složitějších konstrukcí |
| 11. | | Nástroj GDB, nalezení chyby v programu. Nástroj valgrind, nalezení chyby dynamické alokace. |
| 12. | | Testování programů. Nalezení pokrytí kódu, nástroj lcov. |
| 13. | | Vytvoření klíče pro přístup k počítači bez zadání hesla. Použití editoru Vim. |
| 14. | | Použití klíče pro přístup na gitlab. Založení projektu na gitlabu a změna souborů. Vytvoření větve a sloučení |
větve. Vydání verze projektu a merge request.
Literatura:
• Šusta R.: BinarniPrerekvizita.pdf -
https://dcenet.fel.cvut.cz/edu/fpga/doc/BinarniPrerekvizita.pdf
• Terman Ch.: MIT Computation Structures -
https://computationstructures.org/lectures
• Patterson, D. A., and J. L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 4rd ed.
Morgan Kaufman, 2011. ISBN: 0123747503.
Požadavky:
Předmět je zahrnut do těchto studijních plánů:
| Stránka vytvořena 13.11.2025 11:51:53, semestry: L/2024-5, L/2026-7, Z,L/2025-6, Z/2026-7, připomínky k informační náplni zasílejte správci studijních plánů |
Návrh a realizace: I. Halaška (K336), J. Novák (K336) |