Detail předmětu

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

FEKT-BPC1AAk. rok: 2018/2019

První část předmětu je zaměřena na seznámení studentů s informačními systémy fakulty a university, základy informatiky jako číselné soustavy, binární aritmetika, reprezentace desetinných čísel, kódování znaků, Von Neumannovy principy a koncepce počítače, základy operačních systémů (OS), práce v OS UNIX/Linux a základy počítačových sítí. Druhá část předmětu se věnuje algoritmizaci a základům programování v jazyce C. Studenti by se měli naučit používat proměnné jazyka C, přiřazovací příkazy, aritmetické, bitové, logické a relační operátory, příkazy větvení a cyklů a používání funkcí.

Jazyk výuky

čeština

Počet kreditů

5

Garant předmětu

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

Absolvent předmětu by měl být schopen:
- využívat informační systémy a počítačovou síť FEKT/VUT,
- vyjádřit číslo v různých číselných soustavách,
- vyjádřit desetinné číslo dle standardu IEEE 754,
- popsat základní a složené datové typy jazyka C,
- aplikovat příkazy a operátory jazyka C,
- sestavit jednoduchý algoritmus a vytvořit pro něj program v jazyce C,
- popsat použití protokolů IP, TCP, UDP, HTTP, HTTPS, FTP a NTP,
- popsat fungování DNS a DNSSEC.

Prerekvizity

Bez prerekvizit.

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. Student vypracuje pět úloh.

Způsob a kritéria hodnocení

Studenti získají max. 90 bodů za testy během cvičení (3 testy každý za 30 bodů) a max. 10 bodů za práci ve cvičeních.

Osnovy výuky

1. Informační systémy používané na FEKT/VUT a jim odpovídající uživatelské účty. Pravidla a směrnice počítačové sítě FEKT/VUT. Přístup k fakultní elektronické poště, WWW rozhraní Horde. Filtrování příloh elektronické pošty. WiFi sítě VUT a EDUROAM. VPN.
2. Číselné soustavy, převody mezi číselnými soustavami. Aritmetické operace v binární soustavě.
3. Reprezentace záporných čísel. Reprezentace desetinných čísel, standard IEEE 754.
4. Kódování znaků: ASCII, ISO-8859-2, UNICODE, UTF8.
5. Von Neumannovy principy a koncepce počítače. Strojová instrukce. Operační systém (OS), role OS, abstrakce poskytované OS. Algoritmus, vývojové diagramy.
6. Programovací a značkovací jazyky. Rozdělení programovacích jazyků. Historie a standardy jazyka C (K&R C, ANSI C (C89), C90, C99, C1X). Základní struktura programu v jazyce C. Proměnné v jazyce C, identifikátory proměnných. Jednoduché datové typy v jazyce C. Definice a inicializace proměnných. Globální a lokální proměnné. Rozsahy platnosti proměnných.
7. Konstanty. Konstantní proměnné, modifikátor const. Přiřazovací příkaz, L-hodnota, R-hodnota. Aritmetické a binární operátory. Operátory inkrementace a dekrementace. Priorita operátorů.
9. Příkazy větvení if, else. Relační a logické operátory. Příkaz switch, case. Realizace cyklů v jazyce C.
10. Jednorozměrná pole. Řetězce, řetězcové literály. Vícerozměrná pole.
11. Funkce. Příkazy preprocesoru #include, #define, #ifdef, #ifndef, #endif. Hlavičkové soubory.
12. Ukazatele. Ukazatele a pole.
13. Standardní knihovní funkce jazyka C. Funkce pro práci se standardním vstupem a výstupem: scanf(), printf().


Učební cíle

Cílem předmětu je naučit studenty používat informační systémy a počítačovou síť fakulty a university, seznámit je se základy informatiky, algoritmizace a programování v jazyce C.

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

Počítačová cvičení jsou povinná, řádně omluvené zmeškané počítačové cvičení lze po domluvě s vyučujícím nahradit.

Základní literatura

