0% found this document useful (0 votes)
64 views

Algorithms, Logic, and Computation

The document provides an overview of the Algorithms, Logic, and Computation track within the Computer Science major at Aalto University. It outlines the fundamental concepts covered like mathematics of computation, algorithms, complexity, logic, proofs, and physical computers. It also discusses how these concepts are applied in crafting efficient implementations, algorithm analysis, declarative programming, competitive programming and utilizing modern hardware. Selected core courses in the track are listed covering topics like algorithms, cryptography, distributed systems, complexity theory and artificial intelligence.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

Algorithms, Logic, and Computation

The document provides an overview of the Algorithms, Logic, and Computation track within the Computer Science major at Aalto University. It outlines the fundamental concepts covered like mathematics of computation, algorithms, complexity, logic, proofs, and physical computers. It also discusses how these concepts are applied in crafting efficient implementations, algorithm analysis, declarative programming, competitive programming and utilizing modern hardware. Selected core courses in the track are listed covering topics like algorithms, cryptography, distributed systems, complexity theory and artificial intelligence.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Algorithms, Logic, and

Computation
Chris Brzuska
Parinya Chalermsook
Tomi Janhunen
Petteri Kaski
Pekka Orponen
Jussi Rintanen CCIS CS Major
Jukka Suomela Orientation Day
Jara Uitto 4 September 2019
Algorithms, Logic, and Computation

Mathematics of Computation

Algorithms and Complexity


Fundamentals
Logic, Proofs, Verification, AI
Craft
Art of Programming

Physical Computer
dgx01.triton.aalto.fi
dgx02.triton.aalto.fi

$150K

(NVIDIA DGX-1, 8 x Tesla V100 GPUs, 40,960 cores @ 1530 MHz, 3.5 kW)
Summit
(Oak Ridge)

#1 top500.org

$200M

4608 compute nodes, each node has six NVIDIA V100 GPUs
(4608 x 6 x 5120 FP32 cores = 141,557,760 cores @ 1530 MHz, 13 MW)
Q4 /
2020

€ 200M

https://www.csc.fi/en/-/one-of-the-most-competitive-supercomputers-in-the-world-to-be-placed-in-kajaani-finla-1
Who? Why?
Anyone interested in mathematics and Curriculum grounded in
mathematical techniques for leading-edge research at the
algorithms and automated reasoning department

Programmers who really want to Creating new technologies and


understand the computer –– understanding foundations for such
from individual logic gates to technology
warehouse-scale devices
Fundamentals withstand the test of
Competitive programmers time (e.g. Euclid’s algorithm, a key
element of modern cryptography,
Anyone interested in a research career dates back more than 2000 years …)
either in academia or industry
Application Domains Current Placements
Big data engines and data science Google, Reaktor, Smartly.io, Valas Media

Finance and insurance First American/US, Orbis/UK, Planixs/UK,


Santander FI

Games and graphics engines Boomlagoon/GM Wargaming, Red Lynx

Mission-critical software Conformiq, OneSpin Solutions/DE, Space


Systems Finland

Scientific software and optimisation Quintic/NL

Security FI Defence Forces, FI Comm. Regulatory Auth.,


Forcepoint, F-Secure

Academic research and education Aalto U., CNRS Paris, Harvard U., INRIA Paris,
EPFL, QU Belfast, Tampere U., UANL/MX, UEC
Tokyo, USI Lugano, U. Helsinki, Worcester
Other public research Polytechnic I., U. St Andrews
Algorithms, Logic, and Computation

Mathematics of Computation

Algorithms and Complexity


Fundamentals
Logic, Proofs, Verification, AI
Craft
Art of Programming

Physical Computer
Mathematics of Computation
Fundamentals Craft

Models of computation Take a real-world problem and turn it


into a formal, mathematical object
Information
Proving theorems about computational
Turing (decidability)
problems: complexity, undecidability,
P = NP ? equivalence, locality, …

Resources and efficiency Understanding of the


“laws of computation” —
what can and cannot be computed
Algorithms
Fundamentals Craft

Design techniques: divide and Efficient practical implementation


conquer, dynamic programming,
greedy, linear programming, duality, Getting things done in practice
backtracking, conflict-learning, Reasoning about the correctness and
iteration/convergence, … performance of algorithm
Mathematics of algorithm design: implementations
algebra, combinatorics, probability, ... Algorithm analysis: constant factors
Algorithm analysis: asymptotics
Complexity
Fundamentals Craft

Resources (time, space, ...) A priori analysis

Parameterization of problems Reductions between problems


(how to use one problem as a
Classification of problems
subroutine to solve another)
(e.g. NP-completeness)
Implementing and analysing crypto
Computational hardness primitives, cryptology
Information-theoretic hardness
Tackling complex problems in
Useful hardness: cryptography practice
Logic, Proofs, Verification, AI
Fundamentals Craft

Logic and logical reasoning General-purpose, industrial-strength


problem-solving engines
Proofs –– how to convince someone
that your solution is correct? Declarative programming: specifying
what to compute rather than how
Uncertainty: partial information or
complete information Automating automation:
understanding computation via
Automated reasoning/ AI computation, designing algorithms
with algorithms, learning
Art of Programming
Fundamentals Craft

Syntax & semantics Implementing and measuring


algorithms, code optimization
Programming languages
Competitive programming
Domain-specific languages
Efficiently utilising any given concrete
Design of tools and libraries
computing platform: modern CPUs &
Verticals of abstraction: GPUs, parallelism, vector
high-level languages and libraries instructions, bit-level operations,
enable productivity, low-level tensor processors, other
languages give access to hardware special-purpose processors
Physical Computer
Fundamentals Craft

The computer as a sequential circuit Measuring physical resource usage

The network as a computer Programming parallel computers

Computing in nature Understanding capabilities and


limitations of modern physical
Physical laws that govern
computers, and how to exploit them:
computation: speed of light, atomic throughput vs. latency
scale, energy, noise
Algorithms, Logic, and Computation

Mathematics of Computation

Algorithms and Complexity


Fundamentals
Logic, Proofs, Verification, AI
Craft
Art of Programming

Physical Computer
Selected courses from track
CS-E3190 Principles of Algorithmic Techniques 5 I-II *
CS-E3220 Declarative Programming 5 I-II *
CS-E4000 Seminar in Computer Science: Algorithms 5 III-IV
CS-E4320 Cryptography and Data Security 5 I-II *
CS-E4500 Advanced Course in Algorithms 5 III-IV
CS-E4510 Distributed Algorithms 5 I-II *
CS-E4530 Computational Complexity Theory 5 III-IV
CS-E4590 Competitive Programming 2-5 I *
CS-E4555 Combinatorics 5 III-IV
CS-E4580 Programming Parallel Computers 5 V
CS-E4800 Artificial Intelligence 5 III-IV
MS-E1687 Advanced Topics in Cryptography 5 III-IV

Track event: 13:00–15:00 today, room A346 3rd floor *) starts next week

You might also like