Mathematical Methods in Information Technology
|Study programme: ||Information Technology, Msc., 2-years|
|Form of study: ||attended|
|The enlistment of the specialisation into a study program:|
The study branch of Mathematical Methods in Information Technologies (MMM for short in Czech) is instructed in Czech only. It is a branch of the Information Technology Follow-Up Master Study Program. It is under the regulation of common rules, conditions and criteria, which are defined in detail in the common part of the accreditation documentation of that study program and also by common ruling and directives of the BUT, especially those of the FIT BUT, as presented at internet addresses www.vutbr.cz and www.fit.vutbr.cz.
The goal of the study branch of Mathematical Methods in Information Technologies is to acquaint students with deeper mathematical roots of information technologies and teach them how to understand, practically apply as well as further develop advanced technologies built on these roots. Within the compulsory courses of the study branch, the students will mainly improve their knowledge of mathematics and of the theoretical basis of computer science and will get familiar with their advanced applications in selected areas of information technologies. In particular, this concerns the areas of compilers, methods of automated analysis, verification, and testing of correctness of computer-based systems, the ares of high performance computing, modeling, simulation and optimization, and/or applications of the game theory as a support of rational strategic decision-making in conflict situations (e.g., in economics, security, etc.). The choice of optional courses together with the diploma thesis will then allow the students to individually narrow down their focus on various theoretical or application areas. The obtained deeper theoretical knowledge and acquaintance with their various applications will allow the graduates to practically apply various highly advanced moder technologies, including non-standard technologies as well as technologies currently under development, will allow them to find positions in companies (or divisions of companies) focused on research and development of new information technologies with a mathematical basis, and/or will give them a solid training for subsequent PhD studies.
|Extent of the final state examinations:|
The final state examination has two parts: A defense of the master thesis and a discussion about selected topics from predefined areas of the study branch. These areas cover the compulsory courses of the study branch, in particular: Mathematical Structures in Computer Science, Theoretical Computer Science, Logic, Graph Algorithms, Parallel and Distributed Algorithms, Functional and Logic Programming, Hardware/Software Codesign, Formal Analysis and Verification, Petri Nets, High Performance Computations, Compiler Construction, and Game Theory. The concrete areas of possible questions must be approved by the Study Branch Council, and students will be informed about the selected topics at least 2 months before the state final examination is held in the particular academic year.
- A graduate has a deep knowledge of the mathematical roots of information technologies and their various advanced applications, in particular, compilers, automated methods of analysis, verification, and testing of correctness of computer-based systems, computer-aided modeling, simulation, and optimization, fault tolerance, game theory, high performance computing technologies, cryptography and codes, and/or unconventional and newly emerging computing platforms.
- A graduate is qualified for research, development, and applications of various advanced technologies, including highly unconventional technologies, requiring a deeper understanding of the mathematical roots of computer science. The acquired knowledge of the theoretical basis of information technologies makes the graduate very flexible and able to easily get familiar with new discoveries and technologies.
- Students graduating from the study branch can make their professional career especially in research and development divisions as well as production divisions of various companies and institutions interested in development and applications of advanced technologies from the areas of automated analysis, verification, and testing of computer-based systems; compilers; technologies for synthesis of hardware or software from high-level specifications; modeling, simulation, and optimization of systems (including companies and institutions interested in simulation, prediction, and optimization for the needs of energetics, economics, security, etc.); technologies for high performance computing in science and engineering; and/or technologies for development of critical systems with a special emphasis on reliability and security. Moreover, with respect to their deep knowledge of algorithmics, they can find positions also in other areas of the IT industry, focused on development and maintenance of complex, computationally demanding software products (e.g., within running and optimizing large databases, information systems, computer networks, etc.). An important possibility is also a career of the graduates in science and/or education.
|Content and quantification of professional practice:|
|Possible themes of final projects:|
- Formal verification of correctness of drivers in operating systems
- Automated methods for finding bugs in compilers
- Automated support for programming application-specific processors
- Grammatical systems with scattered context and natural language processing
- Simulation of selected phenomena from the Linux kernel influencing its performance
- Applications of the mathematical game theory in simulation and analysis of the market with electricity
- Model-driven design of critical applications based on the systems theory
- Highly precise computations in real time
- Concurrent solution of simple differential equations of higher orders
- Isomorphism in general as well as special graphs