Detail předmětu

Jazyky c a c++

FEKT-SCPPAk. rok: 2005/2006

Jazyky C a C++ podle normy ISO.
Základy programovaní v C a C++, základní principy
objektově orientovaného přístupu a jeho aplikace v C++.
Generické programování v C++.

Jazyk výuky

čeština

Počet kreditů

6

Garant předmětu

Výsledky učení předmětu

Základní schopnost programování v C a C++.
Znalost principů objektově orientovaného a generického programování.

Prerekvizity

Jedná se o předmět nestrukturovaného dobíhajícího studijního programu

Učební cíle

Cílem je naučit studenty základy programování v C a C++ včetně objektově orientovaného a generického programování.

Základní literatura

Kerninghan, B.; Ritchie, D.: The C Programming Language, 2nd edition, Addison-Wesley, 1989
Stroustrup, B.: The C++ programming language, third edition, Addison-Wesley, 1997
Eckel, B.: Thinking in C++, 2nd edition, Prentice-Hall, 2000
Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
ISO: Programming languages - C, WG14/N869 Committee Draft, 1999
ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1988
Herout, P.: Učebnice jazyka C, 3. vydání, Kopp, 1998
Eckel, B.: Myslíme v jazyku C++, GRADA, 2000

Zařazení předmětu ve studijních plánech

  • Program EI-B3 bakalářský

    obor B3-EST , 1. ročník, zimní semestr, volitelný mimooborový
    obor B3-EVM , 1. ročník, zimní semestr, volitelný mimooborový
    obor B3-KAM , 1. ročník, zimní semestr, volitelný mimooborový
    obor B3-SEE , 1. ročník, zimní semestr, volitelný mimooborový
    obor B3-EST , 2. ročník, zimní semestr, volitelný mimooborový
    obor B3-EVM , 2. ročník, zimní semestr, volitelný mimooborový
    obor B3-KAM , 2. ročník, zimní semestr, volitelný mimooborový
    obor B3-SEE , 2. ročník, zimní semestr, volitelný mimooborový
    obor B3-EST , 3. ročník, zimní semestr, volitelný mimooborový
    obor B3-EVM , 3. ročník, zimní semestr, volitelný mimooborový
    obor B3-KAM , 3. ročník, zimní semestr, volitelný mimooborový
    obor B3-SEE , 3. ročník, zimní semestr, volitelný mimooborový
    obor B3-EST , 4. ročník, zimní semestr, volitelný mimooborový
    obor B3-EVM , 4. ročník, zimní semestr, volitelný mimooborový
    obor B3-KAM , 4. ročník, zimní semestr, volitelný mimooborový
    obor B3-SEE , 4. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 1. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 1. ročník, zimní semestr, volitelný mimooborový
    obor M5-EVM , 1. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 1. ročník, zimní semestr, volitelný mimooborový
    obor M5-KAM , 1. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 1. ročník, zimní semestr, volitelný mimooborový
    obor M5-SEE , 1. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-SEE , 1. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 2. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 2. ročník, zimní semestr, volitelný mimooborový
    obor M5-EVM , 2. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 2. ročník, zimní semestr, volitelný mimooborový
    obor M5-KAM , 2. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 2. ročník, zimní semestr, volitelný mimooborový
    obor M5-SEE , 2. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-SEE , 2. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 3. ročník, zimní semestr, volitelný mimooborový
    obor M5-SEE , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-SEE , 3. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 4. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 4. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 4. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 4. ročník, zimní semestr, volitelný mimooborový
    obor M5-KAM , 4. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 4. ročník, zimní semestr, volitelný mimooborový
    obor M5-SEE , 4. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-SEE , 4. ročník, zimní semestr, volitelný mimooborový
    obor M5-EST , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EST , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-EVM , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-KAM , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-SEE , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M5 magisterský

    obor M5-SEE , 5. ročník, zimní semestr, volitelný mimooborový

  • Program EI-M3 magisterský navazující

    obor M3-EST , 1. ročník, zimní semestr, volitelný mimooborový
    obor M3-EVM , 1. ročník, zimní semestr, volitelný mimooborový
    obor M3-KAM , 1. ročník, zimní semestr, volitelný mimooborový
    obor M3-SEE , 1. ročník, zimní semestr, volitelný mimooborový
    obor M3-EST , 2. ročník, zimní semestr, volitelný mimooborový
    obor M3-EVM , 2. ročník, zimní semestr, volitelný mimooborový
    obor M3-KAM , 2. ročník, zimní semestr, volitelný mimooborový
    obor M3-SEE , 2. ročník, zimní semestr, volitelný mimooborový
    obor M3-EST , 3. ročník, zimní semestr, volitelný mimooborový
    obor M3-EVM , 3. ročník, zimní semestr, volitelný mimooborový
    obor M3-KAM , 3. ročník, zimní semestr, volitelný mimooborový
    obor M3-SEE , 3. ročník, zimní semestr, volitelný mimooborový

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

Vyučující / Lektor

Osnova

Úvod. Charakteristika jazyka C (K&R, ANSI C, ISO C90, ISO C99). Základní konstrukce jazyka. Příklady jednoduchých programů.
Systematická definice jazyka C: lexikální jednotky, syntaxe deklarací, jednoduché typy, proměnné.
Typ pole. Pojmy adresový prostor, adresa, ukazatel. Souvislost ukazatelů a polí, adresová aritmetika. Dynamické přidělování paměti.
Řetězce, vícerozměrná pole, struktury a unie. Výčtový typ. Výrazy, operátory, konverze, priority operátorů. Příkazy.
Funkce a předávání parametrů. Ukazatele na funkce. Argumenty programu (argc, argv). Preprocesor jazyka C: makra, podmíněný překlad. Struktura programu, modularita, překladové jednotky. Principy sestavování programu. Program "make".
Standardní knihovny jazyka C - přehled a příklady použití. Vstup/výstup, práce se soubory. Práce s řetězci a pamětí. Zpracování časových údajů. Matematická knihovna. Komplexní čísla.
Jazyk C++ podle normy ISO. Příklady použití základních konstrukcí jazyka C++. Rozdíly mezi jazyky C a C++. Typ reference, typ bool, operátory C++, prostory jmen.
Základní principy objektově orientovaného programování. Třídy, členy tříd, kontrola přístupu ke členům tříd.
Konstruktory, destruktory, new a delete. Konverze typů. Přetěžování operátorů a funkcí. Vstup/výstupní operátory (iostream).
Dědičnost, bázové a odvozené třídy, volání konstruktorů a destruktorů, operátory a dědičnost.
Polymorfismus, virtuální metody, abstraktní třídy.
Generické třídy a funkce (šablony). Obsluha výjimek.
Násobná dědičnost, virtuální bázové třídy, ukazatele na členy tříd, prostředky C++ pro vstup/výstup. Přehled standardních knihoven, STL.

Ostatní aktivity

26 hod., nepovinná

Vyučující / Lektor

Osnova

2 domácí úkoly, 1 projekt v C++