Detail předmětu

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

FEKT-KPC1EAk. rok: 2017/2018

Studenti se seznámí s hardwarovou architekturou počítačových systémů včetně funkce jednotlivých subsystémů počítače (procesor, paměť, periferie, komunikační rozhraní), počítačové sítě a možnosti univerzitní a fakultní sítě. Předmět pokračuje úvodem do operačních systémů, jejich službami a souborovým systémem. Druhá část předmětu je zaměřena na algoritmizaci úloh a jejich programování v jazyce C dle standardu ANSI do úrovně sestavování vlastních funkcí a jejich využívání. V rámci počítačových cvičení si studenti sestaví jednoduché konzolové aplikace v jazyce C.

Jazyk výuky

čeština

Počet kreditů

5

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

Absolvent předmětu je schopen (1) popsat hardwarová řešení počítačů, (2) definovat základní koncepty počítačových sítí, (3) definovat principy činnosti operačních systémů, (4) sestavit jednoduchou konzolovou aplikaci v jazyce ANSI C a (5) sestavit vlastní knihovnu funkcí v jazyce ANSI C.

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á vlastní www stránky. Student odevzdává samostatný projekt.

Způsob a kritéria hodnocení

Studenti mohou získat maximálně 16 bodů za aktivní práci v počítačových cvičení, 24 bodů za domácí úlohy během semestru, 30 bodů za zápočtový test na konci semestru a 30 bodů za individuální projekt v jazyce C.

Osnovy výuky

1. Univerzitní informační systémy, studentský účet, loginy na VUT, hesla. VUT portál, STUDIS, e-learning systém Moodle, Gigadisk. Pravidla užití a struktura počítačové sítě FEKTu. Elektronická pošta a služby. WiFi sítě FEKTu. Informační systémy Ústavu radioelektroniky.
2. Operační systémy, UNIX/Linux. Přístup na server FEST, program PuTTY, základní příkazy, přístupová práva, přenos souborů, program WinSCP. Grafický správce souborů mc, umístění vlastních HTML stránek na studentský server FEST. Počítačové sítě, TCP/IP model, IPv4 a IPv6 adresy, protokoly TCP, UDP, porty, DNS, HTTP, HTTPS, FTP, anonymní FTP.
3. Architektura počítačových systémů, procesory, paměti a paměťový prostor, periferie, komunikační rozhraní.
4. Vývoj softwarové aplikace, operační kód, instrukční soubor, jazyk symbolických adres, vyšší programovací jazyky, překlad, sestavování. Struktura programu, algoritmus, vývojový diagram, proměnné, datové typy, číselné formáty a jejich reprezentace v paměti, aritmetické a logické operace. Vývoj aplikace v prostředí Code::Blocks.
5. Úvod do jazyka C, základní struktura programu v jazyce C, funkce main(), proměnné, pole, výrazy, aritmetické konverze, operátory v jazyce C, priority operátorů, vstupy, výstupy, jednoduchá konzolová aplikace.
6. Příkazy v jazyce C. Příkazy pro větvení a podmínky – if, else, switch, case; příkazy pro cykly – for, while, do-while; příkazy pro řízení přenosu – break, continue.
7. Řetězce, knihovní funkce pro práci s řetězci "stdio.h" a "string.h". Kopírování řetězců, prohledávání řetězců, porovnávání řetězců.
8. Ukazatele a pole. Vztah mezi polem a ukazatelem. Uložení pole v paměti. Indexy prvků polí.
9. Funkce v jazyce C. Hlavičky funkcí s parametrem, bez parametru, parametr volaný hodnotou a odkazem. Volání funkcí, návratová hodnota. Rekurzivní funkce. Sestavení knihovny funkcí, přilinkování k aplikaci.
10. Pokročilé datové typy. Struktury, unie, výčtový typ, dynamické proměnné, alokace a dealokace v paměti.
11. Práce se soubory v jazyce C. Knihovní funkce pro práci se soubory, čtení, zápis. Zpracování textového souboru.
12. Vazby dynamických proměnných. Lineární seznamy, stromy. Příklad sestavení dynamické databáze.
13. Pokročilé algoritmy. Vyhledání maxima, minima, setřídění – selectsort, insertsort, bublesort.

