Detail předmětu

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

FEKT-BPC1EPovinnýBakalářský (první cyklus)Ak. rok: 2015/2016Zimní semestr1. ročník5  kreditů

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.

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.

Doporučená nebo povinná literatura

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

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ě 27 bodů za aktivní práci v počítačových cvičení, 13 bodů za průběžné testy během semestru, 30 bodů za zápočtový test na konci semestru a 30 bodů za individuální projekt v jazyce C.

Jazyk výuky

čeština

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.

Cíl

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.

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Cvičení na poč.

26 hod., povinná

Vyučující / Lektor