Courses with varying topics

Seminar courses and other courses with varying topics

This page lists our seminar courses and their topics. In addition, special courses and other courses with varying topics are listed here. 

Spring 2018

CS-E4000 Seminar in Computer Science: Algorithms 2.1.2018 - 29.3.2018, periods III-IV, 5 cr

This course is a reading seminar in algorithms and theory of computation. Everyone is welcome to attend. For further information, see: For students, you will get 5 credits if you do the following:  

  • Participate in the seminar through the semester.  
  • Pick a paper and (1) write a summary (up to 5 pages) about it and (2) present the paper in one of the meetings. 

CS-E4000 Seminar in Computer Science 8.1.2018 - 15.1.2018 and 20.4.2018, periods III-V, 5 cr

For further information on a topic and an implementation follow the MyCourses pages.

CS-E4002 - Virtual and Augmented Reality, 02.01.2018-27.03.2018, periods III-IV, 5 cr

For further information on a content and an implementation follow the MyCourses pages.

CS-E4070 - Special Course in Machine Learning and Data Science: Vision and Cognition 08.01.2018-05.03.2018, periods III-IV, 3 cr

Vision and cognition is a course targeting the overlap of cognitive vision and computer vision. The main goal of the course is looking behind the biological inspirations that have been leading the computer vision community for decades. Together, we will go through several biological inspired architectures for vision systems, including deep neural models of vision. For further information, see:

CS-E4070 - Seminar Course on Approximate Bayesian Computation 9.1.2018 - 27.3.2018, periods III-IV, 5 cr

Approximate Bayesian Computation (a.k.a. ABC, likelihood-free inference) is a new class of computational inference methods that can be used when the likelihood function is difficult to evaluate or unknown, and one has a simulator for generating data that (hopefully) resemble observations when generated with correct parameters. The underlying intuition is that similar model parameters are likely to generate similar data, but the practice is of course a bit more complex... 

ABC has applications from medicine to particle physics, and is expected to revolutionize computional sciences that cannot apply traditional statistical methods.

CS-E4330 - Special Course in Information Security - Reverse Engineering Malware, 10.01.2018-04.04.2018, periods III-IV, 5 cr

For further information on a content and an implementation follow the MyCourses pages.

CS-E5000 - Seminar in Software and Service Engineering 20.02.2018-15.05.2018, periods IV-V, 5 cr

For further information on a topic and an implementation follow the MyCourses pages.

CS-E5390 - Seminar on Law and Technology 12.03.2018-04.05.2018, periods IV-V, 3 cr

For further information on a topic and an implementation follow the MyCourses pages.

CS-E4070 Gaussian processes - theory and applications, Period IV, 21.2.-28.3.2018, 5 cr

Gaussian processes are a powerful tool for Bayesian nonparametric modelling. This seminar course will give an introduction to the field of Gaussian processes and provide a theoretical background for Gaussian processes including both modelling and inference aspects. The seminar will include Gaussian process regression and classification as well as give examples of how Gaussian processes can be used as building blocks in more complex models. The participants will also be introduced Bayesian optimization as well as more recent advances in the field.

The seminar will contain a mix of lectures, video lectures, practical assignments and project work. The practical assignments will be based on pen & paper and the Python programming language. Other languages (such as Matlab and R) can be used, but it will require significantly more work from the participants.

The exact content of the course will be adjusted based on the participants. Feel free to contact Michael (michael.andersen [at] aalto [dot] fi) for more information. More information in MyCourses.

CS-E4070 Probabilistic Modelling for Cognition and Interaction: Towards AI That Understands Its User, Period IV-V, 5 cr

Humans are the drivers and benefactors of the progress in artificial intelligence and machine learning. On the other hand, artificial intelligence and machine learning are breaking ground for new kinds of user interfaces and user experiences. Closing this loop, that is, optimally combining the strengths of humans and machines, is one of the most interesting scientific questions at the moment. This course provides a look into state-of-the-art research at this intersection of probabilistic machine learning, cognitive models, and human-machine interaction.
The course will be useful for students how are interested in:
* machine learning: A bottleneck for AI systems is that they don't understand humans.
* cognitive science: Understanding human behaviour is of interest as such.
* human-computer interaction: A bottleneck for intelligent interfaces is modeling human cognition and behavior and getting humans to understand the system.
All of these fields share a common underlying challenge, for which modelling of humans, machines, and their environment can provide the solution.
The course will include (1) high-level introductory lectures on the main topics, including computational rationality, reinforcement learning, probabilistic programming, and user modelling, (2) a project work for hands-on experience and a deeper look into a topic, and (3) select readings of research papers for a wider scope overview.

