PB111 Principy nízkoúrovňového programování
Fakulta informatikyjaro 2025
- Rozsah
- 2/2/1. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučováno kontaktně - Vyučující
- RNDr. Petr Ročkai, Ph.D. (přednášející)
Mgr. Adam Matoušek (cvičící)
Tomáš Pavlík (cvičící)
Bc. Vladimír Uhlík (cvičící)
Tomáš Waldsberger (cvičící)
Jozef Sabo (cvičící)
Pavol Trnavský (cvičící)
RNDr. Samuel Pastva, Ph.D. (cvičící)
Erik Sedlák (cvičící)
Matej Korž (cvičící)
Bc. Tomáš Rohlínek (cvičící)
Mgr. Ján Labuda (cvičící)
Karel Čermák (cvičící) - Garance
- RNDr. Petr Ročkai, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Předpoklady
- IB111 Základy programování && PB151 Výpočetní systémy
Schopnost aplikovat základní postupy programování – řízení toku, definice dat, abstrakce, dekompozice, rekurze. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informatika (program FI, B-INF) (2)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Kyberbezpečnost (program FI, B-CS)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Principy programovacích jazyků (program FI, N-TEI)
- Programování a vývoj aplikací (program FI, B-PVA)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- Cíle předmětu
- Osvojit si elementární výpočetní prostředky počítače, porozumět jejich vztahu k abstraktnějším formám výpočtu a zejména do hloubky pochopit klíčové abstrakce a jejich realizaci: proměnná, větvení a cyklus, podprogram a jeho volání, předávání parametrů, návratová hodnota, organizace dat v paměti – pole a záznam, dynamická alokace. Rozvinout schopnost dekomponovat výpočetní problémy a budovat složitější abstrakce ze základních zmiňovaných.
- Výstupy z učení
- Student bude po absolvování předmětu schopen:
• pojmenovat a popsat základní abstrakce používané v programování;
• popsat jejich realizaci použitím elementárních výpočetních prostředků;
• naprogramovat zjednodušené verze standardních funkcí pro práci s pamětí a daty;
• napsat jednoduchý program v jazyce C. - Osnova
- Blok 1: Model výpočtu
1. abstraktní stroj,
2. lokální proměnné, strukturované řízení toku,
3. podprogramy a jejich volání
4. adresa proměnné, pole, záznam.
- Blok 2: Organizace paměti
5. práce s nestrukturovanou pamětí,
6. realizace zřetězeného seznamu,
7. dynamická alokace – lineární alokátor, podprogram malloc,
8. alokátor typu first-fit, podprogram free.
- Blok 3: Datové struktury a algoritmy
9. dynamické pole, podprogram realloc,
10. binární halda a prioritní fronta,
11. hašovací tabulka s pevnou a proměnnou velikostí klíče,
12. vyhledávací strom.
- Blok 1: Model výpočtu
- Výukové metody
- přednáška, týdenní programovací úkoly, seminář, 3 sady větších programovacích úloh
- Metody hodnocení
- Práce během semestru (dle vlastního výběru): aktivní účast ve cvičení + týdenní programovací cvičení + 3 sady větších domácích úloh + 3 průběžné programovací testy. Hodnoceno souhrnně ve čtyřtýdenních blocích. Zkouška: programovací test u školního počítače bez přístupu k internetu.
- Navazující předměty
- Další komentáře
- Předmět je vyučován každoročně.
Výuka probíhá každý týden. - Nachází se v prerekvizitách jiných předmětů
- PB006 Principy programovacích jazyků a OOP
(IB111 || NOW(IB111)) && (PB071 || PB111) - PB152cv Operační systémy - cvičení
(PB153 || PB152) && (PB111 || PB071 || SOUHLAS) - PB173 Tematicky zaměřený vývoj aplikací
PB111 || PB071 || SOUHLAS
- PB006 Principy programovacích jazyků a OOP
PB111 Principy nízkoúrovňového programování
Fakulta informatikyjaro 2024
- Rozsah
- 2/2/1. 4 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
- Vyučující
- RNDr. Petr Ročkai, Ph.D. (přednášející)
Mgr. Adam Matoušek (přednášející)
Mgr. František Bráblík (cvičící)
Tomáš Pavlík (cvičící)
Bc. Vladimír Uhlík (cvičící)
Nikola Davidová (pomocník)
Mgr. Samuel Gorta (pomocník)
Jindřich Halabala (pomocník)
Adam Haluška (pomocník)
Ján Kapko (pomocník)
Ivan Kushpel (pomocník)
Kryštof Matuštík (pomocník)
Ján Murin (pomocník)
Marcel Nadzam (pomocník) - Garance
- RNDr. Petr Ročkai, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky - Rozvrh
- Út 10:00–11:50 D1
- Rozvrh seminárních/paralelních skupin:
PB111/02: Čt 8:00–9:50 A219, F. Bráblík
PB111/03: Út 14:00–15:50 A219, V. Uhlík
PB111/04: Út 8:00–9:50 B011, T. Pavlík - Předpoklady
- IB015 Neimperativní programování || IB111 Základy programování
Schopnost aplikovat základní postupy programování – řízení toku, definice dat, abstrakce, dekompozice, rekurze. - Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 60 stud.
Momentální stav registrace a zápisu: zapsáno: 26/60, pouze zareg.: 0/60, pouze zareg. s předností (mateřské obory): 0/60 - Mateřské obory/plány
- Analýza a zpracování obrazu (program FI, N-VIZ)
- Bioinformatika a systémová biologie (program FI, N-UIZD)
- Computer Games Development (program FI, N-VIZ_A)
- Computer Graphics and Visualisation (program FI, N-VIZ_A)
- Computer Networks and Communications (program FI, N-PSKB_A)
- Cybersecurity Management (program FI, N-RSSS_A)
- Formální analýza počítačových systémů (program FI, N-TEI)
- Grafický design (program FI, N-VIZ)
- Graphic Design (program FI, N-VIZ_A)
- Hardware Systems (program FI, N-PSKB_A)
- Hardwarové systémy (program FI, N-PSKB)
- Image Processing and Analysis (program FI, N-VIZ_A)
- Informační bezpečnost (program FI, N-PSKB)
- Informatika (program FI, B-INF) (2)
- Informatika ve vzdělávání (program FI, B-IVV) (2)
- Information Security (program FI, N-PSKB_A)
- Kvantové a jiné neklasické výpočetní modely (program FI, N-TEI)
- Kyberbezpečnost (program FI, B-CS)
- Počítačová grafika a vizualizace (program FI, N-VIZ)
- Počítačové sítě a komunikace (program FI, N-PSKB)
- Principy programovacích jazyků (program FI, N-TEI)
- Programování a vývoj aplikací (program FI, B-PVA)
- Programovatelné technické struktury (program FI, N-IN)
- Řízení kyberbezpečnosti (program FI, N-RSSS)
- Řízení vývoje služeb (program FI, N-RSSS)
- Řízení vývoje softwarových systémů (program FI, N-RSSS)
- Services Development Management (program FI, N-RSSS_A)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Software Systems Development Management (program FI, N-RSSS_A)
- Software Systems (program FI, N-PSKB_A)
- Softwarové systémy (program FI, N-PSKB)
- Strojové učení a umělá inteligence (program FI, N-UIZD)
- Učitel informatiky a správce sítě (program FI, N-UCI)
- Učitelství informatiky pro střední školy (program FI, N-UCI) (2)
- Vývoj počítačových her (program FI, N-VIZ)
- Zpracování a analýza rozsáhlých dat (program FI, N-UIZD)
- Zpracování přirozeného jazyka (program FI, N-UIZD)
- Cíle předmětu
- Osvojit si elementární výpočetní prostředky počítače, porozumět jejich vztahu k abstraktnějším formám výpočtu a zejména do hloubky pochopit klíčové abstrakce a jejich realizaci: proměnná, větvení a cyklus, podprogram a jeho volání, předávání parametrů, návratová hodnota, organizace dat v paměti – pole a záznam, dynamická alokace. Rozvinout schopnost dekomponovat výpočetní problémy a budovat složitější abstrakce ze základních zmiňovaných.
- Výstupy z učení
- Student bude po absolvování předmětu schopen:
• pojmenovat a popsat základní abstrakce používané v programování;
• popsat jejich realizaci použitím elementárních výpočetních prostředků;
• naprogramovat zjednodušené verze standardních funkcí pro práci s pamětí a daty;
• napsat jednoduchý program v jazyce C. - Osnova
- Blok 1: Model výpočtu
1. abstraktní stroj,
2. lokální proměnné, strukturované řízení toku,
3. podprogramy a jejich volání
4. adresa proměnné, pole, záznam.
- Blok 2: Organizace paměti
5. práce s nestrukturovanou pamětí,
6. realizace zřetězeného seznamu,
7. dynamická alokace – lineární alokátor, podprogram malloc,
8. alokátor typu first-fit, podprogram free.
- Blok 3: Datové struktury a algoritmy
9. dynamické pole, podprogram realloc,
10. binární halda a prioritní fronta,
11. hašovací tabulka s pevnou a proměnnou velikostí klíče,
12. vyhledávací strom.
- Blok 1: Model výpočtu
- Výukové metody
- přednáška, týdenní programovací úkoly, seminář, 3 sady větších programovacích úloh
- Metody hodnocení
- Práce během semestru (dle vlastního výběru): aktivní účast ve cvičení + týdenní programovací cvičení + 3 sady větších domácích úloh + 3 průběžné programovací testy. Hodnoceno souhrnně ve čtyřtýdenních blocích. Zkouška: programovací test u školního počítače bez přístupu k internetu.
- Navazující předměty
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně. - Nachází se v prerekvizitách jiných předmětů
- PB006 Principy programovacích jazyků a OOP
(IB111 || NOW(IB111)) && (PB071 || PB111) - PB152cv Operační systémy - cvičení
(PB153 || PB152) && (PB111 || PB071 || SOUHLAS) - PB173 Tematicky zaměřený vývoj aplikací
PB111 || PB071 || SOUHLAS
- PB006 Principy programovacích jazyků a OOP
- Statistika zápisu (nejnovější)