Course detail

Mathematical Principles of Computer Science

FSI-VZIAcad. year: 2007/2008

The course provides students with the introduction to mathematical computer science. Basic mathematical objects of the field are discussed, their properties and implementation. Delphi environment is used as an implementation tool. Practical use of theorems and consequents is demonstrated on the implementation of simple engineering applications.

Language of instruction

Czech

Number of ECTS credits

6

Mode of study

Not applicable.

Learning outcomes of the course unit

Competent development and use of nontrivial object oriented implementations of basic mathematic structures of the branch.

Prerequisites

The understanding of algorithmization principles, structured approach to problem solving and methodology knowledge of non-object program making is expected.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Course-unit credit requirements: Individually elaborated software project Project must consistently use lectured methodology. The elaboration of project is continuously checked and consulted. Exam is held in the usual manner.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The course objective is to make students familiar with basic mathematical objects of the branch and with the methodology of their possible implementations. It is the introduction to the applicability and adequacy of their use.

Specification of controlled education, way of implementation and compensation for absences

The attendance at lectures is recommended while at seminars it is obligatory. Education runs according to week schedules. The form of compensation of missed seminars is fully in the competence of a tutor.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Greenshaw, R. and Hoover, H.J.: Fundamentals of the Theory of Computation Principle and Practice. 1998 (EN)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme N2301-3 Master's

    branch N2370-00 , 1. year of study, winter semester, compulsory

Type of course unit

 

Lecture

39 hours, optionally

Teacher / Lecturer

Syllabus

1. Introduction, basics of Delphi repetition.
2. Conception of exceptions and protected blocks. Sequential and random access to data.
3. The list, FIFO, LIFO structures, collections, designs of implementation.
4. Oriented graph, its implementation.
5. Depth and depth-first search of graph, combined search. Intuitive implementation, the use of FIFO, LIFO structures in implementation.
6. Approaches to implementation of evaluated graph.
7. Special graph topologies (sp. trees, binary trees), implementation, basics of use. AND-OR graphs.
8. Expression (formula) as the tree, manipulation with formulas as manipulation with trees.
9. Languages and grammars. Chomsky’s classification of languages.
10. State machines and grammars. Finite state machines, deterministic, non-deterministic, without stack, with stack.
11. Implementation of state machine.
12. Turing machine, enumeratibility, algorithm complexity.
13. Basic terms of fuzzy sets theory.

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer

Syllabus

1. The methodology of classes design and virtual methods use.
2. Principles of code security improvement, separation of overhead and data classes.
3. Object implementation of list (of linear sequential structure). Methodology of use.
4. Object implementation of collection (of linear structure with random access). Methodology of use.
5. Object implementation of tree as generalization of tree implementation.
6. Object implementation of general oriented graph, search in graph I.
7. Object implementation of general oriented graph, search in graph II.
8. Approaches to implementation of graph evaluation.
9. Searching in special graph topologies. Examples of use.
10. Solution designs of simple problems realized through search in oriented evaluated graph.
11. Object implementation design of grammar, generating of language words.
12. Object implementation of state machine without stack.
13. Object implementation of state machine with stack.