Code: SCI3042

Extent: Long or compact major (40–65 credits). Students taking a compact major take also a minor (20–25 cr). Students taking a long major may include an optional minor in their elective studies.

Responsible professor: Petri Vuorimaa

Abbreviation: CS

School: School of Science

Objectives

Computer Science major combines both theoretical and applied computer science. The faculty includes over 25 professors. The major has common core courses and four different tracks, which focus on algorithms, software systems, Web, and Big Data. In addition, the major offers a wide range of advanced courses. Students typically do their Master's thesis in industry. Students interested in postgraduate studies can also do their thesis in research projects of Aalto University.

Content and Structure

Available study tracks:

  • Algorithms, Logic, and Computation
  • Big Data and Large-Scale Computing
  • Software Systems and Technologies
  • Web Technologies, Applications, and Science

Major core courses

The major consists of core courses, track compulsory courses, and major optional computer science courses. The purpose of the core courses is to ensure that all students in the major have a solid basic knowledge of computer science and software technology topics. The track courses provide deeper understanding of a specific topic and sufficient background knowledge for the Master's thesis in the track's area. After the core and track compulsory courses, most students will be left with quite a few credits for other computer science courses.

Students have to select at least five courses from the major core course list, including the compulsory core course(s) defined by the track. The core courses can also be done as part of the Bachelor studies, which reduces the number of core course required at the Master level. Students who have completed equivalent courses at another university can be excused from taking the core courses with agreement of the professor in charge of the study track.

CODENAMECREDITSPERIOD/YEAR

CS-C3140

Operating Systems

5

I/1st year

CS-C3170

Web Software Development

5

II-III/1st year

CS-C3130

Information Security

5

I/1st year

CS-C3100

Computer Graphics

5

I-II/1st year

CS-E3190

Principles of Algorithmic Techniques

5

I-II/1st year

CS-E3220

Declarative Programming

5

IV-V/1st year (2018-2019), I-II/1st year (2019-2020)

CS-E3210

Machine Learning: Basic Principles

5

I-II/1st year

ELEC-E7851

Computational User Interface Design

5

II/1st year

Study tracks


 Algorithms, Logic, and Computation

Professor in charge:  Petteri Kaski
Other professors: Chris Brzuska, Parinya Chalermsook, Tomi Janhunen, Pekka Orponen, Jukka Suomela, Stavros Tripakis
Extent:  Long (55-65 credits) or compact (40-45 credits) major as CS track. Students taking a compact major take also a minor (20-25 credits). Students taking a long major may include an optional minor in their elective studies.
Abbreviation:  Algorithms

Objectives

The study track on Algorithms, Logic, and Computation equips you with a strong methodological foundation that covers the modelling, design, and analysis of advanced algorithms and computing systems. In addition to skills in advanced programming and automated reasoning, you gain understanding of the foundations of cryptography and computational complexity theory. Studies in the track form an excellent basis for pursuing a PhD degree, and competitively selected students can start working toward their PhD already during their master´s studies.

Learning Outcomes

  • Students can design, analyse, and implement novel, efficient algorithms for a wide range of computational problems and models of computing.
  • Students can formalise computational problems, classify them according to their computational complexity, and use such classifications as a guidance in choosing the right methodology for tackling hard problems.
  • Students can build modern cryptographic primitives based on computational hardnessassumptions.
  • Students master fundamental techniques in computational logic and are able to solve computational problems using state-of-the-art algorithms and tools for automated reasoning.
  • Students can model and specify complex systems in a rigorous way, and use computational techniques to verify and synthesise such systems.

Content and Structure

The major consists of core courses, track compulsory courses, and optional computer-science courses. The purpose of the core courses is to ensure that all students in the major have a solid basic knowledge of computer science and software technology topics. The track courses provide deeper understanding of a specific topic and sufficient background knowledge for the Master's thesis in the track's area. After the core and track compulsory courses, most students will be left with quite a few credits for other computer-science courses.

Students have to select at least five courses from the major core course list, including the compulsory core course(s) defined by the track (bolded). The core courses can also be done as part of the Bachelor studies, which ieduces the number of core course required at the Master level. Students who have completed equivalent courses at another university can be excused from taking the core courses with agreement of the professor in charge of the study track.

In addition to the major core courses, the students have to take the track compulsory course(s).

The track optional courses listed below are recommended but not required. The rest of the credits for the major can consist of any Master-level computer science courses.

Major core courses, compulsory major core course bolded

CODENAMECREDITSPERIOD/YEAR
CS-E3190 Principles of Algorithmic Techniques5I-II/1st year
CS-E3220 Declarative Programming5IV-V/1st year (2018-2019), I-II/1st year (2019-2020)

