Detail předmětu

Programovací techniky

FSI-DPTAk. rok: 2007/2008

Kurz se zabývá následujícími tématy: úvod, principy objektů, objektově orientované programování, objektově orientované rozšíření Pascalu pro Delphi. Statické a virtuální metody,
konstruktory a destruktory. Statická a dynamická instance třídy, práce s ukazateli. Soukromé a veřejné vlastnosti a metody, zásady zvýšení bezpečnosti kódu. Systematický návrh dědiců modifikací existujících tříd, kompatibilita tříd, použití virtuálních metod. Filosofie práce s
objektově orientovanými knihovnami. Aplikace metody shora dolů. Zásady oddělení návrhu režijních a datových tříd. Vytváření unit, strukturace projektu, práce s objektovými knihovnami. Implementace seznamů a stromů, kolekce, proudy, použití. Rekurze, příklady použití. Vybrané partie softwarového inženýrství. Metodika vedení projektu.

Jazyk výuky

čeština

Počet kreditů

6

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

Studenti získají znalost metodiky tvorby programů na základě objektově orientovaného
programování a osvojí si schopnost řešit problémy s pomocí objektových technologií.

Prerekvizity

Předpokládá se znalost algoritmizace, strukturovaného přístupu k řešení problémů a znalost metodiky tvorby neobjektových programů.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Požadavky pro udělení zápočtu: aktivní účast na cvičeních a samostatné zpracování projektu zadaného vyučujícím. Zkouška sestává z písemné a ústní části. Písemnou část představuje test se čtyřmi otázkami. Ústní část se skládá z diskuse nad písemnou částí s možnými doplňujícími otázkami. Klasifikace je plně v kompetenci vyučujícího podle platných směrnic VUT v Brně.

Učební cíle

Seznámení s objektově orientovanou metodikou práce s počítačem. Rozvoj algoritmického myšlení a strukturovaného přístupu k řešení problémů. Rozvoj počítačové kreativity posluchačů.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Účast na přednáškách je žádoucí, na cvičeních povinná. Výuka běží podle týdenních plánů. Způsob nahrazení zameškaných cvičení je plně v kompetenci vyučujícího.

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

  • Program B3901-3 bakalářský

    obor B3910-00 , 1. ročník, letní semestr, povinný
    obor B3904-00 , 1. ročník, letní semestr, volitelný (nepovinný)

  • Program B2341-3 bakalářský

    obor B2370-00 , 2. ročník, letní semestr, povinný
    obor B2339-00 , 2. ročník, letní semestr, volitelný (nepovinný)

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod, principy objektů, objektově orientované programování, objektově orientované rozšíření pro Delphi.
2. Statické a virtuální metody, konstruktory a destruktory.
3. Dynamická instance třídy, práce s ukazateli.
4. Soukromé a veřejné vlastnosti a metody, zásady zvýšení bezpečnosti kódu.
5. Systematický návrh dědiců modifikací existujících tříd, kompatibilita tříd, použití virtuálních metod. Filosofie práce s objektově orientovanými knihovnami.
6. Aplikace metody shora dolů. Zásady oddělení návrhu režijních a datových tříd.
7. Softwarové inženýrství, metodika vedení projektu, strukturace projektu, práce s objektovými knihovnami, vytváření unit.
8. Dynamické pole, práce s dynamickým polem.
9. Implementace a použití seznamů.
10. Implementace a použití stromů.
11. Proud, práce s proudem.
12. Rekurze, její použití.
13. Zápočet.

Cvičení s počítačovou podporou

26 hod., povinná

Vyučující / Lektor

Osnova

1. Opakování - práce s ukazateli, rekurze. Objekt jako zobecněný záznam.
2. Statická a dynamická instance třídy. Systematický návrh konstruktoru a destruktoru.
3. Filosofie používání virtuálních metod.
4. Zásady zvýšení bezpečnosti kódu.
5. Filosofie tvorby tříd s využitím dědičnosti, kompatibilita tříd.
6. Tvorba tříd a metoda shora dolů. Využití kompatibility tříd pro zestručnění a zobecnění kódu. Oddělení režijních a datových tříd.
7. Filosofie strukturace projektu, podpora v Delphi.
8. Dynamické pole, práce s dynamickými poli.
9. Implementace seznamu.
10. Implementace stromu, práce se stromem I.
11. Implementace stromu, práce se stromem II.
12. Proud, práce s proudem.
13. Rekurzivní přístup k datovým strukturám.

Cvičení probíhají formou rozvíjení typových příkladů.