Notice
This page is located in a preparation section till 21.09.2026.

Přednášky

Podklady přednášek pro aktuální akademický rok 2026/27. Volně k dispozici jsou i podklady z předchozích let:

2025/26, 2024/25, 2023/24, 2022/23, 2021/22, 2020/21, 2019/20, 2018/19

Podklady tvoří podpůrný materiál a jejich učelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.

Tématicky je náplň přednášek pokryta v knize Stephen G. Kochan: Programming in C (3rd Edition), Sams Publishing, 2005, případně též Pavel Herout, Učebnice Jazyka C - 1. díl, Kopp, 2016.

V přednáškách uvedené zdrojové kódy jsou přiloženy v příslušném .zip archivu. Kromě vyzkoušení programů je též vřele doporučeno si složitější úlohy samostatně naprogramovat a přednáškové příklady využít pro inspiraci.

Nahrávky přednášek z akademického roku 2024/25 jsou postupně zvěřejňovány na YouTube.

Harmonogram přednášek

1. Úvod do programování v C

  • Datum: 22.09.2026
  • Téma: Von Neumannova architektura (CPU, paměť, sběrnice, instrukční cyklus), algoritmizace a vývojové diagramy (sekvence, větvení, cyklus), jazyk C a jeho standardy, fáze překladu, první program.
  • Přednáška: prp-lec01-2026.pdf

2. Datové typy · Výrazy a operátory

  • Datum: 29.09.2026
  • Téma: Proměnné, celočíselné a neceločíselné datové typy, znaky a řídicí sekvence, výčtový datový ty, typedef, přetypování; výrazy, aritmetické, relační, logické a bitové operátory, priorita a typová propagace, přetečení, dvojkový doplněk, endianita.
  • Přednáška: prp-lec02-2026.pdf

3. Řídicí struktury · Standardní vstup a výstup

  • Datum: 06.10.2026
  • Téma: Větvení, cykly, příkazy podmíněného a nepodmíněnéhé skoku; standardní vstup a výstup, formátovací specifikátory, znakový vstup/výstup, chybový výstup a návratový kód.
  • Přednáška: prp-lec03-2026.pdf

4. Ukazatele

  • Datum: 13.10.2026
  • Téma: Adresa a dereference, typy ukazatelů, ukazatelová aritmetika, modifikátor `const`, `NULL`, časté chyby, ukazatel na ukazatel, rozložení paměti procesu.
  • Přednáška: prp-lec04-2026.pdf

5. Pole · Textové řetězce

  • Datum: 20.10.2026
  • Téma: Pole jako blok paměti, indexace a průchod, vícerozměrná pole, VLA; řetězce jako pole znaků, funkce pro práci s řetězci, bezpečné čtení, pole řetězců.
  • Přednáška: prp-lec05-2026.pdf

6. Struktury a unie · Funkce

  • Datum: 27.10.2026
  • Téma: Struktury, zarovnání a padding, union, bitová ole, flexible array member; definice a volání funkcí, předávání hodnotou i ukazatelem, vracení více hodnot, prototypy, argumenty příkazové řádky, ukazatele na funkce, variadické funkce, `static`/`extern`.
  • Přednáška: prp-lec06-2026.pdf

7. Paměťový model C

  • Datum: 03.11.2026
  • Téma: Paměťové třídy (`auto`, `static`, `register`, `extern`), životnost vs. rozsah platnosti, linkovatelnost, dynamická alokace (`malloc`/`calloc`/`realloc`/`free`), vlastnictví paměti, fragmentace haldy, chybové kódy (`errno`, `perror`, `strerror`).
  • Přednáška: prp-lec07-2026.pdf

8. Soubory

  • Datum: 10.11.2026
  • Téma: `FILE *`, `fopen`/`fclose` a módy otevření, formátovaný a znakový vstup/výstup, `fgets`/`fputs`, ošetření chyb (`feof`/`ferror`), binární soubory (`fread`/`fwrite`), pohyb v souboru (`fseek`/`ftell`).
  • Přednáška: prp-lec08-2026.pdf

17.11.2026 — státní svátek (Den boje za svobodu a demokracii), přednáška se nekoná.

9. Složitost algoritmů · Rekurze

  • Datum: 24.11.2026
  • Téma: Asymptotická notace (O, Ω, Θ), třídy složitosti, analýza iterativních i rekurzivních algoritmů, nejhorší/průměrný/nejlepší případ, prostorová složitost; princip rekurze, zásobník volání, memoizace, rychlé mocnění, Hanojské věže.
  • Přednáška: prp-lec09-2026.pdf

10. Abstraktní datové typy — seznam, zásobník a fronta

  • Datum: 01.12.2026
  • Téma: Koncept ADT (rozhraní vs. implementace), seznam, zásobník (LIFO) polem i spojovým seznamem, fronta (FIFO), kruhová fronta (ring buffer), fronta ze dvou zásobníků, amortizovaná složitost.
  • Přednáška: prp-lec10-2026.pdf

11. Spojové seznamy · Stromy a grafy

  • Datum: 08.12.2026
  • Téma: Jednosměrný, dvousměrný a cyklický spojový seznam; stromy a jejich průchody, reprezentace grafů, prohledávání do šířky (BFS) a do hloubky (DFS), topologické řazení, nejkratší cesta (Dijkstra), minimální kostra (Kruskal, Union-Find).
  • Přednáška: prp-lec11-2026.pdf

12. Řazení · Vyhledávání

  • Datum: 15.12.2026
  • Téma: Řadicí algoritmy (selection, insertion, bubble, shell, heap, quick, merge, counting/radix), stabilita, prioritní fronta a halda; vyhledávání (sekvenční, binární, interpolační), binární vyhledávací strom, AVL strom, hashovací tabulka.
  • Přednáška: prp-lec12-2026.pdf

13. Preprocesor a moduly

  • Datum: 05.01.2027
  • Téma: Direktivy preprocesoru, include guards, konstantní i funkcionální makra, podmíněný překlad, předdefinovaná makra, stringifikace a spojování tokenů, vzor X-makro; oddělený překlad, knihovny a sestavení, automatizace nástrojem `make`.
  • Přednáška: prp-lec13-2026.pdf
courses/b0b99prpa/lectures.txt · Last modified: 2026/09/14 15:07 by viteks