Detail předmětu
Počítače a programování 1
FEKT-BPC1TAk. rok: 2018/2019
V předmětu se studenti seznámí s řešením počítačových sítí a řešením a možnostmi univerzitní a fakultní sítě. Součástí výuky v předmětu je seznámení funkcí operačních systémů, jejich službami a souborovými systémy. Předmět je dále zaměřen na získání praktických dovedností algoritmizace úloh a jejich programování v jazyce C dle standardu ANSI do úrovně sestavování vlastních funkcí a jejich využívání.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- využívat Informační systém VUT a výukový systém Moodle
- konfigurovat klienty elektronické pošty,
- připojit zařízení k Wi-Fi síti VUT,
- ovládat vývojové prostředí Microsoft Visual Studio,
- naprogramovat základní úlohy v jazyce C dle standardu ANSI do úrovně sestavení a aplikace funkcí,
- ladit program v jazyce C a hledat chyby,
- navrhnout strukturu programu.
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Osnovy výuky
2. Vlastnosti algoritmů, notace a zápis algoritmů.
3. Návrh a implementace algoritmů. Seznámení s vývojovým prostředím MS Visual Studio 2012.
4. Principy vyšších programovacích jazyků. Základní stavební bloky programů.
5. Jednoduché datové typy v jazyce C. Jednorozměrná a vícerozměrná pole proměnných. Výrazy a příkazy.
6. Typ ukazatel.
7. Funkce, parametry funkcí v jazyce C. Předávání hodnot odkazem, předávání hodnotou.
8. Řídící struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
9. Strukturované datové typy. Výčty.
10. Textové soubory, standardní vstup/výstup. Interakce programu s uživatelem.
11. Dynamické proměnné. Spojové struktury.
12. Numerické metody v programování. Rekurze v programování. Řadicí algoritmy.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Kernighan, B. W., Ritchie, D. M. Programovací jazyk C. Brno: Computer Press, 2006. (CS)
Kernighan, B. W., Ritchie D. M. The C Programming Language Second Edition, Prentice Hall PTR, 1988
Lasser, J. Rozumíme Unixu. Computer Press, 2002. ISBN: 80-7226-706-X (CS)
Pecinovský R, Virius M: Učebnice programování - základy algoritmizace. Grada Publishing, Praha 1997. (CS)
Prokop, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
Raida, Z., Fiala, P. Počítače a programování 2. Brno: FEKT VUT v Brně, 2002. (CS)
Virius, M. Jazyky C a C++. Komplexní kapesní průvodce. Praha: Grada Publishing, 2005 (CS)
Zařazení předmětu ve studijních plánech
- Program EEKR-B bakalářský
obor B-TLI , 1 ročník, zimní semestr, povinný
- Program AUDIO-J bakalářský
obor J-AUD , 1 ročník, zimní semestr, povinný
- Program IBEP-T bakalářský
obor T-IBP , 1 ročník, zimní semestr, povinný
- Program EEKR-CZV celoživotní vzdělávání (není studentem)
obor ET-CZV , 1 ročník, zimní semestr, povinný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Fakultní UNIX server: přístup pomocí ssh klienta (program PuTTY), změna hesla, přenos souborů pomocí scp resp. sftp (program WinSCP). Elektronická pošta: přístup přes WWW rozhraní Horde, Konfigurace klientů elektronické pošty, protokoly: imap, pop3, smtp. Jaké typy souborů příloh jsou filtrovány (odstraňovány), maximální velikost příloh. Možnost přesměrování elektronické pošty, problémy a povinnosti studenta s tím spojené. Wifi síť VUT, síť eduroam, připojování zařízení k pevné síti.
3. Vlastnosti algoritmů, notace a zápis algoritmů. Seznámení s vývojovým prostředím MS Visual Studio 2012. Vývoj programů v jazyce C ve Visual Studiu. Editace programů. Překlad programů. Nápověda. Látka zde probraná slouží jako rámec pro další výklad, který má umožnit posluchačům od počátku psát jednoduché programy. Vše bude probráno později podrobně.
4. Techniky řešení problémů. Návrh a implementace algoritmů. Podprogram, rozdělení programu do několika souborů. Krokování programu, nastavení breakpointů, zobrazení hodnot proměnných. Grafická forma zápisu algoritmu.
5. Principy vyšších programovacích jazyků. Symboly, oddělovače, konstanty, identifikátory, proměnné, reprezentace čísel, návěští, řetězce. Zápis číselných, znakových a řetězcových konstant. Platnost identifikátorů v rámci programu a jejich priority.
6. Koncepce dat. Jednoduché datové typy v jazyce C: boolean, byte, short, integer, long, float, double,… . Jednorozměrná a vícerozměrná pole proměnných. Výrazy a příkazy.
7. Řídící struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
8. Funkce, parametry funkcí v jazyce C. Předávání hodnot odkazem, předávání hodnotou.
9. Textové soubory, standardní vstup/výstup. Interakce programu s uživatelem.
10. Strukturované datové typy. Jejich převod na pole bytů a zpět (vhodné pro přenos po síti).
11. Numerické metody v programování. Rekurze v programování. Řadicí algoritmy.
12. Typ ukazatel a dynamické proměnné. Spojové struktury.
13. Verifikace programů a dokumentace. Nástroj Doxygen pro automatickou dokumentaci vytvořených programů. Tvorba jednotkových testů a jejich význam z pohledu správy programu. Metodiky vývoje software – testy řízené programování.
Cvičení na počítači
Vyučující / Lektor