\documentclass[10pt,english]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{hyperref}
\renewcommand{\rmdefault}{lea}
\renewcommand{\sfdefault}{pbe}
\typearea{12}
\begin{document}
\pagestyle{empty}
\section*{Theoretical Computer Science as a major or minor\footnote{This handout
is based on the Study Programme 2006--07. See also \url{http://www.tcs.hut.fi/Studies/} and \url{http://tieto.tkk.fi/Opinnot/opetusohjelma.html}\hfill Harri Haanp�� 8 Mar 2007}}

Theoretical computer science develops and applies mathematical methods
for systematic modelling, analysis and solution of computational
problems. Such methods play a central role in the design of software
systems and parallel computer architectures, routing protocols of
communication networks, cryptography, VLSI design, and the development
of programming languages and compilers for them.

The major in theoretical computer science provides the student with
working knowledge on modelling and analysing information processing
systems, computational complexity theory, and cryptology; and a deep
understanding of one or two focus areas of the Laboratory: computational
logic, computational complexity theory, verification, and cryptology. The goal is to become eligible for
post-graduate studies as well as demanding R\&D tasks; including
abilities to analyse large and complex systems and their critical parts
using mathematical tools and to apply latest research results in
practical engineering applications.

%\date{}
%\maketitle

\paragraph{Module structure of Theoretical Computer Science}
The Laboratory for Theoretical Computer Science offers the intermediate
module A2 and the advanced module A3 in theoretical computer science.

\begin{table}[h]
\centering
\begin{tabular}{lll}
T-79.4001 & Seminar on Theoretical Computer Science & 3 cr\\
T-79.4201 & Search Problems and Algorithms & 4 cr\\
T-79.4301 & Parallel and Distributed Systems & 4 cr\\
T-79.4501 & Cryptography and Data Security & 4 cr\\
T-106.4100 & Design and Analysis of Algorithms\textsuperscript{*} & 5 cr\\
\multicolumn{3}{p{75mm}}{\emph{\textsuperscript{*}
or T-79.5103 Computational Complexity Theory, if T-106.4100 has to be
placed in some other module}}
\end{tabular}
\caption{The intermediate module A2 in Theoretical Computer Science}
\end{table}

\noindent The advanced A3 module allows comparatively free
selection of courses on the focus areas of the Laboratory for Theoretical
Computer Science (see the Study Guide or Study Programme).

\paragraph{Theoretical Computer Science for CS students}
The major in theoretical computer science consists of the intermediate A2 module and the advanced A3 module in theoretical computer science; they are based on the computer science T module offered by the Department of Computer Science and Engineering.

\paragraph{Theoretical Computer Science for students of other degree programmes}
The Computer Science module B1 is a minor module for students of other degree programmes. It can be taken as a minor in candidate studies, and it allows continuing
minor studies at A2 level or even major studies at A3 level. Different A2 modules
require including different courses in the B1 module. Before taking the module B1
the student must take
T-106.1203 Basics of Programming L (Java),
T-106.1206 Basics of Programming Y (Java) or
T-106.1207 Basics of programming (Swedish) (Java).

\begin{table}[h]
\centering
\begin{tabular}{lll}
T-106.1223 & Data Structures and Algorithms Y & 5 cr\\
T-106.1243 & Intermediate Course in Programming L1 (Java) & 6 cr\\
T-79.1001 & Introduction to Theoretical Computer Science T & 4 cr\\
T-79.3001 & Logic in Computer Science: Foundations & 4 cr
\end{tabular}
\caption{The courses in minor module B1 required for studying
theoretical computer science}
\end{table}

\noindent
To study the intermediate A2 module in theoretical computer science the minor student must take module B1 so that the courses in Table 2 are included, unless they are included in an earlier module. Additional courses of the B1 module (see Study Guide)
must be chosen so that the courses total at least 20 cr.
\end{document}
\bigskip
\hfill
\begin{tabular}{c}
Tietotekniikan opiskelijalle\\
T$\longrightarrow$ A2 ($\longrightarrow$ A3)
\end{tabular}
\hfill
\begin{tabular}{c}
Muille opiskelijoille\\
B1$\longrightarrow$ A2 ($\longrightarrow$ A3)
\end{tabular}\hfill*

\section{Moduulit}
\begin{description}
\item[T] Tietotekniikan osaston opiskelijoilleen tarjoama A1-tason moduuli.
\item[A2] Tietojenk�sittelyteorian laboratorion tarjoama 2-tason moduuli
\item[A3] Tietojenk�sittelyteorian syvent�v� moduuli

\end{description}
\section{Tietojenk�sittelyteoria sivuaineena muille kuin tietotekniikan opiskelijoille}

\end{document}