Prerequisites: Either (1) good understanding of probabilistic modelling/machine learning and programming experience (implementing machine learning algorithms) with interest in HCI/cognitive science/reinforcement learning, or (2) good understanding of HCI and some background in probabilistic modelling/machine learning with interest to learn more. The course is intended for advanced Master’s level or PhD level students.

More information will be in MyCourses.

CS-E4070 Learning from electronic health records, 4 cr

Lecturer: Professor Panagiotis Papapetrou, University of Stockholm

- Semantics in electronic health records (EHRs): ICD10 codes, ATC codes, healthcare registry systems
- Temporal abstractions for complex, time-evolving data sources
- Predictive modeling for EHRs: random forests, survival analysis
- Descriptive modeling for EHRs: clustering, disproportionality analysis, subgroup discovery
- Two applications areas: detecting adverse drug events, predicting heart failure
Lectures: Five lectures, on March 6, 8, 12, 14, and 16, at 10am-noon. 
Location: CS building, lecture room T5 (except from March 16, which will be in T6)
Assignments: 1 in-class paper presentation and 1 project
Exam: a take-home exam
More information will be in MyCourses.

CS-E5370 Law in Digital Society
Artificial intelligence can now land an airplane, that is both civilian and military aircraft. Robot cars are being tested all over the world, including Finland. Should AI and robotics have their own rules? And how has cybersecurity come to embrace protecting, in addition to computers, entire societies? They say that privacy is dead, yet it requires thousands of new specialists - why? These and many other questions will be answered during the course. Welcome to study Law in Digital Society that begins on 19 February 2018.

MyCourses page of the course.


CS-E4070 Special Courses on Latent Variable Modeling and Bayesian Matrix Factorization, Period V, 09.04.2018 - 25.05.2018., 3 or 5 cr

Latent variable models (LVMs) are powerful and flexible tools for learning hidden structure underlying data objects in an unsupervised fashion. They provide a compact, meaningful representation of the inputs. Bayesian matrix factorization is a general class of LVMs which factorizes a data matrix into a product of two low-rank matrices. LVMs (and BMF) can be used for many purposes in machine learning, such as clustering, pattern recognition, dimensionality reduction, feature extraction, and predicting missing values.

Latent variable modeling is a very broad research topic. This seminar course will provide a gateway to this interesting topic through introductory lectures for several widely used LVMs (e.g. factor analysis and multi-view learning) and basic principles of the methods as well as discussion of more recent advances in the field.

Content summary:The course will include (1) introductory lectures about the main topics and related probabilistic programming in STAN, (2) student presentation of selected readings of research papers for an overview of the topics, and optionally (3) a project work for hands-on experience and a deeper understanding of the topics. The project work will be based on pen & papers and R/Python & STAN programming language. The presentation should explain the background / motivation, major concept of the selected papers, and possibly the connection with the other / previous presentation, etc. Everyone (at least students who do presentations in pair) is expected to be familiar with the discussed papers prior to the seminar. Following each presentation there will be a discussion with all course participants about the contributions of the papers and the questions remaining open. Active participation is strongly encouraged.

Target students: The course is mainly aimed at doctoral students and advanced master's students. Note that due to the format of the course, the number of students is limited to maximum 15.

Prerequisites: Basic Mathematics, familiarity with Machine Learning basic principles is a plus.

Time and place: Period V, Lectures: Mondays, 10:15-12:00.

3 ECTS for presenting papers and active participation; 5 ECTS, requirement for 3 ECTS + doing one of the proposed projects; Grades: Pass or Fail.

Course instructors:  Xiangju Qin, Paul Blomst, Advisor: Prof. Samuel Kaski

