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. 

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.

Courses in previous years

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.10.2016.