Tampere University of Technology (TUT) Department of Mathematics offers a major and some lower-level courses in Theoretical Computer Science (TCS). They are suitable for students interested in advanced programming and the theory of computation. Mathematical reasoning in the form of precise definitions and proofs is in an important role.
As the background, the TCS major requires either a minor in Mathematics or in Software Systems (Ohjelmistotekniikan sivuaine).
In the new curriculum system (2013–), the TCS major is available to the students of Teknis-luonnontieteellinen DI-tutkinto-ohjelma, that is, Degree Programme in Science and Engineering, MSc (Tech). Students in other degree programmes who have sufficient background may change to Teknis-luonnontieteellinen to take the TCS major.
In the old curriculum system (–2012), the TCS major is available to the students of Tietotekniikan koulutusohjelma, that is, Degree Programme in Information Technology. It is also available to those students of Teknis-luonnontieteellinen koulutusohjelma (Degree Programme in Science and Engineering) who aim at the school teacher's competence. Other students of Teknis-luonnontieteellinen koulutusohjelma may change to the new curriculum system to take the TCS major.
Independently of the curriculum system, students of both degree programmes mentioned above can take TCS as a secondary major (sivuaine). Then the diploma thesis is not made to TCS but to the primary major of the student.
Students in International Master's Degree Programme in Information Technology (–2012), please see Relation to Old Courses.
Two of these courses are only available in Finnish and one in English. MAT-71000 cannot be included in the TCS major but the other two can. MAT-71506 can also be included in the minor in Mathematics.
Both of these courses must be taken to the TCS major.
At least 7 cr must be taken from this group. These courses are given every second year. Those with gray background are not taught at 2013–2014.
The major must contain at least 30 cr. To complete the major, all courses mentioned above except MAT-71000 and all courses in the following list can be used.
Students in International Master's Degree Programme in Information Technology can take TCS courses to complete their Software Systems majors as follows. Three general rules apply:
Rule A: The same course may be used for more than one replacement. (Its credit units are, of course, only counted once.)
Rule B: The total number of credit units on Software and TCS courses must be at least the same as it would have been with the old courses. That is, missing credit units (which may be many because some courses need not be replaced) cannot be replaced by signal processing, IHTE topics (usability), etc.
Rule C: The official decisions on how the international Software Systems major may be composed are made by professor Hannu-Matti Järvinen. He has the authority to interpret and modify the rules. If his opinion and the information in this section are in contradiction, his opinion wins.
|old course||similar new course|
|OHJ-2016 Utilization of Data Structures 5||TIE-20106 Data Structures and Algorithms 5|
|OHJ-2056 Principles of Programming Languages 5||TIE-20306 Principles of Programming Languages 5|
|OHJ-2306 Introduction to Theoretical Computer Science 6||MAT-73006 Theoretical Computer Science 7|
|OHJ-2506 Program Verification 5||MAT-71506 Program Verification 5|
|OHJ-2556 Artificial Intelligence 6||MAT-75006 Artificial Intelligence 7|
|OHJ-2606 State Machines 5||MAT-74006 Concurrency Theory 7|
|OHJ-2906 Software Science Project 5||MAT-70906 Software Science Project 4|
|OHJ-3056 Software Engineering Methodology 6||TIE-21106 Software Engineering Methodology 6|
The following courses do not have a similar new course in English. They need not be replaced. (However, see Rule B.)
Also the following courses do not have a similar new course in English, but a somewhat similar course is available. A replacement must be selected as shown.
If more credit units are needed, the student can use any old or new courses from the above and any of these:
Also these can be used, if the student has already passed them:
Theoretical Computer Science is an excellent topic for postgraduate studies. The courses are agreed with the supervisor and accepted by the Faculty of Natural Sciences.
The research on TCS at TUT concentrates on algorithmic verification (a.k.a. model checking) of concurrent systems (Hansen, Valmari), concurrency theory (Valmari), and algorithmic machine learning and data mining (Elomaa). These fields contain many suitable topics for doctoral theses, but also other topics related to TCS or advanced programming can be considered.