Detail předmětu

Počítače a programování 1

FEKT-BPC1TAk. rok: 2014/2015

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

čeština

Počet kreditů

5

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

Absolvent předmětu je schopen:
- 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

Jsou požadovány znalosti na úrovni středoškolského studia.

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

Metody vyučování zahrnují přednášky a cvičení na počítači. Předmět využívá e-learning (Moodle). Student odevzdává jeden samostatný projekt.

Způsob a kritéria hodnocení

Podmínky pro úspěšné ukončení předmětu stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Osnovy výuky

1. Fakultní počítačová síť, fakultní UNIX server, elektronická pošta, Wi-Fi.
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

Seznámit studenty se základy počítačových sítí, s architekturou univerzitní a fakultní sítě včetně služeb a s operačními systémy DOS, Windows a Unix, jejich službami a souborovými systémy. Seznámit studenty se základy programování a algoritmizace s využitím jazyka ANSI C a vývojového nástroje Visual Studio.

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

Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Základní literatura

Kabelová, A., Dostálek, L. Velký průvodce protokoly TCP/IP a systémem DNS. Computer Press, 2008. (CS)
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

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Tři nezávislé systémy na VUT/FEKT a jim odpovídající uživatelské účty: Informační systém VUT, UNIX, Novell. Pravidla počítačové sítě VUT. Na koho se obrátit v případě problémů, www stránka s návody a informacemi o síti FEKT. Seznámení s informačním systémem VUT, přístup k elektronickým textům, zápis na zkoušku, zasílání VUT zpráv. Výukový systém Moodle, odevzdávání projektů elektronickou cestou. Systém pro přenos velkých souborů Gigadisk
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í.