More detailed schedule, course work, and materials will be added later. Contact the instructors (


Courses in previous years

Autumn 2017

CS-E4002 Special Course in Computer Science: Query Processing and Optimization for Big Data (3 cr) (period II)

CS-E4070 Special Course in Machine Learning and Data Science: Nonlinear Dimensionality Reduction (3 cr) (period I)

For further information, please follow the MyCourses pages.

CS-E4004 Individual Studies in Computer Science: Textbooks as Self-Study

See more information in MyCourses pages and contact cs-e4004-selfstudy [at] aalto [dot] fi

CS-E4170 - Mobile Systems Programming: Virtual Reality Contents on Huawei Mate 9 Pro Smartphone and Google Daydream

The focus is to develop novel and innovative Virtual Reality applications and services invented by the student groups themselves. The project assignments are developed on Huawei Mate 9 Pro smartphones and Google Daydream View headsets, lend for the groups from Aalto. The best project will receive a scholarship from Huawei including a reward and a visit to Huawei HQ in Shenzhen, China, 16.12-23.12.2017. The second and third runner-up will also be rewarded by Huawei. 

For further information, please follow the MyCourses pages.

Spring 2017

CS-E4002 Special Course in Computer Science: The Internet of Things: selected themes

ECTS credits: 2-5

Responsible teacher: Mario Di Francesco

Level of the course: Master level

Teaching period: V

Schedule: 17.04.2017-27.05.2017 (please see the schedule from

Learning outcomes: After successful completion of the course, you will be able to: define the scope and the distinctive features of the Internet of Things (IoT); identify and address technical challenges in real application scenarios; evaluate the suitability of different architectures and platforms for specific IoT services; develop a proof-of-concept IoT application.

Content: Selected themes in the Internet of Things: enabling technologies, architectures and platforms, security, and services.

Assessment methods and criteria: Final assignment, software project or technical report.

Notes: Limited number of seats available. Priority will be given to students who have CS-E4180 in their study plan.

Autumn 2016

CS-E4002 Special Course in Computer Science - Query Optimization and Processing (period II)

The course covers theoretical background on declarative query languages, high-performance query processing techniques, discrete optimization basics with application to query optimization. The theoretical part is followed by analysis of practical applications in industrial database management systems based on both traditional and distributed architectures. 

For more information, please see the MyCourses page later in autumn.

CS-E4010 Special Course in Machine Learning and Data Science I - Machine Learning and Sequential Decision Making (period II)

In an unknown environment, when making a decision, a learning agent can only rely on a limited number of observations (or evidence) on the possible choices. At each step, the learning agent needs to decide whether to gather more information on the environment (explore), or to make the best decision given the current information (exploit). This exploration-exploitation trade-off is common to all situations where decisions need to be made under uncertainty (such as, clinical trials for deciding on the best treatment to give to a patient, on-line advertisements, recommender systems, or game playing) and is a dynamic research topic. This course will present the existing machine learning tools and approaches used to handle sequential decision making, through introductory lectures and discussion of state of the art papers.  

For more information, please see the MyCourses page.

CS-E5001 Research Seminar in Software and Service Engineering: Blockchains (5 credits) (period II)

This working seminar will study the application of blockchain technology in use cases beyond the original Bitcoin domain. It aims to give participants an understanding of how far the present state of the art can go and where the actual bottlenecks are. At the start of the seminar, we distribute a pack of reading materials covering the essential ingredients that make blockchains (and Bitcoin) work, and run a "pre-exam" after 2 weeks on the basis of the materials to put all participants on the same ground. After this, project topics are distributed to the participants. The topics cover selected use cases where blockchains are expected to be useful. For experimentation, participants can use blockchain tools contributed by Microsoft for the seminar. Further seminar sessions include mid-term progress report event, where the participants will get peer feedback, plus 2-3 lectures giving further insight on the theme. A final session where the final reports are presented will conclude the seminar. 

For more information, see the MyCourses page.

Period I-II

CS-E4050 Special Course in Machine Learning and Data Science V - Deep Learning, 5 ECTS.

According to LeCun et al. [2015]: "Deep learning allows computational models that are composed of multiple processing layers to learn representations of data with multiple levels of abstraction. These methods have dramatically improved the state-of-the-art in speech recognition, visual object recognition, object detection and many other domains such as drug discovery and genomics." This hybrid lecture-seminar course goes through most parts of the recently completed online version of the forthcoming MIT Press book called Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville, and elaborates topics of deep learning.

Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. Nature, 521(7553): 436-444, May 2015.

For more information, please see MyCourses page.

CS-E4550 Advanced Combinatorics in Computer Science (5 cr)

This course builds your mathematical toolbox substantially beyond the mandatory Master’s-level curriculum. In Autumn 2016, we study two selected topics in computational complexity theory: (i) logarithmic-space undirected graph connectivity, and (ii) hardness of approximation (we prove the PCP Theorem). Along the way we will encounter a number of concepts and techniques of independent interest such as random walks on graphs, explicit expander graphs, pseudorandomness, and locally decodable error-correcting codes.

For more information, please see the MyCourses page.

CS-E5000 Seminar in Software and Service Engineering: Continuous Software Engineering

Following the widespread adoption of agile and lean software development approaches, industry is turning from iterative methods towards even shorter delivery cycles. Some organizations, e.g., Facebook, have reported almost immediate deployment of features subsequent to implementation. In this seminar, we study topics related to continuous software engineering from various viewpoints including organizational, process, tool and development practices. Topics will include, but are not limited to: DevOps, Continuous Integration, Continuous Delivery, and "BizOps", and Continuous Experimentation

For more information, please see the MyCourses page.

Spring 2016

Becs-114.4613 - Special Course in Bayesian Modelling 3 

Master and doctoral level seminar course on Gaussian processes for machine learning and data analysis. Some knowledge of Bayesian theory is necessary. Based on book Rasmussen & Williams, Gaussian Processes for Machine Learning, 2006, and articles.

More information in MyCourses.

Becs-114.4612 - Special Course in Bayesian Modelling 2

Reading circle and exercises based on the book O'Hagan & Forster, Kendall's Advanced Theory of Statistics, Volume 2B: Bayesian Inference, Arnold, New York, 2004. In O'Hagan's own words: "... for people wishing to learn Bayesian Statistics in depth. ... assume good mathematical knowledge and some previous introduction to statistical theory."

More information in MyCourses.

CSE-E4680 Law in Digital Society (5-6 cr)

Who gets to utilize data? This is a key question that the course addresses.  Building on core ICT Law, it expands to cover new areas thanks to the emergence of the Internet of Things and Industrial Internet. Topics to be discussed in the course include: IT Contracts, Data Protection, Intellectual Property Rights (inclusive of Database Rights), Consumer Protection, EU Law, Competition Law, Cyber Law and Cyber Security, Big Data, Privacy and Mass Surveillance. The aim of the course is to provide a wide overview of how the Information Society in general and pervasive and ubiquitous computing in particular are regulated.

More information will be in MyCourses.

CSE-E5000 Seminar on Software Systems, Technologies and Security, 5 cr 

This seminar course addresses a broad range of current topics in the software systems and technologies, mobile computing and services, and secure systems areas. The students learn to survey up-to-date research literature and technical documentation on a new topic, to analyze the information critically and to summarize it, to write a technical article in English, and to present it to an engineering audience. For more information, please see MyCourses.

T-61.6020 Special Course in Computer and Information Science II - Convex Optimization for Big Data 

Convex optimization is currently reinventing itself for Big Data where the amount and speed of data is too high to be processed locally.  In this regime even basic linear algebra routines like matrix-matrix or matrix-vector multiplications that algorithms take for granted are prohibitive.  Moreover, convex algorithms no longer need to seek high-accuracy solutions since Big Data models are necessarily simple or inexact.  In this course we will present some state of the art convex optimization algorithms for Big Data, which aim to reduce computational, storage, and communications bottlenecks in large-scale learning problems. These algorithms are mainly first-order methods that use randomization for scalability. We will also detail some parallel and distributed implementations of these convex optimziation algorithms allowing them to cope with terabyte-scale datasets.

The course will be in Period V. More information will be in MyCourses.

T-61.6060 Special Course in Computer and Information Science VI - Multilayer Networks

This course is an advanced course on network science. The course gives an introduction to theory and methods to analyse generalized network structures using the multilayer network perspective. These types of networks include multiplex networks, networks of networks, and networks that change in time.

More information will be in MyCourses.

T-61.6080 Special Course in Bioinformatics II, 22.2.2016-16.5.2016 (5 cr) - Machine Learning in Bioinformatics  ​

Machine learning is one of the cornerstone technologies in bioinformatics, used in numerous tools and applications. This course probes the state of the art in selected machine learning problems and the associated methods in bioinformatics,  through introductory lectures and project work. The introductory lectures present and overview of the problem domain,  and the set of methods to be applied in the projects. The course includes typical elements of a scientific research process,  including peer review, poster presentation and report in the format of a scientific paper.

First meeting: Monday 22 February, at 10-12 in B353. More information can be found from MyCourses.

T-79.7001 Postgraduate Course in Theoretical Computer Science - The theory behind molecular computing

This course is about the recent (started 15 years ago) theory of molecular computing, needed by biochemists to program the self-assembly of molecules, with various purposes such as engineering nano-objects and computing with biological devices. That theory intersects computer science in several ways, including dynamical systems, asynchronous computing, stochastic processes and computational geometry. More information in MyCourses.

T-106.5400 String Algorithms

This course provides an introduction to algorithms and data structures for processing strings. The topics include: exact string matching, approximate string matching, text indexing. The students are expected to have basic knowledge on algorithms, analysis of algorithms, data structures and nite automata. Teacher: Docent Emanuele Giaquinta

First meeting: Monday 18 January, at 14:15-16:00 in T5. More information can be found from MyCourses.

T-106.5740 Project in Embedded Systems (5 cr)

The course is an advanced course in a project format. The topic is varying and is assigned per group. Typical topics are motivated by the Industrial Internet, usually the challenge is how physically interacting devices can be embedded into mobile cloud computing.

More information can be found from MyCourses.

T-110.6220 Special Course in Information Security - Reverse Engineering Malware (spring 2016)

The course teaches students what malicious code is and how it can and analyzed. We will cover reverse engineering of executable code on different platforms such as Windows and Android. This famous course will be lectured in English by visiting security researchers from F-Secure Corporation.

Autumn 2015

BECS-114.7151 Nonlinear Dynamic and Chaos (3-5 cr)

What are flows on the line, bifurcations, flows on the plane, limit cycles, Lorenz equations, one-dimensional maps, logistic maps, Lyapunov exponents, and Fractals? Come and learn! For more information, please see MyCourses.

CSE-E5000 Seminar on Software Systems, Technologies and Security, 5 cr 

This seminar course addresses a broad range of current topics in the software systems and technologies, mobile computing and services, and secure systems areas. The students learn to survey up-to-date research literature and technical documentation on a new topic, to analyze the information critically and to summarize it, to write a technical article in English, and to present it to an engineering audience. For more information, please see MyCourses.

CSE-E5001 Special Course in Software Systems and Technologies - Introduction to Algorithmic Problem Solving and Programming Contests

The course is for students who want to participate to programming or algoritmic competitions, learn problem solving techniques, and (having background in math) programming and algoritmic techniques. Registration before Friday Sep 4th. More information in MyCourses.

CSE-E5002 Special Assignment in Software Systems, Technologies and Security

The special assignment is an independently-conducted technical or scientific research or software project in the field of software systems, technologies and security. It may also be a literature survey on an advanced topic. Topics and contact information for own topic suggestions are in MyCourses.

CSE-E5695 Portfolio in Software and Service Engineering (1-5 cr)

Do you want to plan your studies and select a track in Software and Service Engineering major? Looking for to meet and greet with other students? Want to analyze and plan your path towards being a professional?

This course is highly recommended for all students starting Software and Service Engineering major in 2015-2016! The course starts on 2nd of September, please see MyCourses.

CSE-E5697 Special Course in Software and Service Engineering - Digital Service Design

Hands-on service design together with real companies! This twice awarded course starts again in 1st period. In six weeks you and your team will create and test a service concept for one of the participating companies: Posti, Kone, Tapiolan Lämpö and Helen. This course will teach you service design in theory and practice. Register early, there are only twelve places on this course. The course is taught and run by Dr. Risto Sarvas from Futurice. Enrolments by email to risto.sarvas at

T-61.6010 Special Course in Computer and Information Sciences I - Non-discriminatory machine learning (3 cr)

The topic of the course is non-discriminatory machine learning, an emerging multidisciplinary research area at an intersection of computer science, law, sociology and more. The constraints for non-discrimination are externally given by laws and regulations. The objective is to make predictive models free from discrimination, when historical data, on which they are built, may be biased, incomplete, or even contain past discriminatory decisions. Please see MyCourses.

T-61.6050 Special Course in Computer and Information Science V - Deep Learning (5 cr)

Deep neural networks that learn to represent data in multiple layers of increasing abstraction have dramatically improved the state-of-the-art for speech recognition, computer vision, predicting the activity of drug molecules, and many other tasks. Deep learning discovers intricate structure in large datasets by building distributed representations. 

Course is based on the draft of the forthcoming MIT Press book "Deep Learning" by Yoshua Bengio, Ian Goodfellow and Aaron Courville, available at For more information, please see MyCourses.

T-61.9910 Special Course in Computer and Information Science with Varying Content - Machine Learning and Differential Privacy (3/5/8 cr)

Learning system to perform accurately it needs to learn from suitable datasets of information. Often such information are threat to privacy. For example, a machine learning algorithm to suggest friends in social networking site needs to look at personal data which can be considered as breach of privacy to many people. Although absolute privacy will be preserved if such information are not accessed but that will prevent to develop machine learning algorithms. Similar problems exist in many real world  situation. Differential privacy comes with an elegant provable solution to protect individuals privacy in spite of making the dataset of information available to machine learning algorithms. However, differential privacy is relatively a new field and considerably challenging to apply with machine learning. There is a huge potential from research perspective. This course intends to provide a gateway to this interesting topic through basic principles as well as state of the art papers. For more information, please see MyCourses.

T-76.5655 Research Seminar on Software Engineering: "Collaborative Innovation Networks - Tracking the Emergence of New Ideas through Social Network Analysis” (8 cr) 

During this seminar, you will learn about and study social networks, e.g., based on social media, like Twitter, Facebook or Wikipedia. You will explore how to discover latest trends on the Web and and how to make projects succeed in online social networks. Students work in inter-disciplinary, globally distributed teams. For more information please see MyCourses.

T-76.7656 Doctoral Seminar

Do you need support for your doctoral research and writing work? Doctoral seminar will put together students to research presentations, paper reviewing workshops and theme lectures once a month. This seminar is recommended to all doctoral students in different phases. The seminar starts on 7.10., please see MyCourses.

T-76.7656 Doctoral seminar: Theories from case studies in software engineering and information systems research

This seminar is arranged as part of T-76.7656 Doctoral seminar in 3.-4.11. Professor Roel Wieringa from University of Twente will organize the seminar, students will learn how to reliably build theories based on case studies. More information here.

T-106.5840 Seminar on Embedded Systems - Virtualized worlds (3 or 5 cr)
Period: II/2015 (second autumn period) (MyCourses link coming soon)

Virtualization has traditionally focused on processing. Applications have been made to run on virtual machines. Such virtualization has been extended with virtualization of storage and I/O capacity. More recently, various virtualization techniques for networking have emerged. Such a collection of virtualization technologies enables multi-faceted decoupling of the service model of a system from the underlying physical realization.

The seminar studies virtualization in the wide context of processing, I/O, storage and networking, and tries to provide a holistic view into the ongoing development. The seminar is based on surveying literature. Attendees are expected to prepare a short paper on their selected topic and to give a seminar presentation. 

Summer 2015

T-106.6200 Special Topics in Software Engineering - Query Optimization and Processing

The course  starts off by presenting the theoretical background of query optimization,
then proceeds to give the student an understanding of database application tuning for use in  industrial DBMSs, and culminates  on advanced techniques for optimization in a distributed analytical environment. Course homepage can be found in MyCourses.

Page content by: communications-cs [at] aalto [dot] fi (Department of Computer Science) | Last updated: 13.02.2018.