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.

- nosilec: Neža Mramor-Kosta
- nosilec: Žiga Virk

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.

- nosilec: Rok Žitko

Usually,

we write programs as descriptions of algorithms. But is it necessary that a

program is always stated as an algorithm?

In this course we learn that programming

can be done in other ways -- other than algorithmically. For example, we may

just describe what the problem is. The computer then on its own automatically finds

a procedure that leads to a solution. This style of programming is done

with declarative programming languages based on logic or constraints. It is

even possible to program just by examples. For instance, we give the computer

examples of sorted lists, and the computer automatically puts together a

general program for sorting lists. There are yet other programming paradigms

that lead to radically different thinking about programs than we are used to.

In this course we also learn how the

syntax and semantics, that is the meaning, of a programming language can be

defined. We show how an interpreter or a compiler for a simple programming language can be written with DCG grammars in less than 50 lines. And further, how we can mathematically prove the correctness of a

program.

- nosilec: Andrej Bauer