Algorithms and Data Structures
FEKT-BPC-ALDAcad. year: 2018/2019
In the course will learned basic knowleges of C programming on algorithm realization.
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.
Learning outcomes of the course unit
The student is able:
- analyze task and make flowchart
- use common algorithms and make own algoritms based on folowing techniques
- 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
Attending BPC-UDP course or similar.
Recommended optional programme components
Recommended or required reading
Planned learning activities and teaching methods
Teaching methods include lectures and computer laboratories. Course is taking advantage of www pages coupled with e-learning (Moodle) system. Student knowledges are tested by exercises during the term.
Assesment methods and criteria linked to learning outcomes
Test on exercises - program based on learned features - cca 40pts.
Exam test - cca 60pts.
The points (up to 100) and requirements for completion of a course are specified by a regulation issued by the lecturer responsible for the course and updated for every year.
Language of instruction
1 Course overwiev. Basic program parts and the program design. Compilation. Optimalisation. Preprocessor commands.
2 Algorithms - task analysis, block diagrams, how to select variable type, sort algorithms.
3 Standard input and output. Standard header ctype.h
4 Bit operations. File manipulation.
5 Enumeration type and examples of its usage. Standard header math.h.
6 C array data type. Using pointers for value manipulation.
7 Pointers and functions. Arrays and pointer, pointer arithmetics.
8 Memory alocation - stdlib.h. More dimensional arrays. Array of pointers. Pointer to function.
9 Life cycle and usability of diffrend value types. C strings, manipulation with C strings. Standard header - string.h
10 Data structures. Manipulation with data structures and their members.
11 Inline functions. Linked list. Binary tree.
12 Literals. Complex and _Bool data types
13 Type qualifiers - const, volatile, restrict. Programming styles.
Students are educated algorithmic and programming skils, based on C language. Basic properties and structures of language are explained. Simple programs are written with code design, creation and testing explatnation.
Specification of controlled education, way of implementation and compensation for absences
The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.