CS-C3170

Web Software Development

5

II-III/1st year

CS-C3130

Information Security

5

I/1st year

CS-C3140

Operating Systems

5

I/1st year

CS-C3100

Computer Graphics

5

I-II/1st year

CS-E3210

Machine Learning: Basic Principles

5

I-II/1st year

ELEC-E7851

Computational User Interface Design

5

II/1st year

Track compulsory courses (select at least three, 15 credits)

CODENAMECREDITSPERIOD/YEAR
CS-E4320Cryptography and Data Security5I-II

CS-E4500

Advanced Course in Algorithms

5

III-IV

CS-E4510

Distributed Algorithms

5

I-II

CS-E4520

Computer-Aided Verification and Synthesis

5

Course removed from course selection

CS-E4530

Computational Complexity Theory

5

III-IV

CS-E4800Artificial Intelligence5III-IV

Track optional courses

CODENAMECREDITSPERIOD/YEAR
CS-E4000Seminar in Computer Science: Algorithms5III-IV
CS-E4555Combinatorics5V
CS-E4640Big Data Platforms5I-II

CS-E4600

Algorithmic Methods of Data Mining

5

I-II

CS-E4580

Programming Parallel Computers

5

V

MS-C1081

Abstract Algebra

5

III

MS-E1050Graph Theory5I

MS-E1110

Number Theory

5

II

MS-E1687Advanced Topics in Cryptography5III-IV

CS-E4003

Special Assignment in Computer Science

1-10

Agreed with the teacher

CS-E4004

Individual Studies in Computer Science

1-10

Agreed with the teacher

CS-E4590

Competitive Programming

2-5

I-II

CS-E4006Research Experience Project in Computer Science5I-II, III-V

Also other optional courses can be included per agreement with a professor in charge of the track.

 Big Data and Large-Scale Computing

Professor in charge: Linh Truong
Other professors:
SCI:
Alex Jung, Jaakko Lehtinen, Kai Puolamäki, Jari Saramäki, Jukka Suomela
ELEC: Visa Koivunen, Jorma Skyttä, Sergei Vorobyov, Risto Wichman, Esa Ollila
Extent:  Long (55-65 credits) or compact (40-45 credits) major as CS track. Students taking a compact major take also a minor (20-25 credits). Students taking a long major may include an optional minor in their elective studies.

Objectives

The track on big data and large-scale computing provides the students with a strong background to cope with the challenges arising from the growth of data and information in our society. The track covers a wide range of topics in data management, data processing, algorithmics, data science, and data analysis. The teaching and instruction of the students is conducted by the leading experts in the focus areas of this track. Excellent students interested in pursuing doctoral studies after their M.Sc. degree can transfer to the Helsinki Doctoral Education Network in Information and Communications Technology (HICT).

Learning Outcomes

The track aims to educate professionals who are capable of dealing with the different aspects of data management and data analysis. The graduates of the track will be able to cope with the main big data challenges: collecting and storing data, dealing with data complexity and heterogeneity, developing efficient algorithms to process large datasets, building scalable systems in cloud platforms, employing distributed and parallel computing, discovering patterns and hidden structure in the data, building models and making inferences, and learning to visualize large datasets.

Content and Structure

The major consists of core courses, track compulsory courses, and optional computer-science courses. The purpose of the core courses is to ensure that all students in the major have a solid basic knowledge of computer science and software technology topics. The track courses provide deeper understanding of a specific topic and sufficient background knowledge for the Master's thesis in the track's area. After the core and track compulsory courses, most students will be left with quite a few credits for other computer-science courses.

Students have to select at least five courses from the major core course list, including the compulsory core course(s) defined by the track (bolded). The core courses can also be done as part of the Bachelor studies, which reduces the number of core course required at the Master level. Students who have completed equivalent courses at another university can be excused from taking the core courses with agreement of the professor in charge of the study track.

In addition to the major core courses, the students have to take the track compulsory course(s).

The track optional courses listed below are recommended but not required. The rest of the credits for the major can consist of any Master-level computer science courses.

Major core courses, compulsory major core courses bolded

CODENAMECREDITSPERIOD/YEAR
CS-E3190 Principles of Algorithmic Techniques5I-II/1st year

CS-E3210

Machine Learning: Basic Principles

5

I-II/1st year

CS-E3220

Declarative Programming

5

IV-V/1st year (2018-2019), I-II/1st year (2019-2020)

CS-C3170

Web Software Development

5

II-III/1st year

CS-C3130

Information Security

5

I/1st year

CS-C3140

Operating Systems

5

I/1st year

CS-C3100

Computer Graphics

5

I-II/1st year

ELEC-E7851

Computational User Interface Design

5

II/1st year

