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

Czech

Number of ECTS credits

7

Mode of study

Not applicable.

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

Prerequisites

Attending BPC-UDP course or similar.

Co-requisites

Not applicable.

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.

Course curriculum

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.


Work placements

Not applicable.

Aims

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.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Basic literature

Not applicable.

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme BPC-AMT Bachelor's, 1. year of study, summer semester, compulsory

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, summer semester, compulsory

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

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.


Exercise in computer lab

39 hours, compulsory

Teacher / Lecturer

Syllabus

1 Array data type. Pointer manipulation.
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.