The division works in several areas where we contribute to future solutions in software engineering, distributed and parallel systems, network systems, networked systems security, and data science and applied AI. In all areas we are active in both research and education.
We research Software technology for DevOps, advanced software testing, and novel techniques for automatic software diversification.
Another group focuses its research on theory and systems within modeling, programming languages, compilers, formal semantics, machine learning, probabilistic programming, and real-time systems.
Finally we research new methods and systems for software and services analysis and development. This includes semantics-based and machine learning-based approaches, new architectures for data analysis systems, autonomous software systems, privacy and trust enabled software and services. We also study multi-agent systems (crowd intlligence).
Distributed and Parallel Systems
We develop large distributed systems and algorithms in programming applications in data intelligent cloud services, big data and data analysis systems. We also teach Databases, Operating Systems and Parallel and Concurrent Programming.
Machine Learning and Computational Health
Algorithms and Systems for Data Analysis, Machine Learning and Data Mining. We work with applications in eg. healthcare, drug development, climate research, predictive vehicle maintenance and social networking.
Applications are also explored in smart cities, AI in elderly care, KBT therapy with computer support.
In Network Systems we conduct research and education in the area of design, analysis, and management of next generation networks and services. In particular, our main research focus is making it easy to develop and manage key societal Network Systems that meet their objectives. Classic examples include: high performance, high reliability, and low-power.
Network Systems Lab (NSLab)
Networked Systems Security
Our research agenda includes a gamut of security and privacy problems. We have a strong systems character, implementing and evaluating our solutions. At the same time, we pay close attention to theoretical methods, including, notably, formal protocol analysis and information-theoretic results.
First cycle courses
We teach first cycle Computer Science courses, a.o. in programming, algorithms, Computer Engineering, operative systems. and also methodology courses and project courses.
We offer basic courses on programming, algorithms and data structures. Advanced software technology, testing, and analysis for reliable software systems, organizational and methodological aspects of software development and maintenance, lifecycle management of software. We also teach courses on Object-Oriented Programming, Functional Programming and Logic Programming.