The aim of the Mathematical modelling course is to build on the basic knowledge and understanding of the concepts of mathematical analysis and linear algebra to advanced concepts, demonstrate their use in modelling in computer science, mathematics and other sciences and develop the basic methods for calculating the resulting models.

To successfully pass this course, the student has to complete 3 homework assignments (deadlines at the ends of months March, April, and May), one group project (in May), and pass a theoretical exam at the end of the semester.

The goal of the subject Computer
technologies is to introduce to students of computer science and informatics
the physical and technological fundamentals for operating and manufacturing
computers, quantitative treatment of some relevant examples from the area of
solid state physics, as well as the introduction of the application of physics
laws in the technology of fabrication of microelectronic, monolithic circuits
which are basic elements of computers. One of the aims of the subject is also
the introduction of quantum mechanics which becomes increasingly important
physical theory in computer science.

Course practicalities: Lectures and individual reading. Two colloquia (or a written exam), seminar work, oral exam. Lecture notes, exercise book and a list of examination questions are available.

Prerequisites: elementary classical physics, basic linear algebra and calculus.


The course covers basic concepts and principles underlying modern programming languages. We focus on understanding from the point of view of a programmer, although due attention is paid also to the theoretical principles that enable design of programming languages.

  1. Introduction and arithmetical expressions
  2. A commmand-based programming language
  3. Proving correctness of programs
  4. Lambda calculus
  5. Declarative programming and algebraic datatypes
  6. Recursive types and recursion
  7. Polymorphism and type inference
  8. Abstraction: signatures, modules, and functors
  9. Logic programming & logic constraint programming
  10. Records and objects