Učební cíle

Cílem předmětu je seznámit studenty s architekturou počítačových systémů, s principem činnosti hardwarových systémů počítače (procesor, paměť, periferie, komunikační rozhraní), 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 se souborovými systémy. Cílem předmětu je taktéž seznámit studenty se základy programování a algoritmizace s využitím jazyka C ve standardu ANSI do úrovně, kdy jsou studenti schopni sestavit vlastní jednoduché knihovny funkcí a použít je, pracovat se soubory (čtení a zápis), sestavit a používat struktury a dynamické proměnné.

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

Pecinovský R, Virius M: Učebnice programování - základy algoritmizace. Grada Publishing, Praha 1997. (CS)
Kabelová, A., Dostálek, L. Velký průvodce protokoly TCP/IP a systémem DNS. Computer Press, 2008. (CS)
Ličev, L., Morkes, D. Procesory - architektura, funkce, použití. Computer Press, ISBN: 80-7226-172-X (CS)
Kernighan, B. W., Ritchie, D. M. Programovací jazyk C. Brno: Computer Press, 2006. (CS)

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

  • Program EEKR-BK bakalářský

    obor BK-EST , 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 VUT.
2. Počítačové sítě a operační systémy.
3. Počítačové systémy, hardwarová architektura.
4. Vývoj softwarové aplikace, operační kód, instrukční soubor, jazyk symbolických adres, vyšší programovací jazyky, překlad.
5. MATLAB: Úvod do Matlabu, modelování systémů, spojitý, diskrétní a číslicový systém. Jednoduchý model fyzikálního děje.
6. MATLAB: Reprezentace vektorů a matic v Matlabu, podmínky, cykly, grafické výstupy.
7. MATLAB: Zpracování dat, statistika, práce se soubory, čtení, zápis, binární soubor, textový soubor.
8. MATLAB: Grafické uživatelské rozhraní v Matlabu, statistické zpracování dat.
9. MATLAB: Úvod do Simulinku, simulace jednoduchého systému, vztah modelu v Simulinku k Matlabu.
10. C: Úvod do jazyka C, základní struktura programu v C, funkce main(), proměnné, pole, výrazy, operátory, priorita operátorů. Vstupy, výstupy, jednoduchá konzolová aplikace.
11. C: Příkazy, větvení a cykly for, while, do-while, příkazy break, continue, přepínač. Exemplární konzolové aplikace.
12. C: Funkce. Deklarace funkcí, volání, ošetření událostí, rekurze, sestavení vlastní knihovny. Standardní knihovny a jejich použití.
13. C: Algoritmy vyhledání maxima, minima, setřídění.

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

1. Informační systémy VUT.
2. Počítačové sítě a operační systémy.
3. Počítačové systémy, hardwarová architektura.
4. Vývoj softwarové aplikace, operační kód, instrukční soubor, jazyk symbolických adres, vyšší programovací jazyky, překlad.
5. MATLAB: Úvod do Matlabu, modelování systémů, spojitý, diskrétní a číslicový systém. Jednoduchý model fyzikálního děje.
6. MATLAB: Reprezentace vektorů a matic v Matlabu, podmínky, cykly, grafické výstupy.
7. MATLAB: Zpracování dat, statistika, práce se soubory, čtení, zápis, binární soubor, textový soubor.
8. MATLAB: Grafické uživatelské rozhraní v Matlabu, statistické zpracování dat.
9. MATLAB: Úvod do Simulinku, simulace jednoduchého systému, vztah modelu v Simulinku k Matlabu.
10. C: Úvod do jazyka C, základní struktura programu v C, funkce main(), proměnné, pole, výrazy, operátory, priorita operátorů. Vstupy, výstupy, jednoduchá konzolová aplikace.
11. C: Příkazy, větvení a cykly for, while, do-while, příkazy break, continue, přepínač. Exemplární konzolové aplikace.
12. C: Funkce. Deklarace funkcí, volání, ošetření událostí, rekurze, sestavení vlastní knihovny. Standardní knihovny a jejich použití.
13. C: Algoritmy vyhledání maxima, minima, setřídění.