Artificial neural network models are inspired by biological neural networks. The course begins with an overview of information processing principles in biological systems and the organization of the human brain. The core of the course consists of the theory and properties of major neural network algorithms and architectures. The students will have a chance to implement and try out several of these models on practical problems. By the end of the course, the student will be able to assess the applicability of neural networks for a given task, select an appropriate neural network paradigm, and build (i.e. configure and train) a working neural network model for the task.