Track compulsory courses (select at least three, 15 credits)

CODENAMECREDITSPERIOD/YEAR

CS-E4600

Algorithmic Methods of Data Mining

5

I-II

CS-E4640Big Data Platforms5I-II
CS-E4580Programming Parallel Computers5V
ELEC-E5422Convex Optimization I5
ELEC-E5431Large Scale Data Analysis5

Track optional courses

Code

Name

Credits

Period/Year

CS-E4580

Programming Parallel Computers

5

V

CS-E4800

Artificial Intelligence

5

III-IV

CS-E4830

Kernel Methods in Machine Learning

5

III-IV

CS-E4890

Deep Learning

5

IV-V

CS-E4820

Machine Learning: Advanced Probabilistic Methods

5

III-IV

CS-E4850

Computer Vision

5

I-II

CS-E4840

Information Visualization

5

IV

CS-E4100

Mobile Cloud Computing

5

I-II

ELEC-E5510

Speech Recognition

5

II

ELEC-E5423Convex Optimization II5
ELEC-E5410

Signal Processing for Communication

5
ELEC-E5440Statistical Signal Processing5

CS-E4500

Advanced Course in Algorithms

5

III-IV

CS-E4110

Concurrent Programming

5

II

CS-E4870

Research Project in Machine Learning and Data Science

10

varies

CS-E4006Research Experience Project in Computer Science5I-II, III-V

CS-E4003

Special Assignment in Computer Science

1-10

Agreed with the teacher

CS-E4004

Individual Studies in Computer Science

1-10

Agreed with the teacher

Also optional courses can be included per agreement with a professor in charge of the track.

 Software Systems and Technologies

Professor in charge: Mario di Francesco
Other professors:  Tuomas Aura, N. Asokan, Lauri Malmi, Antti Ylä-Jääski, Jukka Suomela, Petteri Kaski
Extent:  Long (55-65 credits) or compact (40-45 credits) major as CS track. Students taking a compact major take also a minor (20-25 credits). Students taking a long major may include an optional minor in their elective studies.
Abbreviation:  SST

Objectives

The Software Systems and Technologies track covers a wide range of topics on software systems, including mobile and cloud computing, energy efficiency of computing, novel networking technologies, and pervasive applications built on top of this basic foundation. The focus of the program is on applied computer science building on a solid software systems technology background. In this track it is also possible to study advanced learning technologies for education.

The students graduating from the track will have a strong technical background on many of the modern core technologies for mobile and cloud based applications. Students interested in pursuing doctoral studies after their M.Sc. degree can easily transfer to the Helsinki Doctoral Education Network in Information and Communications Technology (HICT).

Learning Outcomes

The graduates of the Software Systems and Technologies track will be able to create and analyze large software systems. The main areas of software systems covered are mobile and cloud computing, energy efficiency of computing, novel networking, and pervasive applications. The track focuses on applied computer science building on a solid software systems background. It is also possible to study advanced learning technologies for education through this track.

Content and structure

The major consists of core courses, track compulsory courses, and optional computer-science courses. The purpose of the core courses is to ensure that all students in the major have a solid basic knowledge of computer science and software technology topics. The track courses provide deeper understanding of a specific topic and sufficient background knowledge for the Master's thesis in the track's area. After the core and track compulsory courses, most students will be left with quite a few credits for other computer-science courses.

Students have to select at least five courses from the major core course list, including the compulsory core course(s) defined by the track (bolded). The core courses can also be done as part of the Bachelor studies, which reduces the number of core course required at the Master level. Students who have completed equivalent courses at another university can be excused from taking the core courses with agreement of the professor in charge of the study track.

In addition to the major core courses, the students have to take the track compulsory course(s).

The track optional courses listed below are recommended but not required. The rest of the credits for the major can consist of any Master-level
computer science courses.

Major core courses, compulsory major core course bolded (min 25 credits)

CODENAMECREDITSPERIOD/YEAR
CS-C3140 Operating Systems5I/1st year

CS-C3170

Web Software Development

5

II-III/1st year

CS-C3130

Information Security

5

I/1st year

CS-C3100

Computer Graphics

5

I-II/1st year

CS-E3190

Principles of Algorithmic Techniques

5

I-II/1st year

CS-E3220

Declarative Programming

5

IV-V/1st year (2018-2019), I-II/1st year (2019-2020)

CS-E3210

Machine Learning: Basic Principles

5

I-II/1st year

ELEC-E7851

Computational User Interface Design

5

II/1st year

 Track compulsory courses (15 credits)

CodeName ECTSPeriod/year

CS-E4100  

Mobile Cloud Computing                            

5           

I-II/1st year

CS-E4000

Seminar on Computer Science

5

