● Avalible only for Erasmus+ students
× Lab exercises in English
⑤ In case of more than 5 exchange students the lectures will be held in English if agreement with Slovenian students is achieved
* Not available for Exchange students
Phone: +386 1 479 81 19
Computer scientists seek inspiration for solving current problems from various sources. Many times, they find it in nature, as through evolution living organisms have discovered simple and elegant solutions to common problems. A number of known algorithms uses biomimicry. For example, there is an algorithm that in order to find the shortest path to a destination copies the approach of ants, and an algorithm that in order for a fast wireless network setup emulates the flocking of birds. The goal of the course is to present to students the use of the emulation of nature’s timetested patterns and strategies in order to create products, processes, computer systems and algorithms. Besides the specific knowledge, the students will gain an insight into the theoretical background by means of which they will be able to adapt more easily to the fast changes in current computer and information science. The acquired competences are transferrable as most of the covered topics are applicable to a wide variety of applications.
The goal of this course is that students with engineering (and also other) backgrounds acquire theoretical and practical knowledge in this domain for studio production, software development (engineering), or creative applications like multimedia, video, simulations, virtual reality and computer gaming. After the introduction and historical overview, physics basics will be given, followed by mathematical themes (from Fourier analysis and synthesis to Gabor's acoustical quantum). Next come physiological facts, i.e., psychoacoustics and hearing perception as it is constituted in the brain. In the core of the course computing and networking themes will be covered: analog and digital signals and their conversions, quantization noise, bandwidth, dynamic range, amplification, attenuation and filtering, distortion, sound recording, etc. This will be followed by computer sound generation principles (synthesis, sampling), sound acquiring and recording devices (microphones, samplers and direct-to-dics recording). In the second part the protocols and formats in this domain will be covered: MIDI, IEC-60958 (AES / EBU), S/PDIF, AC-3, WAV, MP3, and synchronization mechanisms MTC and SMPTE for video and movies production. Next come program standards (APIs) like VST / Steinberg and DirectX / MS, and streaming media enabling protocols like RTP, RTCP and RTSP. Digital audio workstations ranging from professional ones (like Cubase / Steinberg and Sonar / Twelve Tone Systems) to quality open source solutions (like Rosegarden) will be covered as well. The last topic will be sound synthesis theory and optionally sound visualization or computer based sound creation.
Information/Computer Security describes all preventiv measures, procedures and means to ensure access to Information Systems and their contents in order to prevent their unauthorized use. Cryptography provides maximum security while at the same time preserves the flexibility of digital media. It forms the foundation of Information Society (objectives: privacy, data integrity, digital authentication/signatures, digital cash, and other cryptographic protocols; it covers Mathematics, Computer Science, Electrical Engineering, Finances, Policy, Defense, etc.). In this course will cover the some basic of Symmetric Cryptography, Public-key cryptography (Asymmetric Cryptography) and Computer and Information Security.
The course relies mostly on computer vision, as most biometrics technologies are based on it. Students interested in cutting edge technology, much of which is still in a research stage, are the intended target for the course. The lectures introduce the approaches and explain their operation. At tutorial the knowledge is applied to practical problems in Matlab and open source tools.
Information systems security and privacy is one among key focuses in contemporary information systems, ranging from business environments, public environments to private environments, and even to the level of states security. Students will get a knowledge (theoretical and practically applicable) about security and privacy provisioning ranging from ordinary information systems to internet of things and cloud computing. The goal of the course is to provide students with appropriate knowledge to a such extent that they will be able to pursue careers as developers, system administrators, managers (like chief security officers) and consultants.
The course is intended for students in computer science. No prior knowledge in molecular biology is required. We will introduce essential concepts from molecular biology and genetics as these are required to understand associated computational tools. We will learn about sequence alignment, hidden Markov models, clustering, phylogenetic analysis, statistical testing and some machine learning. The course will be practical, and will include up to eight homeworks on analysis of real mlecular biology data. Students are expected to have background in essential probability, statistics, and programming. We will use Python as a programming language.
The course is an introductory overview of topics relevant to data science. The following topics will be presented to students through lectures by faculty members and guest lecturers from industry and research institutions: Working with data. Getting. Processing. Storing. Cleaning. Summarizing. Visualizing.
Analytics. Prediction. Clustering. Statistical inference.
Business and social aspects. Privacy. Security. Ethics. Licensing. Intellectual property.
Best practices (tools). Programming, coding standards (Python). Versioning (Github). Reproducibility (Jupyter). Typsetting (LaTeX). Public repositories (ArXiv, Zenodo).
Introduction to network analysis. Graphs. Networks.
Node position. Spectral and distance node centrality. Clustering coefficients. Link analysis algorithms.
Link importance. Betweenness and bridgeness link centrality. Embeddedness and topological overlap.
Node similarity. Local and global node similarity. Structural and regular equivalence. Block models.
Node fragments. Egonets analysis. Network motifs and graphlets. Convex subgraphs. Node orbit distributions.
Graph partitioning. Graph bisection. Spectral analysis. Hierarchical clustering. Core-periphery structure.
Network clustering. Modularity optimization. Community detection. Role discovery. Blockmodeling.
Network modeling. Erdos-Renyi. Watts-Strogatz. Price, Barabasi-Albert and configuration models.
Network abstraction. Structural network comparison. Network layout algorithms. Network visualization.
Network mining. Node classification and ranking by equivalence and position. Link prediction by similarity.
Selected applications of network analysis. Fraud detection. Software engineering. Information science.
Data. Summarizing data. Visualizing data. The fundamental problem of data analysis: uncertainty in our understanding of the data generating process.
Probability. The axiomatic, Bayesian and classical (frequentist) views of probability. Joint, marginal and conditional densities. Bayes theorem.
Distributions. Common probability distributions. Distributions as a means for expressing probabilistic opinions. Distributions as data generators.
Fundamental statistical techniques. Monte Carlo integration. Bootstrap. Maximum likelihood estimation. Bayesian inference.
Basic statistical tasks. Hypothesis testing vs Bayesian estimation.
The multivariate normal distribution. As a linear transformation. Linear regression. PCA.
Computational topology is a relatively new, but lively field somewhere between computer science and mathematics. On the mathematical side it is closely connected to topology. Topology is a somewhat loose form of geometry, where sizes, distances, angles and other numerical measures are not really important. Instead, objects are described using qualitative measures like the number of connected pieces, the number of holes of different shapes and of tunnels. Because of this, topological methods have turned out as useful in several problems where too high precision is unnecessary or even bad. Topological approaches and methods are used for example for analyzing big data sets, for modelling networks, reconstructing objects from samples, in robot motion planning, distributing tasks among processors, and so on.
The course will have a strong emphasis on student projects. Several typical problems suitable for a topological approach will be described. Through solving these problems, the basic topological concepts, structures and algorithms will be introduced, and tested on real data.
The course will include selected advanced topics in motion perception using computer vision. Concrete topics will change each year according to trends in this fast developing field in computer science and industry. Potential topics will include:Overview of the field motion estimation and applications.Optical flow estimation using least-squares.Variational optical flow estimation.Parametric template tracking using Lucas-Kanade.Histogram-based tracking using Mean ShiftTracking as stochastic optimization using cross entropy.Recursive Bayes filter for online state estimation. Tracking by Kalman filter.Tracking by particle filters.Tracking deformable objects by constelation models.Methodologies of tracker comparison. Tracking by classification.Long-term tracking by detection.
Students will learn, both theoretically and through practical examples, how to use approximation and randomization techniques to solve practical yet intractable computational problems.
This course offers problem solving and search:
review of problem solving techniques; advanced heuristic search techniques, space efficient techniques, real-time search, means-ends planning: robot planning, task planning and scheduling, means-ends planning, partial order planning, planning graphs and GRAPHPLAN, machine learning: review of basic methods (Bayes and naive Bayes classifier, learning of trees and rules, handling noise, pruning of trees and rules); MDL principle; Support Vector Machines; evaluating success of learning and comparing learning algorithms; learnability and theoretical limits for learning, other paradigms of machine learning:
inductive logic programming, reinforcement learning, constructive learning and discovering new concepts with functional decomposition, reasoning with uncertainty:
reasoning and learning in Bayesian networks, construction of networks and causality, qualitative reasoning and modelling: qualitative and quantitative modelling, modelling without numbers, qualitative simulation of dynamic systems and genetic algorithms, genetic programming and other problem-solving paradigms.
Probably one of the biggest charms of computer science is, that it appears so frequntly connected to other disciplines. Digital forensics is yet another of this areas. It is a branch of forensic science, which deals with acquisition and analysis of data related to digital equipment. The later are often connected to computer crime. The course is split into two parts. In the first one we will look into basics of digital forensics that need to be respected when performing forensic activity, that its outcomes are acceptable in the court of law. In the second, larger part, we will look at various operating systems and communication technologies. In detail, we will look at various technological procedures that are necessary to make collected data admissible in a court of law.
Student duties consists of assignments (quizes), two lab assignments where they simulate a criminal investigation, and an essay where they meet the most contemporary research in the area.
Do not be scared by the mathematics word in the title. Discrete mathematics is the region of mathematics planet that works best with computers. In mathematics we are often satisfied with a single solution to the problem, in computer science this is almost never the case. Among all possible solutions we shall look for the one that can be rewritten as an efficient algorithm (or, not equivalent, can be efficiently rewritten as an algorithm).
Mostly we shall work on problems in graph theory. Let me pin out a pair of problems that we shall keep running into: graph coloring and the problem of disjoint paths. In general, graph coloring problems are hard (in the theoretical sense). Yet if we only consider a subclass of graphs, planar graphs for example, even graph coloring problems become easy enough to work on. The problem of disjoint paths can be generalized into several directions, directed or undirected graphs, vertex- or edge- disjoint, separate terminals or not, looking for bottlenecks, maximizing flows.
Most of the problems we shall work with will become easy on a restricted set of graphs having the property, that a small collection of cops can catch a fast robber, which will lead us to the land of graph decompositions.
Finally we shall dig into a collection of problems from computational geometry: segment intersections, polygon triangulations, Voronoi diagrams and Delaunay triangulations.
The students are required to have sufficient knowledge in the area of algorithms and data structures and have a command on time and space complexity of algorithms.
Student work includes weekly homework assignments and a final exam.
Linear models. Linear regression. Linear discriminant analysis. Logistic regression. Gradient descent. Stochastic gradient descent.
The machine learning approach. Cost functions. Empirical risk minimization. Maximum likelihood estimation. Model evaluation. Cross-validation.
Feature selection. Search-based feature selection. Regularization.
Tree-based models. Decision trees. Random forest. Bagging. Gradient tree boosting.
Clustering. k-means. Expectation Maximization.
Non-linear regression. Basis functions. Splines. Support vector machines. Kernel trick.
Neural networks. Perceptron. Activation functions. Backpropagation.
Matrix and tensor algebra. Notation. Differentiation.
Theory. Gradient. Convexity. Strong convexity. Lipschitz continuity. Limits on convergence rate. Constrained optimization. Dual function. Dual problem. Strong duality. Slater’s condition. Karush-Kuhn-Tucker condition.
Optimization methods. Gradient. Stochastic gradient. Conjugate gradient. Quasi-Newton. Subgradient. Proximal gradient. Accelerated gradient. Interior-point methods. ADMM. Adaptive gradient methods.
Students select project theme and work in groups to complete the project. Students present their midterm progress and results. Students complete the Project with a public presentation of their work.
Project themes are compiled by the lecturer from proposals by faculty members and industry.