Skip to main content
Skip header
Terminated in academic year 2009/2010

Programming in C/C++

Type of study Bachelor
Language of instruction Czech
Code 456-0523/01
Abbreviation CPP
Course title Programming in C/C++
Credits 6
Coordinating department Department of Computer Science
Course coordinator doc. Mgr. Jiří Dvorský, Ph.D.

Subject syllabus

Přednášky:
Historický úvod. Spojitost jazyka C s OS Unix a vazba na systémové programování.
Moderní trendy modulárního a objektově orientovaného programování -- C++. Jednoduchý
program a základní vstup a výstup ve spojení s datovými proudy.
Neobjektové datové typy, konstanty a proměnné. Paměťové třídy. Aritmetické a logické
operátory a výrazy. Priorita, arita a asociativita. Řízení chodu programu. Vícecestné
větvení. Cykly.
Procedurální programování v C/C++, funkce a struktura programu.
Textový a binární vstup a výstup. Soubory. Vstup a výstup objektů prostřednictvím
proudů C++.
Ukazatele a pole, vícerozměrná pole. Adresní aritmetika. Řetězce.

Dynamická práce s pamětí. Strukturované a uživatelské datové typy.
Třídy a objekty v C++. Modifikátory přístupu. Dědičnost. Podtřída a nadtřída.
Polymorfismus v C++, včasná a pozdní vazba. Přetížení metod a funkcí.
Tvorba tříd s dynamickými datovými členy. Konstruktor a destruktor.
Šablony (templates)
Jazyk C++ a platforma .NET


Projekty:

práce se soubory,
výstup do HTML, včetně češtiny,
programátorská a uživatelská dokumentace včetně testovacího příkladu (nejméně jeden),
téma je možné využít i z jiných předmětů -- v C/C++ bude hodnocena programátorská část projektu a uživatelská dokumentace (ne analýza a návrh),
odevzdávají se zdrojové texty, ne spustitelný soubor,
celý projekt je v jednom ZIP archivu, pojmenovaný podle ID studenta, např. NOV123.ZIP.


Počítačové laboratoře:
Náplní cvičení jsou konzultace k přednáškám, řešení zadaných příkladů, konzultace a řešení semestrálního projektu podle zvoleného zadání. Témata s vhodnou problematikou budou vypisována na začátku semestru.
Součástí cvičení je test z programování v průběhu semestru. Semestrální projekt musí student v rámci cvičení prezentovat cvičícímu.

Literature

ECKEL. Bruce. Thinking in C++. Prentice Hall
Stroustrup, B.: The programming language C++
SCHILDT. Herbert. Teach yourself. Osborne

Advised literature

SCHILDT. Herbert. Nauč se sám C++. Osborne/Softpress. 2000. ISBN 80-86497-13-5
SCHILDT. Herbert. Nauč se sám C. Osborne/Softpress. 2000. ISBN 80-86497-16-X

Sylaby přednášek.
Eletronické výukové materiály: HTML a Macromedia Flash simulace.
Virius M.: Pasti a propasti jazyka C++, ComputerPress, Praha 2005, druhé vydání, ISBN 80-251-0509-1
Sedgewick R.: Algoritmy v C, části 1-4, SoftPress, Praha 2003, ISBN 80-86497-56-9