Course detail
Computers and Programming 1
FEKT-BPC1EAcad. year: 2016/2017
Students become familiar with hardware architecture of computers including function of computer subsystems (processor, memory, periphery, and communication interface), computer networks, and university and faculty network. Further, introduction to operating systems and their services including file system are described. The second part of course is focused on task of algorithm development and programming in Matlab and in ANSI C up to building up own libraries and their applications. During computer practices, students will build up simple console applications in C language.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
2. Operating systems, UNIX/Linux. Access to server FEST, program PuTTY, basic commands, access privileges, file transfer, program WinSCP. Graphic file manager mc, inserting of own HTML pages to student server FEST. Computer networks, TCP/IP model, address IPv4 and IPv6, protocols TCP, UDP, ports, DNS, HTTP, HTTPS, FTP, anonymous FTP.
3. Architecture of computers, processors, memory and memory space, peripheries, communication interface.
4. Software development, operation code, instructions, assembler, high level programming languages, compilation, linking program. Program structure, algorithm, algorithmic flowchart, variables, data types, numerical formats and their representation in memory, arithmetic and logic operations. Application development using IDE Code::Blocks.
5. Introduction to C language, basic structure of C program, function main(), variables, arrays, expressions, arithmetic conversions, operators in C language, priority of operators, inputs, outputs, simple console application.
6. Statements in C language, branching statements - if, else, switch, case; loop statements - for, while, do-while; statements for program progress - break and continue.
7. Strings in C, library functions for programming with strings "stdio.h" and "string.h". String copying, searching in string, comparing of strings.
8. Pointers and arrays. Relationship of arrays and pointers. Arrays storage in memory. Indexes of array elements.
9. Functions in C language. Headers of functions with parameter, without parameter, parameters calling by value and by reference. Calling of the function, returning value. Recursive function. Building up of own library, linking its to application.
10. Advanced data types. Structures, unions, enumerative types, dynamic variables, allocation and deallocation in memory.
11. Programming with files in C. Library functions for programming with files, reading, writing. Text file processing.
12. Dynamic variables linking. Linear lists, trees. Example for dynamic database.
13. Advanced algorithms. Algorithms for maximum and minimum searching, sorting – selectsort, insertsort, bublesort.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Kernighan, B. W., Ritchie, D. M. Programovací jazyk C. Brno: Computer Press, 2006. (CS)
Ličev, L., Morkes, D. Procesory - architektura, funkce, použití. Brno: Computer Press, 1999. (CS)
Pecinovský, R., Virius, M. Učebnice programování - základy algoritmizace. Praha: Grada Publishing, 1997. (CS)
Recommended reading
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
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í.
Exercise in computer lab
Teacher / Lecturer
Syllabus
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í.