Faculty of Mathematics and Computer Science

Computer Science

The first part of the course will discuss classical theory of computation, formal languages and automata. The second part will present an overview of the current state of the theoretical models and practical implementations of the computation with the use of DNA. The next lectures will present a review of computer algorithms used to solve problems from various fields of knowledge and technology. During the talk a number of example problems will be formulated and efficient solutions will be constructed. The methods used include divide and conquer design and graph algorithms techniques. Other lectures are related to the design of high availability solutions for Microsoft SQL Server 2016 and will concentrate on the development of the so called AlwaysOn solutions. They are aimed at reducing downtime of servers or databases during a failure.  During course, attendant will implement a prototype based on AlwaysOn Availabilty Groups and Failover Cluster Instances. The course will also focus on introducing some basic elements of the C++ programming language (program structure, variables, conditional statements, loops) using the Allegro graphics library, basic functional programming in Haskell (starting out, lists and tuples, recursion, higher order functions) as well as introduction to the theory of computation and DNA computing research area.


The Computer Science module consists of:

  1. Implementing Microsoft SQL Server 2016 high availability solutions
  2. Basic elements of C++ programming using Allegro graphics library
  3. Introduction to the automata theory and DNA computation
  4. Functional Programming in Haskell
  5. Computer algorithms in problem solving

For further details please download this selective module detailed overview.