Course detail
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.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
- 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
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
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.
Course curriculum
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.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
- compulsory prerequisite
Introduction to Programming
Basic literature
Recommended reading
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
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.
Exercise in computer lab
Teacher / Lecturer
Syllabus
2 Simple algorithms - task analysis, inputs, outputs, functions
3 Recursive functions and algorithms.
4 Data structures. List implementation.
5 Linked list operations.
6 Binary trees.
7 Test 1.
8 Bit operations - bit fields, bit manipulation, bit masking.
Base64 algorithm - coding and decoding data.
9 State machine implementation.
10 Multidimensional data manipulation.
11 Test 2.
12 Sort algorithms, comparing.
13 String operations.