Herout,P.: Učebnice jazyka C. Kopp. ISBN: 978-80-7232-383-8 (CS)
Kadlec,V.: Učíme se programovat v jazyce C. Computer Press, Praha, 2002. ISBN 80-7226-715-9 (CS)
Kernigham, B.W. Richie, D.M (Virius,M.): Programovací jazyk C. Brno. Computer Press, 2006. ISBN 80-251-0897-X. (CS)
Petrlík, L.: Jemný úvod do systému UNIX. Koop. České Budějovice 2000. ISBN 80-85828-24-6. (CS)
Prokop, J.: Algoritmy v jazyku C a C++. Praha. Grada Publishing, 2009. ISBN 978-80-247-2751-6 (CS)

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

  • Program EEKR-B bakalářský

    obor B-AMT , 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. Informační systémy používané na FEKT/VUT a jim odpovídající uživatelské účty. Pravidla a směrnice počítačové sítě FEKT/VUT. Přístup k fakultní elektronické poště, WWW rozhraní Horde. Filtrování příloh elektronické pošty. WiFi sítě VUT a EDUROAM. VPN.
2. Číselné soustavy, převody mezi číselnými soustavami. Aritmetické operace v binární soustavě.
3. Reprezentace záporných čísel. Reprezentace desetinných čísel, standard IEEE 754-2008. Von Neumannovy principy a koncepce počítače. Strojová instrukce. Operační systém (OS), role OS, abstrakce poskytované OS. Algoritmus, vývojové diagramy.
4. Kódování znaků: ASCII, ISO-8859-2, UNICODE, UTF8. Programovací a značkovací jazyky. Rozdělení programovacích jazyků. Historie a standardy jazyka C (K&R C, ANSI C (C89), C90, C99, C1X).
5. Základní struktura programu v jazyce C. Proměnné v jazyce C, identifikátory proměnných. Jednoduché datové typy v jazyce C. Definice a inicializace proměnných. Globální a lokální proměnné. Rozsahy platnosti proměnných.
6. Konstanty. Konstantní proměnné. Výrazy a příkazy. Priorita, asociativita a arita operátorů. Binární a unární aritmetické operátory. Přiřazovací příkaz, L-hodnota, R-hodnota. Operátory inkrementace a dekrementace.
7. Složené bloky. Bloky a definice proměnných. Příkazy větvení if - else. Logické výrazy, relační operátory a operátory rovnosti. Podmíněný výraz. Příkaz switch.
8. Příkazy cyklů while, do-while, for. Pole. Řetězce. Operátor sizeof.
9. Funkce. Příkazy preprocesoru #include, #define, #ifdef, #ifndef, #endif. Makra s parametry. Hlavičkové soubory.
10. Ukazatele. Ukazatele a pole.
11. Ukazatele a argumenty funkcí. Pole jako parametr funkce. Ukazatele na ukazatele. Parametry funkce main.
12. Standardní knihovní funkce jazyka C. Funkce pro práci se standardním vstupem a výstupem: scanf(), printf().
13. Opakování před závěrečným testem.

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

1. Seznámení s počítačovou učebnou, praktické seznámení se s počítačovými a informačními systémy FEKT/VUT.
2. UNIX - použití základních příkazů v OS UNIX.
3. Převody číselných soustav. Sčítání a odčítání v binární soustavě. Počítání v 2. doplňku.
4. Násobení a dělení v binární soustavě. Vyjádření znaků v ASCI a UNICODE. BASE64 kódování.
5. Test číslo 1.
6. Seznámení se s vývojovým prostředím Visual Studio. Program na cýpočet kořenů kvadratické rovnice.
7. Programy na procvičení příkazů if - else a cyklu příkazu while.
8. Programy na procvičení práce s poli a cykly.
9. Programy na procvičení práce s funkcemi.
10. Test číslo 2.
11. Programy na procvičení práce s ukazateli.
12. Programy na procvičení práce s parametry funkce main.
13. Test číslo 3.