Algorithms, Logic, and Computation

Professor in charge: Petteri Kaski
Other professors: Parinya Chalermsook, Tomi Janhunen, Pekka Orponen, Jukka Suomela, Jorma Tarhio, 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 track on Algorithms, Logic, and Computation provides the students with a strong theoretical background that covers fundamental conceptual tools for the modelling, design, and analysis of advanced computing systems. Our students will receive a solid and versatile methodological education in preparation for a career as an expert in exploiting and advancing new computing technologies. The studies are organised by the Department of Computer Science (cs.aalto.fi) and strongly built on the themes of the research area of Algorithms, Logic, and Computation. The teaching and instruction of the students is conducted by the leading experts in this research area. 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 (www.hict.fi).

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

CODE NAME CREDITS PERIOD/YEAR
CS-E3190 Principles of Algorithmic Techniques 5 I-II/1st year
CS-E3220 Declarative Programming 5 V/1st year

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)

CODE NAME CREDITS PERIOD/YEAR

CS-E4500

Advanced Course in Algorithms

5

III-IV

CS-E4510

Distributed Algorithms

5

I-II

CS-E4520

Computer-Aided Verification and Synthesis

5

III-IV

CS-E4530

Computational Complexity Theory

5

III-IV

 Track optional courses

CODE NAME CREDITS PERIOD/YEAR

CS-E4550

Advanced Combinatorics in Computer Science

5

V

CS-E4560

Parallel and Distributed Systems

5

I-II

CS-E4320

Cryptography and Data Security

5

I-II

CS-E4600

Algorithmic Methods of Data Mining

5

I-II

CS-E4580

Programming Parallel Computers

5

V

CS-E4800

Artificial Intelligence

5

III-IV

MS-C1080

Introduction to Abstract Algebra

5

III

MS-E1110

Number Theory

5

II

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

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

Login Form

Powered by jms multisite for joomla