Moderní metody programování I (FSI-SR1)

Akademický rok 1999/2000
Garant: RNDr. Rudolf Hlavička, CSc.  
Garantující pracoviště: ÚM všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Cíle předmětu:
Hlavním cílem předmětu je naučit studenty programovat v jazyku PASCAL a
to ve vývojovém prostředí DELPHI. Dalším cílem je seznámení posluchačů
s programovacím a vývojovým prostředím MATLAB.
Výstupy studia a kompetence:
Formulace algoritmu a jeho zápis ve formě podprogramu v jazyku PASCAL
v prostředí DELPHI a také pomocí programovacích prostředků prostředí
MATLABu.
Prerekvizity:
 
Obsah předmětu (anotace):
Historie počítačů a počítačových sítí. Operační systémy současnosti (DOS, Windows, Windows NT, Unix, Netware) - základní srovnání a vlastnosti, jejich vhodnost pro vědeckotechnické výpočty a vazby na existující hardware. Stručný průvodce uživatele po operačních systémech s ohledem nasoučasný stav na našich pracovištích.Základní přehled programovacích jazyků (Fortran, C, C++, Java, Visual Basic a Object Pascal). Obecné principy programování: algoritmy, procedurální přístup, objektový přístup, klient-server, událostmi řízené programování, vizuální programování a možnosti existujících vývojových nástrojů.Počítačové sítě, internet a intranet. Informační zdroje na internetu s ohledem na informatiku a matematiku. Softwarové a hardwarové komponenty internetu.
Metody vyučování:
 
Způsob a kritéria hodnocení:
Zápočet se uděluje za vypracování několika krátkých algoritmů alespoň ve dvou programovacích jazycích.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:
 
Typ (způsob) výuky:
    Přednáška  14 × 1 hod. nepovinná                  
    Cvičení na počítači  14 × 3 hod. povinná                  
Osnova:
    Přednáška 1. Historie počítačů a počítačových sítí. Operační systémy současnosti (zejména DOS, Windows, Windows NT, Unix, Netware) - základní srovnání a vlastnosti, vhodnost pro vědeckotechnické výpočty a perspektiva.
2. Stručný průvodce uživatele po operačních systémech s ohledem na současný stav na našich pracovištích.
3. Obecné principy procedurálního programování.
4. Základní přehled procedurálních programovacích jazyků: Fortran, K&R C + ANSI C, Pascal.
5. Algoritmy I. Demonstrace procedurálního programování na jednoduchých algoritmech.
6. Obecné principy objektového programování. Zapouzdření, dědičnost, polymorfizmus, genericita.
7. Základy Object Pascalu I. Datové typy a základní řídící struktury. Správa paměti, operace I/O, práce s ukazateli.
8. Základy Object Pascalu II. Třídy a objekty. Konstruktory a destruktory. Virtuální a dynamické metody. Řízení výjimek.
9. Základy C++ I. Datové typy a základní řídící struktury. Správa paměti, operace I/O, práce s ukazateli.
10. Základy C++ II. Abstraktní datový typ a třída jako jeho implementace. Přetížené operátory.
11. Základy C++ III. Mechanismus pozdní vazby, virtuální metody, šablony funkcí a tříd.
12. Algoritmy II. Demonstrace objektového programování.
13. Algoritmy III. Vytvoření jednoduché knihovny tříd, realizující některé základní algoritmy.
14. Visual Basic a Visual Basic for Applications, MS Office jako knihovna objektů.
15. Počítačové sítě, internet a intranet, nevyčerpatelný zdroj informací pro vývoj softwaru.
    Cvičení na počítači 1. Základní informace o práci v síti Ústavu matematiky. Účty a jejich zřizování. Přihlašování se do heterogenní sítě. Uživatelské utility pro Netware, WindowsNT a UNIX (Linux).
2. Použití informačních zdrojů intranetu a internetu. VNC (Virtual Network Computing), MS Netmeeting a jejich použití ve výuce a v týmové práci. Používání programů pro spolupráci s UNIXem: ftp, telnet, X-server, VNC.
3. Základní seznámení s vývojovými nástroji. MS Visual studio, MS Office, Delphi, Optima++. Jazyky GNU.
4. Píšeme jednoduché programy v C++ a F77. Pomocí ftp a telnetu je překládáme jazyky GNU g++ a g77 na Linuxovém serveru.
5. Píšeme jednoduché programy v C++ , Pascalu a vytváříme konzolové aplikace pro prostředí MS Win32. Učíme se používat integrované nástroje pro ladění programů.
6. Datové typy a základní řídící struktury Pascalu a C++.
7. Správa paměti, operace I/O, práce s ukazateli.
8. Objektově orientované prostředky Object Pascalu.
9. Objektově orientované prostředky C++.
10. Zahájení práce na semestrálního projektu. Zpracování dvou algoritmů objektovou formou ve dvou jazycích. Možnost spolupráce několika studentů s pokusem o týmovou práci.
11. Práce na projektu.
12. Práce na projektu.
13. Úvodní ukázky programování uživatelského rozhraní ve Win32 , motivace do dalšího semestru.
14. Ukázka použití VB for Applications např. pro zpracování dat v MS Excellu. Vytvoření jednoduchého makra pro MS Word. Příbuznost se skriptováním na internetu.
15. Klasifikovaný zápočet. Obhajoba semestrálních projektů. Nejlepší projekty se stávají součástí školících materiálů a jsou k dispozici na internetu.
Literatura - základní:
1. Borland Delphi, verze 7, Borland software corporation, dokumentace, www.borland com
2. Matlab, verze 6.5, dokumentace, The Mathworks, www.mathworks.com
3. K. Zaplatílek, B. Doňar: MATLAB pro yačátečníky, BEN, 2003, Praha.
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
M2301-5 prezenční studium Matematické inženýrství -- kl 4 Povinný 1 1 Z
M2301-5 prezenční studium Matematické inženýrství -- kl 4 Povinný 1 2 Z