I-II or III-V/1st year

CS-E4110

Concurrent Programming

5

II/2nd year

 Track optional courses

CODENAMECREDITSPERIOD/YEAR
CS-E4640Big Data Platforms5I-II/2nd year

CS-E4140

Applications and Services in Internet

5

I-II

ELEC-E8408

Embedded Systems Development

5

III-IV

CS-E4160

Laboratory Works in Networking and Security

5-10

I-II

CS-E4510Distributed Algorithms5I-II

CS-E4520

Computer Aided Verification and Synthesis

5

Course removed from course selection

CS-E4580

Programming Parallel Computers

5

V

CS-E4600Algorithmic Methods of Data Mining5I-II
CS-E4800Artificial Intelligence5III-IV

CS-E4003

Special Assignment in Computer Science

1-10

Agreed with the teacher

CS-E4004

Individual Studies in Computer Science

1-10

Agreed with the teacher
ELEC-E7260

Machine Learning for Mobile and
Pervasive Systems

5II-III
ELEC-E7320Internet Protocols5III-IV
CS-E5460Project in Embedded Systems5-10I-V
CS-E4006Research Experience Project in Computer Science5I-II, III-V
 Web Technologies, Application and Science

Professor in charge:  Petri Vuorimaa
Other professors:  Eero Hyvönen
Extent:  Long (55-65 credits) or compact (40-45 credits) major as CS track. Students taking a compact major take also a minor (20-25 credits). Students taking a long major may include an optional minor in their elective studies.
Abbreviation:  WEB

Objectives

Web may be the most important invention in the field of data processing since the invention of the computer itself, when the influence on society and business life is considered. The teaching in the Web Technologies, Applications, and Science track handles subject areas of web services and web content in a versatile way. The students learn to develop content to the web and control the technologies related to presenting and transferring that data.

One relevant learning goal is the ability to develop web services to the users. In the deeper level this entails intelligent services and applications. Other core content is related to developing web services to machines. On the higher levels than XML, the WWW is based on the semantic web technologies, where the core issues are presenting the knowledge, logics and inference. Human labor, structural data or different methods of automatic annotation (structural or statistical methods) are used to create these kinds of structures.

Content and structure

The major consists of core courses, track compulsory courses, and optional computer-science courses. The purpose of the core courses is to ensure that all students in the major have a solid basic knowledge of computer science and software technology topics. The track courses provide deeper understanding of a specific topic and sufficient background knowledge for the Master's thesis in the track's area. After the core and track compulsory courses, most students will be left with quite a few credits for other computer-science courses.

Students have to select at least five courses from the major core course list, including the compulsory core course(s) defined by the track (bolded ). The core courses can also be done as part of the Bachelor studies, which reduces the number of core course required at the Master level. Students who have completed equivalent courses at another university can be excused from taking the core courses with agreement of the professor in charge of the study track.

In addition to the major core courses, the students have to take the track compulsory course(s).

The track optional courses listed below are recommended but not required. The rest of the credits for the major can consist of any Master-level
computer science courses.

Major core courses, compulsory major core courses bolded

CODENAMECREDITSPERIOD/YEAR
CS-C3170 Web Software Development5II-III/1st year

CS-C3130

Information Security

5

I/1st year

CS-C3140

Operating Systems

5

I/1st year

CS-C3100

Computer Graphics

5

I-II/1st year

CS-E3190

Principles of Algorithmic Techniques

5

I-II/1st year

CS-E3220

Declarative Programming

5

IV-V/1st year (2018-2019), I-II/1st year (2019-2020)

CS-E3210

Machine Learning: Basic Principles

5

I-II/1st year

ELEC-E7851

Computational User Interface Design

5

II/1st year

Track compulsory courses

CODENAMECREDITSPERIOD/YEAR

CS-E4400

Design of WWW Services

5

I-II/1st year

CS-E4410

Semantic Web

5

III-IV/1st year

CS-E4460

WWW-applications

5

I-II/2nd year

Track optional courses

CODENAMECREDITSPERIOD/YEAR

CS-E5220

User Interface Construction

5

II/1st year

CS-E4003

Special Assignment in Computer Science

1-10

Agreed with the teacher

CS-E4004Individual Studies in Computer Science

1-10

Agreed with the teacher

CS-E4000

Seminar in Computer Science

5

I-II, III-IV

CS-E4800Artificial Intelligence5III-IV/1st year

CS-E5610

Social Media

4

I-II

CS-E5740

Complex Networks

5

I-II

CS-E4100Mobile Cloud Computing5I-II
CS-E4640Big Data Platforms5I-II
CS-E4840Information Visualization5IV
CS-E4006Research Experience Project in Computer Science5I-II, III-V