Course detail
Computers and Programming 1
FEKT-BPC1TAcad. year: 2017/2018
In this course, students learn about computer network solutions and the potentials of university and faculty networks. Part of the course is to introduce the basics of operating systems, their services, and file systems. The course focuses on practical skills of algorithm development and programming in the C language according to the ANSI standard, to the level of preparation of customized functions and their use.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
- use the University Information System and the Moodle learning system
- configure an e-mail client
- connect a device to the BUT Wi-Fi network,
- control the development environment Microsoft Visual Studio,
- program basic tasks in the C language according to the ANSI standard, compile program and use proper functions
- debug programs in the C language and look for errors,
- design the structure of the program.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
2. Properties of algorithms, notations algorithms.
3. Design and implementation of algorithms. Introduction to the development environment MS Visual Studio 2012.
4. Principles of high level programming languages. Basic building blocks of program.
5. Simple data types in C. One-dimensional and multi-dimensional arrays of variables. Expressions and statements.
6. Pointer type.
7. Functions, function parameters in the C language. Passing values by reference, passing by value.
8. Management structure. The block structure of program, the scope of validity of identifiers.
9. Structured data types. Enums.
10. Text files, standard input/output. Interaction of the program with the user.
11. Dynamic variables. Linked structures.
12. Numerical methods in programming. Recursion. Sorting algorithms.
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)
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)
Recommended reading
Classification of course in study plans
- Programme EECC Bc. Bachelor's
branch B-TLI , 1 year of study, winter semester, compulsory
- Programme AUDIO-J Bachelor's
branch J-AUD , 1 year of study, winter semester, compulsory
- Programme IBEP-T Bachelor's
branch T-IBP , 1 year of study, winter semester, compulsory
- Programme EEKR-CZV lifelong learning
branch EE-FLE , 1 year of study, winter semester, compulsory
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2. Faculty UNIX server: access via ssh client (PuTTY), password change, file transfer via scp or sftp (WinSCP program) respectively. E-mail: access via the Horde web interface, configuration of e-mail client, protocols: IMAP, POP3, SMTP. What types of file attachment are filtered (removed), the maximum size of attachments. The possibility of e-mail forwarding, student problems and duties involved. BUT Wifi network, eduroam network, connecting devices to a wired network.
3. Properties of algorithms, notations algorithms. Introduction to the development environment MS Visual Studio 2012. The development of C programs in Visual Studio. Editing programs. Compilation of programs. Help. The matter discussed here serves as a framework for further interpretation to allow the audience to write simple programs from the beginning. Everything will be discussed later in detail.
4. Problem solving techniques. Design and implementation of algorithms. Subroutine, the division of the program into several files. Stepping through the program, setting the breakpoints, viewing the values of variables. Graphical form of algorithm writing.
5. Principles of high level programming languages. Symbols, separators, constants, identifiers, variables, representation of numbers, labels, strings. Writing numeric, character and string constants. Valid identifiers in the program and their priorities.
6. The concept of data. Simple data types in C: boolean, byte, short, integer, long, float, double, .... One-dimensional and multi-dimensional arrays of variables. Expressions and statements.
7. Management structure. The block structure of program, the scope of validity of identifiers.
8. Functions, function parameters in the C language. Passing values by reference, passing by value.
9. Text files, standard input/output. Interaction of the program with the user.
10. Structured data types. They conversion to the array of bytes and back (suitable for transmission over the network).
11. Numerical methods in programming. Recursion. Sorting algorithms.
12. Pointers and dynamic variables. Linked structures.
13. Program verification and documentation. The Doxygen tool for automatic documentation of created programs. Creation of unit tests and their significance in terms of program administration. Software development methodologies - test-driven development.
Exercise in computer lab
Teacher / Lecturer