Popis předmětu - B4B33PSY

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
B4B33PSY Počítačové systémy
Role:P Rozsah výuky:2P+2C
Katedra:13133 Jazyk výuky:CS
Garanti:Štěpán P. Zakončení:KZ
Přednášející:Dupák J., Kafka M., Píša P., Štěpán P. Kreditů:5
Cvičící:Dupák J., Kafka M., Píša P., Pressl Š., Štěpán P. Semestr:Z

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ů:

Plán Obor Role Dop. semestr
BPOI_BO_2025 Před zařazením do oboru P 1
BPOI4_2025 Počítačové hry a grafika P 1
BPOI3_2025 Software P 1
BPOI2_2025 Internet věcí P 1
BPOI1_2025 Základy umělé inteligence a počítačových věd P 1


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)