Required course for bachelor's program in Information security.
Last update: G_M (16.05.2012)
Kurs nízkoúrovňového programování v C/C++ s důrazem na objektové programování a objektový návrh programů.
Předpokládá znalosti základního kurzu programování NMIN111 Programování 1 a NMIN112 Programování 2, na
které navazuje.
Last update: Töpfer Pavel, doc. RNDr., CSc. (28.09.2020)
Course completion requirements -
Předmět je zakončen zápočtem a zkouškou. Zápočet není nutný k účasti na zkoušce.
K získání zápočtu se požaduje:
aktivní účast na cvičení spočívající obvykle v řešení úkolů (programů) v termínech stanovených cvičícím (ať už na cvičení nebo doma),
vypracování zápočtového programu a jeho odevzdání do termínu stanoveného cvičícím,
úspěšné absolvování zápočtového testu.
Povaha prvních dvou požadavků neumožňuje vypsat opravné termíny. Vyučující může stanovit podmínky, za nichž student může nahradit chybějící domácí úkoly nebo opakovaně odevzdat zápočtový program po odstranění nalezených závad.
Na složení zápočtového testu má student tři pokusy do konce zkouškového období zimního semestru (jeden řádný a dva opravné termíny). Vyučující může studentům povolit vykonat opravný termín i dodatečně během letního semestru.
Last update: Holan Tomáš, RNDr., Ph.D. (29.10.2019)
Předmět je zakončen zápočtem a zkouškou. Zápočet není nutný k účasti na zkoušce.
K získání zápočtu se požaduje:
aktivní účast na cvičení spočívající obvykle v řešení úkolů (programů) v termínech stanovených cvičícím (ať už na cvičení nebo doma),
vypracování zápočtového programu a jeho odevzdání do termínu stanoveného cvičícím,
úspěšné absolvování zápočtového testu.
Povaha prvních dvou požadavků neumožňuje vypsat opravné termíny. Vyučující může stanovit podmínky, za nichž student může nahradit chybějící domácí úkoly nebo opakovaně odevzdat zápočtový program po odstranění nalezených závad.
Na složení zápočtového testu má student tři pokusy do konce zkouškového období zimního semestru (jeden řádný a dva opravné termíny). Vyučující může studentům povolit vykonat opravný termín i dodatečně během letního semestru.
Last update: Holan Tomáš, RNDr., Ph.D. (13.10.2017)
Literature -
S. Lippman, J. Lajoie, B. Moo: C++ Primer, Addison--Wesley 2012.
B. Stroustrup: Programming: Principles and Practice Using C++, Addison--Wesley 2014.
B. Stroustrup: A Tour of C++, Addison-Wesley 2018.
P. Prinz, T. Crawford: C in a Nutshell: The Definitive Reference, O'Reilly 2015.
Last update: Pergel Martin, RNDr., Ph.D. (13.09.2021)
S. Lippman, J. Lajoie, B. Moo: C++ Primer, Addison--Wesley 2012.
B. Stroustrup: Programming: Principles and Practice Using C++, Addison--Wesley 2014.
B. Stroustrup: A Tour of C++, Addison-Wesley 2018.
M. Virius: Jazyky C a C++ podle normy ANSI/ISO Grada Publishing 2005.
Last update: Pergel Martin, RNDr., Ph.D. (13.09.2021)
Requirements to the exam -
Exam has oral part only. This part consists of answering two questions based on sylabus and real content of lectures and tutorials. One question typically asks about object design for a given problem, one question is usually more theoretical and asks about specifics of the language, general programming and related theory.
Requirements of the exam correspond to the sylabus of the lecture in the level of detail appropriate to what and how was lectured.
Last update: Pergel Martin, RNDr., Ph.D. (29.10.2019)
Zkouška má pouze ústní část, která obsahuje typicky dvě otázky odpovídající sylabu přednášky a tomu, co byo procvičováno na cvičení.
Požadavky ke zkoušce odpovídají sylabu předmětu v rozsahu předneseném na přednáčce.
Last update: Holan Tomáš, RNDr., Ph.D. (13.10.2017)
Syllabus -
We focus on C#-programming language, object-oriented design, object-oriented-programming-principles and practical programming using current development tools. Students get acquainted with particular programming-methods. They will also explore the tools for larger programms development (including the graphical interface).
Last update: G_M (16.05.2012)
Kurs nízkoúrovňového programování v C/C++ s důrazem na objektové programování a objektový návrh programů. Předpokládá znalosti základního kurzu programování NMIN101 a NMIN102, na které navazuje.
C: Základy
Hello, world!
deklarace proměnných (zatím jenom int) a přiřazování
podmínky, cykly, break a continue
deklarace a volání funkcí
C: Aritmetika
celočíselné typy
floating-point typy
aritmetické a bitové operátory
relační a booleovské operátory
přiřazovací operátory
explicitní a automatické typové konverze
literály (včetně typovaných)
komplexní čísla
C: Složené typy
struct, union
pole
ukazatele
kvalifikátory (const, volatile)
jak číst složité deklarace
Principy počítačů
procesor, paměť, periferie
organizace paměti: kód, statická data, dynamická data, zásobník
uložení dat v paměti:
celá čísla, dvojkový doplněk
fixed-point reprezentace
IEEE floaty
znaky a různá jejich kódování
překladač, linker, knihovny
C: Práce s ukazateli
dynamická alokace paměti
spojové seznamy, stromy
reprezentace polí pomocí pointerové aritmetiky
práce s řetězci
C: Preprocesor
#include
#define
#if, #ifdef
C: Ostatní
switch, case, goto
vedlejší efekty a synchronizační body
knihovní typy
různé knihovní funkce
programy složené z více modulů, viditelnost identifikátorů