Course detail
Computers and Programming 2
FEKT-BPC2AAcad. year: 2018/2019
In the course will learned basic knowleges of C programming.
Learned knowledges: C language basics, keywords, standard libraries, memory management and pointers, structures, working with files, creating and implementation of new libraries, basic algorithms, programming styles, source code management. Program safety and testing. Embedded C specifications.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
- analyze task and make flowchart
- work with keywords, make simple examples of their using
- identify and correctly use proper data types
- work with dynamically allocated memory
- use standart input and output
- work with files
- use basic C libraries
- write simple program usign functions
- use basic algorithms for sortin, searching, linear lists
- understand code of others
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
3 tests on excercises - up to 30pts each. Tests verify the knowledge of tought topics of lectures and exercises. Task represents the modification and extension of program, started in the homework or previous exercises.
(All tests are taken during semestr, there is no resit).
Requirements for completion of a course are specified by a regulation issued by the lecturer responsible for the course and updated for every year.
Course curriculum
2) Algorithms - sorting.
3) Standard and formated I/O.
4) Work with files.
5) Enum. State diagram, state machime. Math.h library.
6) Address, data type, pointer, value - and their realations. Pointer arithmetics.
7) Pointer and function.
8) Dynamic memory, alocation (stdlib.h). Fields in more dimensions.
9) Lifetime of variables. Strings, library for string manipulation - string.h.
10) .User defined composite types - struct, union, enum, bitfield.
11) Inline functions. Lists. Binary trees.
12) C99, C1X. _Bool (stdbool.h), complex, literals.
13) Const, volatile, restrict. Programming styles.
Content of seminars: practical exercises based on lecture topics.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Kernigham, B.W. Richie, D.M.: C Programming Language, Prentice Hall, 1988, ISBN 0-13-110362-8 (EN)
Kernigham, B.W. Richie, D.M (Virius,M.): Programovací jazyk C. Brno. Computer Press, 2006. ISBN 80-251-0897-X (CS)
RICHTER, M., PETYOVSKÝ, P., HORÁK, K., KALOVÁ, I. elektronicke texty Prakticke programovani v cpp SL. Brno: 2004. (CS)
Recommended reading
PROKOP, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2) Algorithms - sorting.
3) Standard and formated I/O.
4) Work with files.
5) Enum. State diagram, state machime. Math.h library.
6) Address, data type, pointer, value - and their realations. Pointer arithmetics.
7) Pointer and function.
8) Dynamic memory, alocation (stdlib.h). Fields in more dimensions.
9) Lifetime of variables. Strings, library for string manipulation - string.h.
10) .User defined composite types - struct, union, enum, bitfield.
11) Inline functions. Lists. Binary trees.
12) C99, C1X. _Bool (stdbool.h), complex, literals.
13) Const, volatile, restrict. Programming styles.
Content of seminars: practical exercises based on lecture topics.
Exercise in computer lab
Teacher / Lecturer
Syllabus