67
1 This document is translated from the Finnish study guide for the academic year 2007-2008 and is only marginally modified/augmented to express what we have especially in English. Please note that - Some links point to pages written in Finnish only; we do not have a totally many-lingual web. - In the teaching programme (part “Teaching”) most courses and seminars are expressed with a title in Finnish and in English (the latter in parenthesis). These courses and seminars will be given in Finnish whereas those whose title is in English only will be given in English. - Some special issues, e.g. the language requirements in the degree of a non-Finnish student, have not been expressed in detail. Please feel free to consult the foreign student advisor (or any student councellor) when needed. COMPUTER SCIENCE Department of Computer Science Exactum (Kumpula campus) PO Box 68 (Gustaf Hällströmin katu 2b) FI-00014 University of Helsinki Telephone 1911 (exchange), direct numbers 191 + extension number http://www.cs.helsinki.fi/ Chairman: Professor Hannu Toivonen, office hours Tue, Thu 9.30-10.00 D240b, 2 nd floor Administration (D239, 2 nd floor, phone 191 51123): open to students Mon-Fri 12-14 (or by e-mail request). Student Counselling (A232, 2 nd floor): phone 191 51121. Office hours (published each term) on the web page http://www.cs.helsinki.fi/opintoneuvonta/. E-mail: [email protected]. Teacher tutoring contacts (for HOPS tutoring): Lecturer Heikki Lokki (for students who entered university in 2005-2006), Asst. Päivi Kuuppelomäki (2006-2007), Asst. Sini Ruohomaa (2007-2008). International student exchange and JOO studies: Head of Studies, Adjunct Professor Hannu Erkiö (D240a, 2 nd floor; office hours Tue, Thu 12.00.-13.00). Web information, e-mail: The department uses web pages very extensively for information on both standing and current affairs. The department homepage is at http://www.cs.helsinki.fi/, and any useful information on studying at the department is available at http://www.cs.helsinki.fi/opiskelu/index.en.html, including info on how to join the e-mail list for students. We recommend the use of the following service addresses for e-mail to the department [email protected] help-desk for users of the department's computer systems

COMPUTER SCIENCE - cs.helsinki.fi

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

1

This document is translated from the Finnish study guide for the academic year 2007-2008 and is only marginally modified/augmented to express what we have especially in English. Please note that - Some links point to pages written in Finnish only; we do not have a totally many-lingual web. - In the teaching programme (part “Teaching”) most courses and seminars are expressed with a title in Finnish and in English (the latter in parenthesis). These courses and seminars will be given in Finnish whereas those whose title is in English only will be given in English. - Some special issues, e.g. the language requirements in the degree of a non-Finnish student, have not been expressed in detail. Please feel free to consult the foreign student advisor (or any student councellor) when needed.

COMPUTER SCIENCE

Department of Computer Science Exactum (Kumpula campus) PO Box 68 (Gustaf Hällströmin katu 2b) FI-00014 University of Helsinki Telephone 1911 (exchange), direct numbers 191 + extension number http://www.cs.helsinki.fi/ Chairman: Professor Hannu Toivonen, office hours Tue, Thu 9.30-10.00 D240b, 2nd floor Administration (D239, 2nd floor, phone 191 51123): open to students Mon-Fri 12-14 (or by e-mail request). Student Counselling (A232, 2nd floor): phone 191 51121. Office hours (published each term) on the web page http://www.cs.helsinki.fi/opintoneuvonta/. E-mail: [email protected]. Teacher tutoring contacts (for HOPS tutoring): Lecturer Heikki Lokki (for students who entered university in 2005-2006), Asst. Päivi Kuuppelomäki (2006-2007), Asst. Sini Ruohomaa (2007-2008). International student exchange and JOO studies: Head of Studies, Adjunct Professor Hannu Erkiö (D240a, 2nd floor; office hours Tue, Thu 12.00.-13.00). Web information, e-mail: The department uses web pages very extensively for information on both standing and current affairs. The department homepage is at http://www.cs.helsinki.fi/, and any useful information on studying at the department is available at http://www.cs.helsinki.fi/opiskelu/index.en.html, including info on how to join the e-mail list for students. We recommend the use of the following service addresses for e-mail to the department [email protected] help-desk for users of the department's computer systems

2

[email protected] user access to the department’s systems [email protected] practical teaching arrangements [email protected] approval of credits from other institutions [email protected] Department Chairman [email protected] administration [email protected] student counselling. [email protected] Head of Studies. There is a more detailed list of service addresses and detailed instructions at http://www.cs.helsinki.fi/hallinto/palveluosoitteet.html.

Library Please see Kumpula Science Library.

Computer science as a discipline and subject for study Research in computer science focuses on algorithm-based methods and processes, which are used to describe and transform information; their theory, analysis, design, implementation and application are studied. These methods can be implemented as computer programs, which the computer can run 'automatically.' The basic question in computer science is: "What can be automated, and how is it done most efficiently?" This characterisation of this discipline illustrates that, in addition to being an exact method science, computer science is also a constructive and experimental science, where empirical testing plays an important role. The rapid development in the field of information technology (IT) has made it one of the pivotal sectors in our society, where all functions are increasingly based on IT systems. Nowadays, automatic information processing is closely linked with the areas of business, administration, research and education, where computer skills are essential. Finland has kept up well with this development and Finnish information technology has become a national strength in a short time. In last few years, the advances in IT have also given rise to new application fields where computer science has formed the methodological core. Examples of such fields are bioinformatics, a combination of biology and computer science, geoinformatics from geography and computer science, and the computational science that has arisen out of the needs of various disciplines such as physics, chemistry, ecology, medicine, behavioural sciences, sociology and economics. Studies offered by the Department of Computer Science give an excellent competence to work with development and applications in the IT field. In addition to IT experts, the job market is in need of people who are experts in their own fields, while they have good basic skills in IT. One alternative to majoring in computer science, in preparing for duties in the field of IT, is to study the application field as a major subject, while minoring in computer science. There are also multidisciplinary Master’s programmes for students who want a wide range of expertise in modern fields like bioinformatics or geoinformatics.

3

Graduates may work in very different areas of business and administrative computing, in innovative development for the ICT industry, as well as research and education in the IT field. For those interested in research and development, the rapidly growing field of computer science is an attractive alternative; the field offers challenging and significant research problems, leading to solutions that are immediately applied in practice in the industries.

Degree reformation, degree systems With the reformation of degrees in the whole university, a new degree system was instated on 1 August 2005. During the transition period 1 August 2005-31 July 2008, it is possible to follow two older degree systems at the department: the one in place 1 August 1999-31 July 2005, and the one before that. When the degree requirements were last changed extensively in autumn 1999, the previous degree requirements were said to be valid at least until the end of year 2006, but now the period has been extended to 31 July 2008. The degree requirements described in this study guide will be implemented from 1 August 2007, they will correspond with the degree system that was instated on 1 August 2005, and they do not entail any large changes compared with last year’s requirements. This guide will not describe the older degree requirements; information on those is available in older study guides and on the department web pages (degree requirements at http://www.cs.helsinki.fi/opiskelu/vaatimukset.html). The rules and practices for transferring from the old systems to the new one are explained at the end of the chapter ‘Planning your studies’ (‘Transferring from an old degree system to a new one’) and on the web page http://www.cs.helsinki.fi/tutkinnonuudistus/.

Degrees, sub-programmes, and Master’s programmes The basic degrees of the Computer Science Programme are the Bachelor of Science (BSc) degree consisting of 180 credits and the Master of Science (MSc) degree consisting of 120 credits. The major subject for the Bachelor’s and Master’s degree is computer science. The contents of the Bachelor’s degree are uniform as far as the major subject is concerned, while there are six sub-programmes to select from for the Master’s degree. In addition, there are two separate Master’s programmes at the department: The Master's Degree Programme in Bioinformatics, MBI, and The International CBU Master’s Degree Programme in Information and Communication Technology. These Master’s programmes are carried out in collaboration with other departments and universities. The teaching is given in English and students are accepted through a separate application process. The MBI programme is multidisciplinary, including methods of computer science and statistics and their application to biosciences and medicine. The CBU programme offers advanced computer science studies in either intelligent computing or modern communication technology at the department as well as other Finnish and/or Russian universities. Full-time students can take a Master’s degree in one of the Master’s programmes in two years if they have completed the BSc degree. The teaching offered for the Master’s

4

programmes at the department can mainly be attended by computer science students, and it is described in the study guide for computer science. The department also participates in the Master’s programme for geoinformatics coordinated by the Department of Geography. The descriptions of the Master’s programmes are in a separate section of the study guide. If you are a full-time student, you can complete the Bachelor’s degree in three years, and after that, the Master’s degree in two years. The post-graduate degrees are the Licentiate of Philosophy (PhLic) and the Doctor of Philosophy (PhD) degrees. The structure of each degree is explained in the section on degree requirements. Studies in computer science start with the basic module (25 cr) and continue with the intermediate module (65 cr). The planning of studies is supported from the beginning with the course 582507 “LuK-HOPS” that lasts throughout the Bachelor’s programme. All students must register for this course at the beginning of their first university semester. The basic and intermediate module (90 credits) for the BSc degree contains courses in several sub-programme topics. This degree has to be completed before continuing to the MSc degree. After completing the BSc degree, students can take the advanced module (90 cr) in their major subject to pass their MSc degree. The education for the MSc degree is geared towards expert, development and management jobs in the field or a career in research, and it entails specialisation in accordance with one of the sub-programmes or Master’s programmes. The web pages of the sub-programmes contain information on which courses are suitable as optional courses in the advanced module, and how to arrange for course combinations. The sub-programmes are: algorithms, distributed systems and data communications, software engineering, information management, intelligent systems, and ”Data Communications Software,” where lectures are given in English and which requires separate application. For the MSc degree, students can select sub-programmes without separate application, as long as they have completed the courses in the degree requirements. At the beginning of the Master’s programme, students register for the tutor of each sub-programme in order to start developing their personal study plan (FM-HOPS). Students who have been accepted directly into the MSc degree programme should contact the tutor of their sub-programme to discuss whether they need to complete additional courses before commencing the programme. Students who have not decided on which sub-programme they want to pursue should discuss their study plans and how to find the correct tutor with a student counsellor as soon as possible. The sub-programme in algorithms focuses on the theoretical basis of computer science, especially algorithm research. The focal area of the sub-programme in distributed systems and data communications is independently operating parallel components of systems and the communication between them. The sub-programme in software engineering studies the systematic engineering of large and complex software products. In information management, the focal areas are database management, data mining, digital media and language technology. The sub-programme of intelligent systems focuses on computational methods for the design of and research on systems containing adaptive and intelligent components. The sub-programme Data Communications Software studies the production of software for data communications.

5

The sub-programmes are described in the chapter ‘Planning your studies’ and on the web pages of the sub-programmes at http://www.cs.helsinki.fi/opiskelu/suunta.html. Students who have entered the university before 1 August 2005 may complete their degrees according to the sub-programmes and specialisation areas in an old degree system until 31 July 2008, or transfer to the new degree system. The specialisation areas of the computer science sub-programme and the sub-programme of bioinformatics and computational biology have their respective equivalents in the new degree system (information systems is equivalent to information management). However, the sub-programmes for teachers, applied computer science and computer mathematician can no longer be completed after 31 July 2008. The last application for teacher in computer science was held in spring 2006, and the deadline for study plans for the sub-programmes of applied computer science and computer mathematician was in autumn 2006. Students may not transfer to these sub-programmes any longer, unless there are very exceptional circumstances. In such cases, they should arrange it with the professor in charge of the sub-programme. Students, especially those following the old degree requirements, can attend the so-called Master’s clinics (intensive tutoring, thesis clinics; see http://www.cs.helsinki.fi/opiskelu/maisteriklinikka/) in order to complete their studies in these sub-programmes that will be discontinued. Students who have entered the university before 1 August 2006 may still complete their Master’s degrees in the sub-programme of bioinformatics and computational biology. The courses and seminars in bioinformatics are the same as in the MBI programme.

The research school The research school at the Department of Computer Science is meant for students who are interested in pursuing a career in research and development in the fields of computer science or information technology. The research school students aim at a postgraduate degree with the rapid completion of the Bachelor’s and Master’s degrees as intermediate stages. The research school does not have separate degree requirements. The purpose of the school is to help students direct their studies towards courses that will be useful in a research career, and to create contacts between students and the research groups at the department (including e.g. presentation of research groups, trainee positions in the research groups, more challenging project work that relates to the research carried out at the department). The students attending the research school form their own HOPS teacher tutor group, to which they transfer when they have been accepted to the school. At the final stages of their Master’s degree, the research school students transfer to one of the research groups or a post-graduate school (Hecse, ComBi, KIT, SoSE). Students can have their own workspace at the department and borrow a laptop for project work, among other things.

6

Some 5-10 students are elected for the research school annually in May. The elections are based on student progress and an interview. Students who have done well in their studies may also apply to the school later than in the spring of their first year.

Student counselling Information about the department, teaching and research is available on the department web server and the notice boards. The main information about studying at the department is available on the web page http://www.cs.helsinki.fi/opiskelu/index.en.html. The most current information about teaching is posted before the start of each term on the web server in the teaching programme for that term. The goals, contents and requirements of each course are presented in the course descriptions on the web page of each course. The HOPS instructors (teacher tutors) and the student counselling in office A232 (phone 191 51121) will counsel students individually. Please see http://www.cs.helsinki.fi/opintoneuvonta/ for the office hours of the student counsellors. The sub-programme tutors and professors in charge will counsel students in matters pertaining to advanced-module and post-graduate studies. For information on individual courses, please contact the teacher in charge of the course. If you have any questions on the general degree requirements, you can also contact the Head of Studies, Hannu Erkiö.

Important dates An information session for first-year students majoring in computer science will be held on Wednesday 29 August 2007 at 9-12 in Auditorium B123 (Exactum, ground floor; in Finnish). A corresponding orientation session in English is arranged as a part of the Orientation course for international students, on Friday 31 August, afternoon. In addition, useful general information for new students will be given in the student tutorial groups arranged by the faculty. It is important to participate in these tutorial groups for getting started with your studies and learning about the university community. For majoring undergraduates to set their study process in motion, it is very important to participate in the HOPS work and teacher tutoring from the first meeting on Wed 12 September at 17-19 in Auditorium A111. There are four periods of teaching: I 3.9.–21.10.2007 II 29.10.–16.12.2007 III 14.1.–2.3.2008 IV 10.3.–4.5.2008 The following list contains other important dates for the academic year 2007-2008, including more detailed period schedules (exam weeks).

Autumn 2007:

The teaching programme for the autumn term will be published on 10 August.

7

Registration for I-period courses for major-subject students starts on Thu 23 August at 9.00. Registration for I-period courses for minor-subject students starts on Fri 24 August at 9.00. The office hours for teachers start on Mon 27 August. Information session for new majoring students on Wed 29 August at 9-12 in Auditorium B123. Information session for new minoring students on Thu 30 August at 14-16 in Auditorium B123. Information session (in Swedish) for new students on Fri 31 August at 9-11 (in lecture hall A219, Chemicum). Information session (in English) for new students on Fri 31 August, afternoon (as a part of the Orientation course for international students). Teaching (period I) starts on Monday 3 September. Crash course Introduction to the Use of Computers for first-year majoring students starts on Tue 4 Sept at 16-18 in Auditorium B123. (It is best to take the proficiency test as soon as possible, preferably before the course, pls. see the course page). The event “Getting started with the Master’s thesis” Mon 17 Sept at 16-18 in classroom B222. HOPS sessions and teacher tutoring for first-year students start on Wed 12 Sept at 17-19 in Auditorium A111. Register your presence at the university on 17 Sept at the latest. Registration for II-period courses for major-subject students starts on Tue 9 Oct at 9.00. Registration for II-period courses for minor-subject students starts on Wed 10 Oct at 9.00. Exam week for period I on 15-19 Oct. Department’s 40th anniversary 19 Oct 2007. Teaching (period II) starts on Monday 29 Oct. The event “Getting started with the Master’s thesis” Mon 5 Nov at 16-18 in classroom B222. Register for the spring-term software engineering projects 5-20 Nov. Register for spring-term course in scientific writing 5-20 Nov. Register for spring-term seminars and courses demanding pre-registration 5-20 Nov. The teaching programme for the spring term will be published on 30 Nov. Teaching ends on Fri 7 Dec. Exam week for period II on 10-14 Dec. The office hours for teachers end on 20 Dec.

Spring 2008:

The teaching programme for the spring term will be published on 30 Nov 2007. The office hours for teachers start on Mon 14 Jan. Registration for III-period courses for major-subject students starts on Tue 8 Jan at 9.00. Information session for students starting in spring term on Mon 7 Jan at 12-15 in Auditorium B123. Registration for III-period courses for minor-subject students starts on Wed 9 Jan at 9.00. Teaching (period III) starts on Mon 14 Jan. The event “Getting started with the Master’s thesis” Mon 21 Jan at 16-18 in classroom D122. Registration for IV-period courses for major-subject students starts on Tue 19 Feb at 9.00.

8

Registration for IV-period courses for minor-subject students starts on Wed 20 Feb at 9.00. Exam week for period III on 25-29 Feb. Teaching (period IV) starts on Mon 10 Mar. Easter holiday 20-26 Mar (no teaching, no office hours). The teaching programme for the summer term will be published on 31 Mar. The event “Getting started with the Master’s thesis” Mon 31 Mar at 16-18 in classroom D122. Register for the summer software engineering projects 1-18 Apr. Register for other summer courses from Mon 21 Apr at 9.00. Teaching ends on Fri 25 Apr. Exam week for period IV on 28 Apr-6 May. Deadline for applications to research school Mon 12 May. Register for autumn-term course in scientific writing 5-23 May. Register for the autumn software engineering projects 5-23 May. Register for autumn-term seminars and courses demanding pre-registration 5-23 May. The office hours for teachers end on 30 May.

Summer 2008:

The teaching programme for the summer term will be published on 31 Mar. Register for the software engineering projects 1-18 Apr. Register for other summer courses from Mon 21 Apr at 9.00.

Degree requirements Students entering the university in 2007 and students who have transferred to the new degree system after academic year 2006-2007 should follow these degree requirements The old degree requirements for students who entered university before 1 Aug 2005 are available in old study guides and on the department webpage http://www.cs.helsinki.fi/opiskelu/vaatimukset.html. The degree requirements for students who entered university in 2005 are available in the study guide 2005-2006 and the above-mentioned web page.

BACHELOR OF SCIENCE DEGREE (180 CREDITS)

1. Major subject studies

584111 BASIC STUDIES (25 CREDITS)

582102 Introduction to computer science, 4 cr 581325 Introduction to programming, 5 cr 581326 Programming in Java, 4 cr 582101 Methods for software engineering, 4 cr 58160 Programming project, 4 cr 581328 Introduction to databases, 4 cr

584211 BASIC AND INTERMEDIATE STUDIES (90 CREDITS)

Compulsory courses

584111 Basic studies in computer science, 25 cr 58131 Data structures, 8 cr

9

58161 Data structures project, 4 cr 582201 User interfaces, 4 cr 582203 Database application, 4 cr 581305 Computer organization I, 4 cr 582202 Introduction to data communications, 4 cr 581332 Concurrent systems, 4 cr 582206 Models for computing, 6 cr 581259 Software engineering, 4 cr 581260 Software engineering project, 9 cr 582204 Bachelor’s thesis, 6 cr 50036 Maturity test

Optional computer science courses

Optional course in computer science, 8 cr

2. Minor subject studies (50 cr) A. The extended basic module in mathematics or method sciences (50 cr), or basic and intermediate module in mathematics or method sciences, (60 cr) OR B. The extended basic module (30 cr) in mathematics or method sciences and basic module (25 cr) in another minor subject. The study module in method sciences (alternative A) must contain at least 20 cr in mathematics and at least 20 cr in statistics. The minimum requirement for alternative B is 10 credits in each subject. In all cases, the minor subject must include the mathematics course Introduction to discrete mathematics.

3. Other studies Language studies, 10 cr 582505 First language communication, 3 cr Second domestic language, 3 cr Foreign language, 4 cr 584401 Information and communication technology studies, 5 cr

581324 Introduction to the use of computers, 4 cr 582506 Research data retrieval, 1 cr

582507 Personal study plan and teacher tutoring (LuK-HOPS), 2 cr 584402 Internships and vocational orientation, 1-3 cr

582508 Vocational orientation in connection with software engineering project, 1 cr, or

582509 Working in the professional IT field, 2 cr

10

Elective courses to the extent that the required credits (180) for the degree are fulfilled (including credits from major and minor subjects and other courses).

MASTER OF SCIENCE DEGREE (120 CR)

The Master’s degree in computer science can be completed in one of the six sub-programmes: Algorithms Distributed systems and data communications Software engineering Data management Intelligent systems Data Communications Software There are two Master’s programmes given in English at the department; the requirements for them are described separately: Master’s Degree Programme in Bioinformatics International CBU Master’s Degree Programme in Information and Communication Technology The requirements for a Master’s degree in computer science vary according to sub-programme, but in general they adhere to the following structure:

1. Major subject studies

COMPUTER SCIENCE IMTERMEDIATE STUDIES

Intermediate courses that were not included in the Bachelor’s degree are required in cases where they are necessary due to the nature of the specialisation area.

COMPUTER SCIENCE ADVANCED STUDIES (80 CR)

Advanced studies according to specialisation area Seminars, 6 cr Elective advanced courses in computer science (other than seminars) 50131 Master’s thesis (Pro gradu), 40 cr 50039 Maturity test

2. Minor subject studies Intermediate courses that were not included in the Bachelor’s degree are required in cases where they are necessary due to the nature of the sub-programme.

3. Other studies 582510 Personal study plan, 1 cr 584403 Advanced internship or work-oriented studies, at least 2 cr

582511 Working in advanced professional position in the IT field (2-6 cr) or 581387 Information Technology: Now! (3 cr) or other suitable course

11

Elective subjects to the extent that the required credits (120) for the degree are fulfilled (including credits from major and minor subjects and other courses).

DEGREE REQUIREMENTS FOR SUB-PROGRAMMES

Algorithms

1. Major subject studies

COMPUTER SCIENCE IMTERMEDIATE STUDIES

582207 Design of algorithms, 4 cr 582208 Complexity of computation, 4 cr (unless they were included in the Bachelor’s degree)

584321 ADVANCED MODULE

Compulsory courses for the sub-programme, 16 credits of specialized courses from the following list (the professor in charge of the sub-programme may also approve other similar courses): 582456 Approximation algorithms, 8 cr 582401 Geometrical methods, 8 cr 582441 Combinatorial optimisation, 8 cr 58147 Machine learning, 8 cr 58093 String processing algorithms, 6-8 cr 582421 Randomized algorithms, 8 cr 58074 Computer graphics, 8 cr Optional courses according to sub-programme, 8 cr The webpage of the sub-programme lists suitable courses. Seminars, 6 cr Elective advanced courses in computer science (other than seminars), 10 cr 50131 Master’s thesis (Pro gradu), 40 cr 50039 Maturity test

2. Minor subject studies Basic and intermediate module in mathematics or method sciences, 60 cr (unless it was included in the Bachelor’s degree) The study module in method sciences must contain at least 20 cr in mathematics and at least 20 cr in statistics.

Distributed systems and data communications

1. Major subject studies

COMPUTER SCIENCE IMTERMEDIATE STUDIES

58127 Programming in C, 4 cr (unless it was included in the Bachelor’s degree)

584322 ADVANCED MODULE

Compulsory courses of the sub-programme, 24 cr

12

582497 Operating systems, 8 cr 582417 Distributed systems, 4 cr Three of the following specialized courses: 581365 Computer organization II, 4 cr 582498 Internet protocols, 4 cr 581288 Computer security, 4 cr 581366 Introduction to specification and verification, 4 cr 582420 Middleware, 4 cr Seminars, 6 cr Elective advanced courses in computer science (other than seminars), 10 cr 50131 Master’s thesis (Pro gradu), 40 cr 50039 Maturity test

Software engineering

1. Major subject studies

584323 ADVANCED MODULE

Compulsory courses of the sub-programme, 16 cr 581358 Software architecture, 8 cr 581359 Software processes and quality, 8 cr Optional courses according to sub-programme, 10 cr The webpage of the sub-programme lists suitable courses. Seminars, 6 cr Elective advanced courses in computer science (other than seminars), 8 cr 50131 Master’s thesis (Pro gradu), 40 cr 50039 Maturity test

Data management

1. Major subject studies

584324 ADVANCED MODULE

Compulsory courses of the sub-programme, 10 cr 582448 Data mining methods, 6 cr 582482 Database design, 4 cr Optional courses according to sub-programme, 16 cr Some suitable optional courses are: 582444 Special course in data mining, 4-6 cr 581257 Information retrieval methods, 4-6 cr 582490 Transaction processing, 4 cr 582491 Distributed databases, 4 cr The webpage of the sub-programme lists other suitable courses. Seminars, 6 cr Elective advanced courses in computer science (other than seminars), 8 cr 50131 Master’s thesis (Pro gradu), 40 cr 50039 Maturity test

13

Intelligent systems

1. Major subject studies

584325 ADVANCED MODULE

Compulsory courses of the sub-programme, 8 cr 58066 Artificial intelligence, 8 cr Optional courses according to sub-programme, 18 cr Some suitable optional courses are: 581287 Three concepts: probability, 6 cr 581286 Three concepts: information, 6 cr 581339 Three concepts: utility, 6 cr 582439 Graphical models, 6 cr The webpage of the sub-programme lists other suitable courses. Seminars, 6 cr Elective advanced courses in computer science (other than seminars), 8 cr 50131 Master’s thesis (Pro gradu), 40 cr 50039 Maturity test

Data Communications Software

1. Major subject studies INTERMEDIATE STUDIES IN COMPUTER SCIENCE 58127 Programming in C, 4 cr (unless included in previous degree) 584328 ADVANCED STUDIES IN COMPUTER SCIENCE (DATA COMMUNICATIONS SOFTWARE) (at least 80 cr) Compulsory courses for specialization area, 18 cr 582497 Operating systems, 8 cr 582498 Internet protocols, 4 cr 582607 Protocol software engineering, 6 cr Seminars, 6 cr Elective courses in the specialization area as arranged in the personal study plan, 16 cr 50131 Master's thesis (Pro gradu), 40 cr 50041 Maturity test

2. Minor subject studies Studies in mathematics or method sciences, c. 30 cr as in minor subject requirements in the BSc degree (unless included in the previous degree). These will be agreed upon in the personal study plan (FM-HOPS).

3. Other studies 582510 Personal study plan (FM-HOPS), 1 cr 584403 Advanced internship or vocational orientation studies, at least 2 cr 582511 Advanced work experience in IT field (2–6 cr) OR 581387 Information technology: Now! (3 cr) or other suitable course

14

Optional studies to fulfil the volume of the degree (120 cr). These studies may include a full minor subject, or separate courses in the major subject, or various minor subjects.

LICENTIATE OF PHILOSOPHY

1. 60 cr of the major and minor subject studies as agreed on in the post-graduate's study plan.

Minor studies must consist of studies at intermediate or higher level in a discipline supporting the subject and research of the thesis. 2. Licentiate Thesis.

DOCTOR OF PHILOSOPHY

1. A Licentiate degree in computer science, or the same major and minor subject studies as in point 1 of the requirements for licentiates.

2. A PhD thesis. If computer science was not the major subject of the postgraduate's Master’s degree, he or she may have to take more credits in computer science, which means the total amount of credits may exceed 60.

Computer science as a minor subject

584112 BASIC MODULE (MINOR SUBJECT) (25 CR)

582102 Introduction to computer science, 4 cr 581325 Introduction to programming, 5 cr 582101 Software engineering methods, 4 cr One of the following alternatives 581326 Programming in Java, 4 cr (or another corresponding programming course) 58160 Programming project, 4 cr or 581328 Introduction to databases, 4 cr 582203 Database application, 4 cr Optional courses from the basic and intermediate module in computer science, 4 cr

584212 BASIC AND INTERMEDIATE STUDIES (MINOR SUBJECT) (60 CR)

584111 Basic major subject module in computer science, 25 points Compulsory courses for computer science basic and intermediate module, 12 cr Optional courses from computer science basic and intermediate module, 23 cr Minor students may not include the software engineering project or Bachelor’s thesis in their minor-subject module.

584327 ADVANCED STUDIES (MINOR SUBJECT) (60 CR)

15

The advanced module in computer science should be completed in accordance with the requirements of one of the sub-programmes, and the contents agreed on with the professor in charge of the sub-programme. In general, they conform to the following structure: Advanced courses in computer science, 37 cr Seminars, 3 cr 582499 Minor subject thesis in computer science, 20 cr

General instructions and rules Studies in computer science are mostly based on participation in lectures and exercises, and not so much on learning by reading. Generally, a course will consist of lectures and exercises in different forms, and assignments are often included. Attending the lectures will show the student where to find the relevant information in the written material. During lab work, the student will learn how to apply the information, either individually or in a group. The teaching methods are being developed into a more learner-centred approach, and how courses are realised is varied a great deal. Just following lectures will not lead to good results; the individual work of students is pivotal. A course that yields 4 credits, for example, requires a minimum of about 100 hours of work. The basic rule for planning your studies is that you should schedule some 2 hours of independent work per every classroom or exercise hour. The number of lectures and other contact teaching per course (and credit) varies; If there are uncommonly few teaching hours in relation to the number of credits a course yields, the portion of independent work is even larger than described above. You should not pack your schedule with all the lectures you can fit into it, but leave sufficient time to complete other tasks and reading that are required for the course. Many of the courses emphasise teamwork and learning together. Each exercise group will be split into smaller study circles that solve problems according to a given schedule. The study circles will meet regularly to discuss principles for solving the exercises and to present solutions. Some other new teaching methods include courses that are strongly based on web material to be used independently and the virtual courses on video arranged in co-operation with other universities (the national virtual university project OSCu). Working during terms usually slows down studies, and in some cases students never graduate. Especially, the Master's thesis demands full-time concentration of the student, and working on something else during thesis writing is not recommended. On the other hand, summer training (during summer vacation) is recommended for learning practical skills in the IT field. It is important to take your courses in the correct order, so that you have a good command of the prerequisites for each course before starting on it. Please see the chapters on course interdependencies and the study schedule for more information.

Lecture courses and separate exams

16

A course usually comprises 4-10 credits (cr) (2-5 old credit units (cu), “study weeks”). Short courses take one period, longer ones continue into the next period. Each period consists of six weeks of teaching, followed by an exam week. There are two ways to complete a course: by taking a lecture course or a separate exam. Both require pre-registration according to deadlines and instructions listed on the web pages. When registering for a course, you are usually required to register for an exercise group, i.e. you register for a course by registering for the exercise group. A lecture course usually consists of lectures and one or two course exams. Each course exam lasts 2.5 hours. There may also be some compulsory or optional exercise sessions, lab work or study circles, which may yield points that affect the final grade. How to complete a course and the schedule for intermediate work will be announced at the beginning of each course, at the latest. Deadlines must be met. For most lecture courses it is possible to attend a separate or resit exam. If a course is mainly completed through exercises done during the course, project work etc, it may not be possible to take a separate exam or even to resit an exam. Separate exams are formally independent of lecture courses, and the requirements are based on the material in the course description. Separate exams last 3.5 hours, and their requirements are usually those of the last lecture course to have been offered. For separate exams, participation in the lecture course is not usually required. However, for courses where the exercises or lab work is considered a very important part of the course, it is not possible to take a separate exam, but only a resit exam, where the same course components are required as in the original course exam. The schedule for exams is on the web page http://cs.helsinki.fi/kokeet/. For most students, the exam based on the lecture course is more suitable than taking a separate exam. Usually, even the most thorough independent exercises cannot substitute for the teaching and exercise problems given at a lecture course. Please see course descriptions on the page http://www.cs.helsinki.fi/opiskelu/index.en.html for how to complete a course. Students can attend lecture courses, i.e. by registering for an exercise group on the basic and intermediate level (Cum laude approbatur in the old degree system) at the Department of Computer Science, no more than twice. A registration that has not been cancelled before the course deadline, usually by the end of the first exercise week, is counted as an attempt. The course lecturer may give a third chance, based on a well reasoned petition. Attempts from before Autumn 2002 are not counted when applying this rule. There are no restrictions on taking separate exams. When planning the order in which to take each course, you must also take into account the prerequisites for each course, in addition to its requirements. Registering for and participating in a separate exam without proper preparation and lacking all the required pre-knowledge is usually fruitless and does not make for sensible planning. The aim of this rule is not to make life difficult for students, but to enable a reasonable planning of studies. This will also free the department’s teaching resources to be used where they are most needed, e.g. for extra exercise groups.

17

Most courses are graded on the basis of points awarded for different factors that vary according to the course. The grading scale for all courses has six steps (0-5). To gain the lowest passing grade 1/5, the student usually needs c. half of the maximum points, and to gain the highest possible grade 5/5, about 5/6 of the maximum points. The courses described in English in the Finnish teaching programme will be lectured in English. Some other courses may be lectured in English, as well, if there are foreign students wanting to participate. Please see Computer Science Courses in English for more information.

Laboratory work There are three independent exercise courses included in the requirements for the Bachelor’s degree. They are called laboratory work (to distinguish between them and the often smaller assignments included in some lecture courses). In laboratory work, students can enhance and apply the knowledge and skills acquired during lecture courses by design and implementation assignments. The work is divided into individual lab courses. Attending lab work requires that the student has completed the corresponding course (or separate exam) before starting the lab course. It is recommended that the lab work be started immediately after completing the required courses. There are three laboratory courses: the Programming project (prerequisite courses are Methods for Software Engineering and Programming in Java), the Database application project (prerequisite courses Introduction to Programming, Methods for Software Engineering, Introduction to databases, and preferably User interfaces), and the Data structures project (prerequisites Programming project and Data structures). Each lab course lasts about 6 weeks, and there are new teams for each period. The course may also be completed during the summer. There will be a joint initial lecture for all the teams of each period in the Programming and Database application projects. At the same time, this is when the teams start working together. The Data structures project starts without a joint initial meeting; the teams meet separately. The work must be completed during the course, which means that at least 15 hours per week should be scheduled for the lab work. If the work is not finished on time, the project will be considered interrupted. Students who have interrupted their lab work can only retake the course by way of the interrupters’ queue. This means that interrupting lab work may seriously slow down your studies. Registration for the lab courses is binding. However, if it is more than 48 hours until the start of the course, registrations may be cancelled. It is compulsory to attend the initial lecture (for the Data Structures Project, the team’s initial meeting). If a student who has registered for the course is not present at the first lecture (initial meeting) and has not contacted the person in charge of the project (for the data structures project, the instructor of the group), the student loses his/her place. Later he or she may register only by way of the waiting list. Any free places on each course are filled from the waiting list during the initial meeting. When the places are filled, new students take precedence over students who have interrupted the course.

18

Each lab course has its own rules and regulations, which can be seen on the course homepage.

Bachelor’s thesis (Scientific writing) In the course Scientific Writing, students focus on information retrieval and on using scientific source material, as well as written and oral presentations of scientific renderings. The course exercises lead up to the final paper, the thesis (6 cr) completing the Bachelor's degree. Students working according to the new degree requirements will also take the course First-language communication (Äidinkielinen viestintä, 3 cr), the ICT course Research data retrieval (1 cr) and the maturity test as parts of this course. The skills and methods taught at this course will also be useful for writing your Master's thesis (pro gradu); at that stage, there will not be any teaching in writing skills. The course is aimed at computer science majors and students completing the minor subject Laudatur according to the old degree requirements. Students may register for this course when they have completed the compulsory basic and intermediate module lecture courses and laboratory work, except Software engineering and the Software engineering project. It is not recommended to take this course in the same term as the Software engineering project. The topics of the essays and surveys of the course correspond to the sub-programmes and research areas at the department. Researchers and teachers of the sub-programmes supervise the assignments. When registering, the students may choose the subject they are interested in. The maturity test required for the Bachelor's degree is completed during this course. In accordance with the new degree system, a second maturity test will be taken for the Master’s degree, in connection with the Master’s thesis. The course exercises should be written in the same language as the mother language test in the matriculation exam (Finnish students). The course Scientific writing is given each term. It requires pre-registration during the preceding term (for the autumn in May, and for the spring in November, see “Important dates”). Groups are arranged according to need.

Seminars In the new degree requirements, 2 seminars (6 cr) are included in the Master’s degree, while in the old one, either 1 or 2 seminars (2-4 cu) were included depending on sub-programme. A seminar is usually based on presentations and discussions. Each student is required to prepare a report on a given topic, give an oral presentation and actively participate in discussions and other work. Seminars are evaluated on the presentation, on a written report and other participation. Seminars usually meet once a week for a whole semester (two periods). Seminars that follow a different schedule have the same amount of work. Students are required to be present during at least 3/4 of the regular weekly meetings. Those following the old degree requirements have to complete the course Scientific writing before the start of a seminar, those following the new ones have to have completed the whole Bachelor’s degree. Usually only a limited number of students (11-13) may

19

attend a seminar. If more students want to attend, the teacher selects the participants. Note: Students register for the Autumn seminars during the previous Spring and the Spring seminars during the previous Autumn. The seminars described in English in the Finnish teaching programme will be held in English. Some other seminars may be held in English, as well, if there are foreign students wanting to participate. Please see Computer Science Courses in English for more information.

Master's thesis (Pro gradu) The Master's thesis (called the Pro gradu in Finland) is the final thesis done independently by the students for their MSc degree. In the new degree system, the extent of the thesis is 40 credits. The Bachelor’s degree and most of the advanced module must be finished before starting on the Master’s thesis. According to the old degree system, the extent of the Master’s thesis is 16 cu (in the teacher sub-programme, it is 10 cu), and students can start working on it when they have completed the Cum laude module and most of the Laudatur module courses. The thesis usually requires at least one semester of concentrated work. Because of the varying nature of the work, it is hard to estimate how long it will take. Students may apply to the department for a Pro gradu grant to support themselves while working on the thesis. The Master's thesis is usually written on a subject from the same sub-programme as the compulsory advanced-module courses. The subject of the thesis must always be agreed upon with the professor in charge of the sub-programme. For theses that cover many different sub-programmes, the thesis-writer may be required to complete some courses from other sub-programmes before starting to write his or her thesis. The work is divided into two phases; initiation into the subject field and independent research. During the initiation the research plan is formulated. When the research plan has been approved, this phase is considered complete. There are more instructions on how to write the research plan and on the contents of the thesis in Finnish on the page http://www.cs.helsinki.fi/opiskelu/graduohjeet/ (English translation forthcoming). To find a suitable thesis topic, you may also want to acquaint yourself with the department's research groups and their work in the chapter ‘Planning your studies - Sub-programmes’ or on the page http://www.cs.helsinki.fi/research/. Any questions you may still have about embarking on your thesis work may be answered at the event on getting started with your Master's thesis, which is held at the beginning of each period. You will find the dates and times in the chapter “Important deadlines”. The seminars often support the thesis work, in some cases, seminars are planned specifically for students at the thesis stadium of some sub-programme, and they can discuss the theme of their theses in their seminar work. The maturity test required for the Master’s degree according to the new degree system should be taken as a separate exam when the Master’s thesis has been submitted for evaluation.

20

Personal study plan (HOPS), teacher tutoring, ETAPPI-tutoring The aim of teacher tutoring is to help organise your studies and to promote the interaction between students and the department. Teacher tutoring is a compulsory part of the degree requirements for students majoring in computer science. Students are divided into groups of some 15 members, and each group will meet a few times each term for seminars and workshops. In the tutor group, students are given counselling and an individual study plan is made and followed up during the coming years. In addition, the tutor regularly meets students individually. With the new degree system, the personal study plan (HOPS) takes on a more important role than before. At the beginning of their first autumn, new students register for the programme that includes a personal study plan and teacher tutoring and continues during the whole Bachelor’s programme. Students who enter university in the spring must contact the HOPS contact person at the beginning of the term. Students in the Master’s programme attend a similar programme during their Master’s studies. Separate tutoring groups will no longer be arranged for students following the old degree requirements. They must immediately register for the HOPS module at the beginning of the autumn term. The successful progress of students is also supported by the ETAPPI system that includes three check-points during the BSc programme and two check-points during the MSc programme. The first check-point occurs in the first spring and the others towards the end of the programme. From the start, students must take into account that students whose progress is found to be delayed at later check-points cannot continue in the programme without drawing up a new study plan for approval. Please see the degree programmes and faculty’s instructions for more details.

Registering study modules, grades Individual course credits are registered automatically, but to have study modules (in the new degree system: basic, intermediate, advanced and post-graduate modules; in the old system: Approbatur, Cum laude approbatur, Laudatur and graduate) registered, students must fill in a separate application. To have their completed modules registered, students should hand in a copy of the registration records maintained by the university (a transcript) and an application form with a list of the courses that they want to include in the module. The page http://www.cs.helsinki.fi/opiskelu/ohjeet/merkinnat.html contains a list of persons who sign for study modules as well as forms for making the list and detailed instructions. The study modules for minor subjects (except the method science module and the 25-credit module based on separate studies elsewhere) are registered at the departments of the minor subject according to their own practices. In addition to the major and minor subject modules required for the Bachelor's or Master's degree, there are some other courses that have to be completed in accordance with the degree requirements. All studies that are not ordered under major subject or minor subject modules are combined into the module ‘Bachelor’s degree other studies. The major and

21

minor subject modules must be registered before applying to register the other studies. For the Master’s degree, other courses (‘Other major-subject studies’ and ‘Other studies’ separately) are usually registered at the same time as the advanced module. At this stage, too, any minor subject modules should be registered before this. The faculty issues diplomas; please see the start of the faculty study guide or the web page sof the Faculty of science. According to the new degree system, the general rule is that you can include courses and study modules that are seven years old or less. The person who registers the module can approve older grades if there are extenuating circumstances. The grade (1, 2, 3, 4 or 5) for each study module is computed from the average of the course grades that are included in the module, weighted by the number of credits. However, the weight of the Master’s thesis or minor subject thesis when computing the grade of the advanced module is 15 credits. The average is rounded off to the nearest integer; e.g. the average 1.5 will yield the grade 2/5, anything lower 1/5 etc. The grades for modules according to older systems will be computed according to their rules (see old study guides or web pages) and converted to the scale 1-5. If a final grade for a module completed before 1 August 2005 (date of completion, the registration date has no relevance) turns out different when computed from the original course grades than when computed from the converted grades, the higher grade is registered. Module grades that have been registered before 1 August 2005 have been transformed to the new scale automatically, regardless of the fact that the grade computed on the basis of original course grades may have been better than the overall registered grade. Students can apply for a redress on the grade from the Head of Studies (A and CL modules) or the professor in charge of a sub-programme (L module), though only as long as the module has not been incorporated into the degree diploma. The grades for the Master’s thesis and the minor subject thesis are converted to numerical grades as follows: l (5), ecl (5), mcl (4), cl (3), nsla (3), lub (2), a (2).

The agreement on flexible study rights (JOO) The JOO agreement that covers all Finnish universities gives students the right to study subjects not offered at their home universities at other universities. Based on the JOO agreement, you can take courses or more extensive minor subject modules that are to be included in your degree at other universities. The JOO studies should be chosen so that they support the sub-programme of the Master’s programme. The sub-programme is typically chosen at the end of the Bachelor’s programme. To study at another university according to the JOO agreement, please contact that university for more information on how to apply. Some universities use an electronic application system, others use the traditional paper forms. The department’s Head of Studies will give the recommendation required in the application. When applying for a recommendation, students have to present a study plan, and the application has to be handed in well in advance before the target university’s deadline. There is more

22

information on the JOO agreement in the printed study guide and on the web page http://www.cs.helsinki.fi/opiskelu/ohjeet/joo.en.html.

Credits from other institutions Based on studies elsewhere (e.g., other universities, in an exchange programme), students may be exempted from some courses with similar contents. In addition, credits taken elsewhere may be accepted instead of optional courses and minor subject studies. More instructions are available on the web page http://www.cs.helsinki.fi/opiskelu/ohjeet/hyvlukohje.html (in Finnish) and from the foreign student advisor at [email protected]. Application forms are available at http://www.helsinki.fi/ml/lomakkeet/index.shtml. The Head of Studies makes the decision on integrating credits from other institutions.

IT work experience as part of the degree According to the old degree systems, students with work experience in the field of information technology may be exempted from the software engineering project or be credited with 2-4 cu, which may be included in the Cum Laude Approbatur or the Laudatur module. According to the new degree system, work experience can be accepted either as the so-called vocational studies, which are included in both the Bachelor’s degree (2 cr) and the Master’s degree (2-6 cr) or instead of the software engineering project (9 cr; as well as vocational studies for both degrees, 1-2 cr). Please see the page http://www.cs.helsinki.fi/opiskelu/tyokokemus/ for more information (in Finnish). Applications are approved by the department’s Head of Studies.

International student exchange and work experience There are different possibilities for foreign exchange studies and internships through agreements on many levels between departments, universities and countries. The main exchange programme is the Erasmus agreement with some universities in EU countries. The university has a number of other exchange agreements with other countries, outside Europe as well. A student exchange or internship position depends mainly on the student's own initiative and long-term planning. The period of exchange varies between a few months and one full academic year. Application deadlines vary according to university and/or exchange programme, and usually occur 6-15 months before the start of the exchange period. Thus, a student who is interested in an exchange position should activate him- or herself from the beginning of the previous autumn term. Full credit is usually given for studies completed abroad. This is ensured by the study plan that is made before the exchange period. In practice, credits for studies abroad are given after the exchange period, by the same method as any credits from other institutions. International work experience may yield credits in the same way and by the same application method as any work experience in the IT field. The person in charge of agreements and study plans for international exchange programmes and internships is the department’s Head of Studies. Please see the general part of the study guide and the page http://www.cs.helsinki.fi/instr.engl/vaihto/ for more information on international exchange programmes.

Computer science as minor subject

23

Rights of admission

All university students have the right to study computer science at the basic level (25 cr) and the intermediate level (30 cr at the most), or the computer science courses in the method sciences minor subject module (55 cr at the most). Larger study modules are available on application, please see http://www.cs.helsinki.fi/opiskelu/sivuaineoikeus.html. Applications are approved by the department’s Head of Studies. Students can apply for admission to the intermediate level when they have completed the basic module in both computer science and their major subject. Students can apply for admission to the advanced level when they have completed the intermediate module in both computer science and their major subject. For admission based on applications, a grade level of at least 3/5 in computer science courses is generally required. In order to attend advanced level courses, the student should have at least the right to study on the intermediate level. Students in the physical sciences, geology, chemistry or mathematics educational programmes can transfer to computer science by applying for a transfer from the Faculty of Science. Please contact the department or faculty student counsellors for more information on how to change majors.

Studying

The courses in the basic module and some intermediate courses (projects, software engineering project, Scientific writing) are given each semester. Which semester’s course is intended for major-subject students is noted in the teaching programme. The department may have to limit the number of minor subject students who attend these courses. Minoring students should plan their studies so that they start at the beginning of spring term (period III). In this way, students can complete the basic module in two semesters (spring, the following autumn). For the computer science courses in the method sciences minor subject module, there are separate rules in the study guide, p. 123. Minor subject students have to take into account the prerequisites just like majoring students. The prerequisites are listed in the teaching programme and on the course web pages, as well as in the time-plan for majoring students. How minoring students can transfer from the old degree systems to the new one is described on the page http://www.cs.helsinki.fi/tutkinnonuudistus (in Finnish).

Planning your studies In the new degree system, the Bachelor’s degree (BSc) and the Master’s degree (MSc) are completely separate, i.e. the modules in the Bachelor’s degree are not usually part of the Master’s degree as they have been so far. You may include extra courses in the Bachelor’s degree, but that does not cut back on the requirements for the Master’s degree (except during the transition period, when the extra courses from an old Bachelor’s degree may partially be included in the Master’s degree). The rules and practices for transferring from

24

the old system to the new one are explained at the end of the chapter ‘Planning your studies’ (‘Transferring from an old degree system to a new one’). According to the new degree system, the Bachelor’s degree includes compulsory minor subject studies, but for the Master’s degree this is true only for two sub-programmes (Algorithms, Data Communications Software) and the separate Master’s programmes. Minor subjects are discussed further below, in connection with the Bachelor’s degree.

Studies for the Bachelor’s degree (BSc)

1. Major subject studies

The major-subject studies include the basic module (25 cr) and the intermediate module (65 cr). There is no fixed intermediate module, only the (combined) basic and intermediate module (at least 90 credits). The intermediate module includes 8 cr of optional courses, otherwise the requirements are the same for everyone. The courses cover all the main areas of computer science, and in addition to lecture courses comprise three projects (Programming project, Data structures project, Database application) and the extensive Software engineering project. In addition, the intermediate module includes the Bachelor’s thesis and the maturity test, which are completed as part of the course Scientific writing. The compulsory courses in the basic and intermediate module should be completed in the order listed in the section ‘BSc study schedule’. Students do not have to follow the schedule exactly, but do have to keep in mind the interdependencies shown in the schedule. The course descriptions will give more detail about prerequisites, including for optional intermediate courses and advanced courses. When planning your optional courses, please consider that three of the MSc sub-programmes require some intermediate courses: in algorithms, the course Design of algorithms (4 cr) and Complexity of computation (4 cr); and in concurrent systems and data communications as well as Data Communications Software, the course Programming in C (4 cr). If you complete these courses as part of your BSc degree, you can take other optional courses instead of them for your MSc degree. When planning optional courses for the basic and intermediate module, students are in general recommended to consider their sub-programme in the Master’s programme, if they have chosen one. On the other hand, it may be useful to enhance your scope by completing courses for another sub-programme.

2. Minor subject studies

Minor subjects are formed by study modules, not individual courses. The first minor subject should be the mathematics or the method sciences module, with a minimum of an extended basic studies module (30 cr). Students can choose their second minor subject and possible extra minors freely. If students take the extended basic study module of 50 credits or the basic and intermediate module of 60 credits in their first minor subject, a second minor subject is not necessary. The basic modules of method sciences consist of mathematics and statistics courses; students should have at least the minimum amount of credits required for each subject in the degree requirements (at least 10 cr of each subject for the 30-credit module, and at least 20 cr of each for the 50- or 60-credit module). The approved courses are detailed in the presentation of method sciences. The course Introduction to Discrete mathematics (5 cr) is compulsory in all combinations, as it pays special attention to clarifying basic mathematical concepts.

25

Students should start their studies in mathematics or method sciences during their first year and complete them during their first two years, even if they are taking the extended module. They should also take the first courses in mathematics, especially the course Introduction to Discrete Mathematics, during their first autumn term, or their studies will be seriously delayed. Discrete mathematics skills are vital for the course Data structures, which students should take in their first spring term. Mathematic skills are also necessary for some other BSc courses as well as for most MSc sub-programmes. In addition, understanding relevant computer science literature for e.g. research purposes usually requires a basic knowledge of mathematics. For the MSc degree, students have to take the basic and intermediate module (60 cr) of mathematics and statistics for the algorithms sub-programme, and circa 30 credits for the Data Communications Software sub-programme as agreed on in their personal study plan (HOPS). Students aiming for these MSc sub-programmes may benefit from taking mathematics or statistics as their extended minor subjects at the BSc stage. When choosing minor subjects and optional courses, students should try to combine them with the major subject to make the contents of the degree an integrated whole. For the success of their advanced module, it is to be recommended that computer science students take more than the minimum of mathematics or method sciences as minor subject. Mathematical exact thinking and decision making is also important when solving problems, be they ever so practical. Consequently, the most important courses in mathematics are general courses such as Linear Algebra I and courses in analysis, which also form a basis for other courses in mathematics. The choice of suitable courses partially depends on which MSc sub-programme students are going to enter. The course Logic I also provides a set of norms for defining programming languages and other systems, and it also provides necessary basic information in the study of databases and artificial intelligence. Probability calculus (e.g. the course Introduction to Probability) is necessary when considering system performance in data communications or distributed systems. The course also provides a basic theory for intelligent and adaptive systems as well for analysis and design of algorithms. For some sub-programmes, statistics (on its own or as part of the method science module) is considered a very suitable minor subject ; please see the descriptions of each sub-programme. There are recommendations on suitable minor subjects to combine with each sub-programme on the web pages of the sub-programmes. Students may take minor modules in other faculties or even at other universities. Students should note that many departments require the students to fill in applications or take a proficiency test to gain admission to study the subject. Please find this information yourself; the application or proficiency test is often arranged only once a year. Some examples of minor subjects available at the University of Helsinki: at the Faculty of Science (in addition to the mathematics and method sciences modules) physics, theoretical physics, geography.

26

at the Faculty of Biosciences biology (many so-called joint minor subject modules), genetic bioinformatics, genetics, general microbiology, biochemistry; at the Faculty of Social Sciences (in addition to statistics) economics, social psychology, philosophy, communications, the management minor module; at the Faculty of Arts theoretical philosophy, general linguistics, language technology (see the description of the language technology network below); at the Faculty of Behavioural Sciences cognitive science, education, adult education, psychology. Studies at other universities are possible through the agreement on flexible study opportunities (JOO). The most popular minor subjects have been industrial engineering and management (Helsinki University of Technology), economics and business (Helsinki School of Economics), and some art subjects (University of Art and Design), as well as the joint programme between HSE and HUT, software business management. Please check the programme books of the universities mentioned for more information about courses and application procedures, and how to integrate your credits from other universities on the web page http://www.cs.helsinki.fi/instr.engl/fsa/recognition-of-credits.html. The department may approve (register) a minor subject module of 25 credits based on separate courses taken at other universities, if their contents form a comprehensive whole. Any more limited or more extensive studies that do not form a study module according to the specifications of the department where they have been completed can be ordered under optional studies in the degree. New students are no longer admitted to the software business programme arranged in co-operation with HSE and HUT. A similar module can possibly be taken in future through the JOO agreement, by choosing suitable courses from HSE and HUT. In such cases, a minor-subject module of 25 credits is constituted at the department.

3. Other studies

The language studies comprise three parts. First-language communication (3 cr) is taken as part of the course Scientific writing. The courses in the other domestic language (3 cr) and foreign language (4 cr) are arranged by the Language Centre. The structure and arrangements for these courses are described at the beginning of the printed study guide. Language credits should be completed as soon as possible. Information and communication technology studies consist of two courses. Introduction to the use of computers (4 cr) should be taken immediately at the beginning of your first year. It teaches the use of different utility programs in connection with the university’s ICT driving licence, and the skills to use the department’s own computer environment efficiently. The course Research information retrieval (1 cr) is part of the course Scientific writing.

27

The personal study plan (LuK-HOPS) and participation in teacher tutoring (2 cr) are compulsory parts of the degree, and they start at the beginning of the first year and last throughout the Bachelor’s programme. They are registered in the last stages of finishing the BSc thesis and courses, on the basis of active participation and completion of assignments. Internship or vocational orientation (1-3 cr) is to be completed in connection with the software engineering project (as 1 cr). In addition, professional work experience in the IT field can yield a further 2 credits based on an application. Please see instructions on page http://www.cs.helsinki.fi/instr.engl/fsa/workexp.html. Optional studies can consist of extra computer science courses (which will be included in the basic or intermediate module) or other subjects. Any credits that do not combine into a module can be registered as optional studies. Optional studies useful in the IT field can be found, among others, in the fields of economics, administration, education, behavioural sciences, physical sciences and other natural sciences (see above, the section Other minor subjects). Students should choose among these subjects so that the studies support major and other minor subjects, to form a meaningful whole.

Studies for the Master’s degree (MSc) The Master’s degree mainly consists of major subject studies (80 cr). It includes a minimum of other compulsory courses (3 cr), and there are two sub-programmes that have special minor subject requirements. The degree consists of a minimum 120 credits, which may include up to 37 credits of optional courses (depending on the sub-programme and partially on the contents of the BSc degree).

1. Major subject studies

In addition to the advanced module, three of the sub-programmes include 1-2 courses from the intermediate level. If students have taken these courses for their BSc degree, they can substitute them with any optional courses (computer science or other). The advanced module consists of advanced courses according to sub-programme, two seminars (totalling 6 cr) and optional advanced level courses. The Master’s thesis (40 cr) and the maturity test are further requirements for the degree.

2. Minor subject studies

The basic and intermediate module in mathematics or method sciences (60 cr) is required for the MSc sub-programme on algorithms. As for the Data Communications Software sub-programme, around 30 credits of mathematics or method sciences are required as agreed on in the personal study plan (FM-HOPS). Some or all required minor subject courses can be taken as part of the BSc degree, in which case students can choose freely the substitute courses. Students can take extra minor subjects as part of their MSc degree. Some suitable minor subjects are listed above in connection with the BSc degree and on the web pages of the sub-programmes.

28

3. Other studies

The personal study plan (FM-HOPS) (1 cr) is made under the tutorage of a tutor dedicated from the beginning of the Masters programme. The advanced internship or work-orientation can be completed with the course Information Technology: Now! (or other suitable course) or by working in a demanding professional position in the IT field. Students can apply for credits for work experience according to the detailed instructions on the webpage http://www.cs.helsinki.fi/instr.engl/fsa/workexp.html. The optional study module can consist of extra computer science courses or courses from other disciplines. Course credits that do not make up a whole study module are registered as elective studies, but extra credits in computer science are registered as ‘Other major-subject studies.’ For selecting other courses that fit into the degree, please see the section ‘Other studies’ in the chapter on the BSc degree.

Sub-programmes In the new degree system, there are six sub-programmes in the Master’s programme for computer science; Algorithms Distributed Systems and Data Communication Software Engineering Data management Intelligent Systems Data Communications Software The five first sub-programmes are analogous to the computer science specialisation areas in the old degree system (information systems is replaced by data management). Data communications software is a sub-programme given in English. Computer science students can apply for it through a separate application process. The bioinformatics and computational biology sub-programme is the same as the old sub-programme of that name, and they have both been replaced by the MSc programme in bioinformatics (MBI) with its own separate application process. Students who have entered the university before 1 August 2006 can still complete their Master's degree in the sub-programme or specialisation area of bioinformatics and computational biology. The other specialisation areas (applied computer science, teacher, and computer mathematician) from the old degree system will be available for the transition period, i.e. until 31 July 2008. Students who are aiming at an MSc degree in one of these specialisation areas and have not completed their degree by this date should transfer into the new degree system in accordance with the requirements for one of the new sub-programmes. Since the requirements of the old sub-programmes differ a great deal from the new sub-programmes, students who are still planning their MSc programme may no longer select the sub-programmes of applied computer science or computer mathematician except in very rare cases. The last application for the sub-programme ‘teacher in computer science’ was in spring 2006.

29

Algorithms The sub-programme focuses on the theoretical basis of computer science, especially algorithm research, as well as computer science theory in general. The sub-programme is not all theory, but it is essential to study the interaction between theory and practice and experimental algorithm techniques in different application fields (such as computer graphics, programme analysis, signal processing, machine learning, computational biology and bioinformatics). Graduates become technical experts or researchers. This sub-programme should be started by taking the courses Design of algorithms and Complexity of computation. Mathematical skills and thinking is vital in this sub-programme. The minor subject module includes the basic and intermediate module in mathematics or method sciences (according to the old degree system, the Cum laude approbatur was recommended, or an Approbatur with significantly extended mathematics). Other subjects that are suitable as minor subjects are applied physics, theoretical physics, statistics, language technology and cognitive science, as well as studies at HUT based on the JOO agreement. The research fields of this sub-programme include - Algorithms (Esko Ukkonen, Juha Kärkkäinen) - String processing methods (Esko Ukkonen, Juha Kärkkäinen, Veli Mäkinen) - Machine learning (Jyrki Kivinen, Juho Rousu, Matti Kääriäinen) - Algorithms for computational biology (Esko Ukkonen, Juho Rousu, Marko Salmenkivi, Mikko Koivisto) - Information retrieval (Esko Ukkonen, Kjell Lemström, Matti Nykänen) - Graphics, mathematical computer science (Otto Nurmi, Heikki Lokki) Most of the research in this specialisation area is connected with the Centre of Excellence project From Data to Knowledge (FDK, , from the start of 2008 Algorithmic Data Analysis, Algodan, headed by Professor Esko Ukkonen). The Centre of Excellence is also active in the fields of data management, bioinformatics and computational biology. The goals, recommendations and requirements for this sub-programme are described in detail on the page http://www.cs.helsinki.fi/algoritmit/ (in Finnish). Professor in charge: Professor Jyrki Kivinen.

Distributed Systems and Data Communication This specialisation area focuses on distributed systems: systems with concurrently working independent parts and communication between these parts. Algorithms controlling communication are needed on several different levels: in application programs (network services, for example), in the basic services of a distributed infrastructure (mobile workstations, wireless data communications, concurrency between heterogeneous systems), and in computer hardware.

30

This sub-programme studies basic components of the systems and the structure, implementation, correctness and efficiency of communication protocols. The research methods are both constructive and formal. The goal of the compulsory courses at the advanced level is to give basic skills in the main focuses of the field. In addition to mathematics, method sciences like statistics (or the method science module) are recommended as minor subjects, which should support the chosen specialisation area. In addition, please keep in mind that the JOO agreement gives you interesting possibilities to enhance your specialisation. Students who have graduated from this specialisation area typically find positions as technical consultants, researchers and managers of development projects in the software and communications business. The research fields of the sub-programme are: - Mobile computing (Kimmo Raatikainen, Jussi Kangasharju, Markku Kojo, Jukka Manner, Sasu Tarkoma) - Open distributed systems (Lea Kutvonen) - Data security and trust (Timo Karvi, Lea Kutvonen) - Operating systems (Kimmo Raatikainen, Tiina Niklander) The goals, recommendations and requirements for this sub-programme are described in detail on the page http://www.cs.helsinki.fi/hajautetut/. (in Finnish). Professor in charge: Professor Kimmo Raatikainen.

Software Engineering The sub-programme focuses on the systematic development of large and complex software. Such development requires technical skills, but also group and project working, a strict quality production process, documentation and reuse. Graduates are typically placed as technical experts and managers of development projects in software companies. Therefore practical laboratory work is essential for this specialisation area. Because software developers are required to have versatile skills in many fields, students are recommended, besides minoring in mathematics or method sciences, to take courses (and modules) in other faculties or universities (through the JOO agreement). Some suitable minor subjects are cognitive science, statistics, industrial engineering and management (HUT), software business engineering (HUT, HSE), business administration (HSE) and various art subjects (University of Art and Design Helsinki). The research fields of the sub-programme are: - Object methods (Jukka Paakki, Harri Laine, Juha Vihavainen) - Software architectures (Jukka Paakki, Jukka Viljamaa) - Software testing (Jukka Paakki, Juha Taina) - Empirical software research (Inkeri Verkamo, Juha Gustafsson, Juha Taina, Jukka Viljamaa) - Programming languages and compilers (Jukka Paakki, Juha Vihavainen)

31

- CASE tools (Jukka Paakki, Inkeri Verkamo, Harri Laine) - User interfaces (Hannu Erkiö, Sari A. Laakso) Please see the page http://www.cs.Helsinki.FI/ohjelmistot of the sub-programme for more information on goals, recommendations and requirements. Professor in charge: Professor Juha Taina.

Data management This sub-programme studies database management, data mining, digital media and language technology. In all subfields, students will both exercise practical skills and study theoretical approaches. Graduates become experts in data management and software development as well as researchers. Students who choose this sub-programme are recommended to take the compulsory advanced courses Database design and Data mining methods at an early stage. In the minor subject mathematics or method sciences module, students are recommended to take courses in logics and discrete mathematics. These are especially required in database theory. Students specialising in data mining are recommended to include probability calculus and statistics in their minor subject studies. Other suitable minor subjects are computational linguistics, economics, theoretical philosophy, business sciences (Helsinki School of Economics and Business), industrial engineering and management (Helsinki University of Technology), cognitive science and communications. The research fields of the sub-programme are: - Data mining (Hannu Toivonen, Helena Ahonen-Myka, Heikki Mannila, Aristides Gionis, Pirjo Moen, Marko Salmenkivi, Antti Leino) - Digital media and language technology (Roman Yangbarber, Helena Ahonen-Myka, Greger Lindén, Miro Lehtonen) - Database management (Seppo Sippu, Satu Eloranta, Harri Laine, Otto Nurmi) The goals, recommendations and requirements for this sub-programme are described in detail on the page http://www.cs.helsinki.fi/tiedonhallinta/ (in Finnish). Professor in charge: Professor Seppo Sippu

Intelligent Systems Future information systems will increasingly contain adaptive and intelligent parts, and this sub-programme concentrates on computational methods for the design and research of such systems. This field comprises several different areas of computer science, such as artificial intelligence, computational intelligence, artificial life, heuristic optimization algorithms and intelligent information-retrieval methods. In order to develop intelligent systems, good technical skills, as well as skills to model and find new creative solutions, are necessary prerequisites. Graduates from this sub-programme are typically positioned either as researchers or technical personnel in software and data communication companies. Consequently, both the research education and "hands-on experience" play important roles in the studies of this specialisation area.

32

Developing intelligent systems is a multidisciplinary field and frequently requires basic mathematical skills as well as a wider grasp of the problem at hand. Because software developers are required to have versatile skills in many fields, students are recommended, besides mathematics, to take courses (and modules) in other faculties or universities (through the JOO agreement). Examples of suitable minor subjects are statistics, cognitive science, psychology, theoretical philosophy, theoretical physics and computational engineering (Helsinki University of Technology). Research in this specialisation area is pursued in the research group Complex Systems Computation Group (http://cosco.hiit.fi/) and the Neuroinformatics research group (http://www.cs.helsinki.fi/hiit_bru/index_neuro.html) in the following research areas. - Theory and application of Bayesian networks and other probabilistic models (Petri Myllymäki, Aapo Hyvärinen, Patrik Hoyer, Huizhen Yu, Tomi Silander) - Causal analysis (Patrik Hoyer, Tomi Silander) - Information-theoretical modelling (Jorma Rissanen, Petri Myllymäki, Teemu Roos, Tommi Mononen) - Visualisation of multi-dimensional data (Petri Myllymäki, Petri Kontkanen) - Multi-agent systems (Tei Laine, Jukka Perkiö) - Neuroinformatics (Aapo Hyvärinen) The goals, recommendations and requirements for this sub-programme are described in detail on the page http://www.cs.helsinki.fi/alykkaat/ (in Finnish). Professor in charge: Professor Petri Myllymäki.

Data Communications Software The production of software for data communications is very extensive, and the industry needs a large workforce, both in Finland and abroad. The aim of this sub-programme, given in English, is to school experts in designing and implementing software for the different parts of the data-communication network (hosts, servers, routers etc), as well as project managers in these fields. The goals, recommendations and requirements for this sub-programme are described in detail on the page http://www.cs.helsinki.fi/dcs/ (in Finnish). Students are accepted to the sub-programme by separate application. Professor in charge: Professor Kimmo Raatikainen.

Bioinformatics and computational biology (old degree requirements only) Only students who have entered this sub-programme before 1 August 2006 may complete the degree. This sub-programme is replaced by the MSc programme in bioinformatics (MBI) with its own annual application process. The application for academic year 2008-2009 will be arranged in spring 2008 (previously 2007). For a description of the subject MSc programme, please see the study guide. The instructions for the sub-programme are available in the study guide for year 2005-2006 and on the web page http://www.cs.helsinki.fi/bioinformatiikka/.

33

Professor in charge: Professor Juho Rousu

Teacher sub-programme (old degree system) It is possible to study according to the teacher sub-programme until 31 July 2008 only. The instructions for this sub-programme are available at http://www.cs.helsinki.fi/opettaja/. The last application for the sub-programme ‘teacher in computer science’ was in spring 2006. Professor in charge: Professor Jaakko Kurhila

Applied computer science (old degree system) It is possible to study according to the applied computer science sub-programme until 31 July 2008 only. The deadline for having your study plan approved was in autumn 2006. The instructions for this sub-programme are available at http://www.cs.helsinki.fi/sovellettu/. Professor in charge: Professor Juho Rousu

Computer mathematician sub-programme (old degree system) It is possible to study according to the computer mathematician sub-programme until 31 July 2008 only. The deadline for having your study plan approved was in autumn 2006. The instructions for this sub-programme are available at http://www.cs.helsinki.fi/matemaatikko/. Professor in charge: Professor Juho Rousu

Language technology network The terms human language technology and natural language processing mean using information technology for linguistic applications and processing natural languages. Some application fields are the use of spoken language for computer user interfaces, computer-aided language education, writing accessories (spell-checkers, grammar checking, etc), data mining and document management, automatic translation, speech recognition and production, interactive network applications, and electronic dictionaries. The Computer Science Department is a member of the nation-wide language technology education (Kieliteknologian opetus, KIT) network. This network enables extensive and multidiscipline language technology studies in several universities. In addition to the Department of Computer Science, the departments of Linguistics, Cognitive Sciences, Speech Sciences and Translation Studies participate in the network from the University of Helsinki. Language technology is a suitable minor subject for computer science students. Some language technology courses can be included in the advanced computer science module by separate agreement. The study modules for language technology are co-ordinated at the Helsinki University General Linguistics Dept. The degree requirements and course schedules may be seen on the network's homepages at http://www.ling.helsinki.fi/kit/. To start with, students must pass the course Yleisen kielitieteen peruskurssi (Cyk110/Ctl102) with at least a good grade, and then they can apply to the language technology network.

34

Please contact the Computer Science Dept. person in charge of language technology, Co-ordinator Greger Lindén, for more information (admissions, practical arrangements).

BSc study schedule Below, a schedule for completing the Bachelor’s degree in three years is presented. The schedule is based on a workload of around 30 credits per month. The phrase ‘Minor subjects/optional courses’ offers flexibility for most semesters, so that e.g. language credits or any possible extra courses in the major subject can be ordered into each student’s own programme. Some flexibility is needed in following the schedule: it will be difficult (and useless) to try to find a very small course with 1 or 2 credits to exactly fulfil the credits of a period. The number of credits can be balanced during the term (or even later). The schedule can be used a basis for your own study plan. When setting up the schedule, students should notice interdependencies between courses, and the times when courses are organised at the department. Students who feel they need to revise their mathematics should take the course 'Matematiikka tutuksi' during period I and the course 'Introduction to computer science' during period III (see alternatives in the schedule). In any case, it is important to take the course ‘Discrete mathematics I' in period I of your first year, or your studies will be delayed. The courses for the basic module and some of the courses for the intermediate module are given each semester. Most compulsory courses at the intermediate level and optional courses are usually arranged only once per academic year. Optional specialisation courses may be lectured even more seldom. There is an approximate schedule for courses that are repeated on the web page http://www.cs.helsinki.fi/kurssit/toistosuunnitelma.html (in Finnish). Most compulsory lecture courses and some of the optional courses can be passed by a separate exam each semester and in the summer. The times and dates for separate exams are available at http://www.cs.helsinki.fi/kokeet/. Laboratory courses and the Software Engineering Project may be taken every term including summers. By taking advantage of summer studies, the students can either choose fewer courses during autumn and spring terms, or try to complete the degree in less time. If this three-year schedule seems too difficult, you can lighten the programme slightly, but please take into consideration the prerequisites and the limitations posed by the teaching programme. There is a follow-up and support system for the degree programmes called Etappi, with some checkpoints at different stages of the programme. Students who have completed less than 25 credits by the end of the third period in their first year will receive special instruction in connection with their HOPS work. Students who have completed less than 120 credits of their BSc degree after their third year, or who have not completed their degree after four years, may register at the university only after making an acceptable study plan. The study plans are discussed during the HOPS sessions.

Model schedule for BSc degree

35

1st autumn term, 30 cr

Period I

Start HOPS work (2 cr when finished) Introduction to the use of computers, 4 cr Introduction to computer science, 4 cr (or Matematiikka tutuksi, 5 cr) Introduction to programming, 5 cr Minor subjects/optional studies, 2 cr (1 cr)

Period II

Programming in Java, 4 cr Methods for software engineering, 4 cr Introduction to discrete mathematics, 5 cr Minor subjects/optional studies, 2 cr

1st spring term, 30 cr

Period III

Programming project, 4 cr Data structures, 4 cr (first part) User interfaces, 4 cr Minor subjects / other studies, 3 cr (or Introduction to computer science, 4 cr)

Period IV

Data structures, 4 cr (second part) Introduction to databases, 4 cr Computer organization I, 4 cr Minor subjects/optional studies, 3 cr (2 cr)

2nd autumn term, 30 cr

Period I

Models for computing, 3 cr (first part) Data structures project, 4 cr Minor subjects/optional studies, 8 cr

Period II

Models for computing, 3 cr (second part) Concurrent systems, 4 cr Database application, 4 cr Minor subjects/optional studies, 4 cr

2nd spring term, 30 cr Period III Software engineering, 4 cr Optional major subject course, 4 cr Minor subjects/optional studies, 7 cr

Period IV

Introduction to data communications, 4 cr Optional major subject course, 4 cr Minor subjects/optional studies, 7 cr

36

3rd autumn term, 30 cr

Period I

Software engineering project, 5 cr (first part) Minor subjects/optional studies, 10 cr

Period II

Software engineering project, 5 cr (second part) Minor subjects/optional studies, 10 cr

3. 3rd spring term, 30 cr

Period III

Scientific writing, 5 cr (first part) Minor subjects/optional studies, 10 cr

Period IV

Scientific writing, 5 cr (second part) Minor subjects/optional studies, 10 cr HOPS work ends

Interdependencies between courses There are two kinds of interdependencies; compulsory and recommended ones. The recommended ones specify the amount of preknowledge that is needed for a course, and it is the student's own responsibility to meet the requirements. For the compulsory ones, prerequisites are checked at registration and at the start of the course; details are given separately for each course. The figure shows the interdependencies of the courses in the basic and intermediate modules. The prerequirements for other courses are listed in the teaching programme and on the homepages of each course.

37

Work for the personal study plan (LuK-HOPS) starts.

U

38

Schedule for MSc degree programme The extent of the MSc programme (120 cr) equals two years of full-time studies. Students who have been accepted directly to an MSc programme can be required to take complementary courses in addition to the 120 credits. Further, the degree requirements of some sub-programmes contain 1-2 intermediate courses in addition to the advanced ones. MSc courses are intended to be taken just after they have completed their BSc degree (and any possible complementary courses). However, students can take a limited amount (30 cr) of advanced courses in their major subject before completing their BSc degree. However, they must have completed their BSc degree (and required complementary courses) before attending seminars or starting to write their Master’s thesis. It is usually best to take the compulsory advanced courses for a sub-programme before taking optional courses. The 1-2 intermediate courses required for three of the sub-programmes should be taken at the beginning of the Master’s programme, unless they were included in the BSc degree. Some sub-programmes list more detailed prerequisites on their web pages. Students should complete the majority of the advanced lecture courses and one of the seminars during their first year, so that they have the necessary background information to start work on their Master’s thesis during the second autumn term. Any credits needed to complete the credit amount of the degree (extra advanced courses, optional other courses) can be placed into the schedule as you see best. According to the new degree system, students who have completed less than 80 credits of their MSc degree after their second year, or who have not completed their degree after three years, may register at the university only after making an acceptable study plan. The study plans are discussed during the HOPS sessions.

Transferring from the old degree system to the new one Students who have entered the university before 1 August 2005 can transfer to the new degree system. There are instructions from the faculty on how to transfer at the beginning of the printed study guide. The following is a summary of the main points. There are more detailed instructions at http://www.cs.helsinki.fi/tutkinnonuudistus/ (in Finnish). Students should transfer to the new system in the following cases: - they still have a great deal of minor subject studies to complete - they have not started their Laudatur module yet or are in the early stages of it - it is improbable that they will graduate before the end of the transition period, 31 July 2008 It does not make sense to transfer to the new degree system if only the Master’s thesis and one or two courses are missing from your degree. In practice, students who want to complete their degree according to the old system should be prepared to start writing their thesis immediately. Please see the page http://www.cs.helsinki.fi/opiskelu/maisteriklinikka/ for more information (in Finnish). The requirements for computer science degrees have not changed much during the years 1999-2005. Most of the courses from that period will still remain in the teaching programme in one form or another. The new degree system has brought some new

39

courses and some of the old ones have already been eliminated. Some courses have changed from compulsory to optional or vice versa. The department tries to arrange it so that replacing an old course will not cause undue obstacles. Please see the web page http://www.cs.helsinki.fi/tutkinnonuudistus/ for more details on how to complete credits in the old degree system with new courses. When replacing an old course with a new one, it will be possible to raise the grade of the old one. Then the credits will be computed according to the new course. The contents of many courses have been updated, but most courses are accepted in both the old and the new system; in the old one according to old credit units (cu, “study weeks”) and the new one according to credit points (cr). The extent of courses completed before 1 August 2005 have been converted from credit units to credit points by the coefficient 2. Courses completed later follow the extents noted in the teaching programme (the ‘coefficient’ is not always 2). If the new course is more extensive than the course to be replaced, the extra credits do not generally decrease the credits required for the optional basic and intermediate courses in computer science, but they add to the extent of the basic and intermediate credits, thereby decreasing the amount of credits for optional courses needed for the degree. In the opposite case (the new course is less extensive than the course it replaces), the amount of optional courses may have to be increased. Please see the transfer regulations in the study guide of 1999-2000 for the correspondence between the courses according to the degree requirements before 1 August 1999 and the new degree requirements. Courses from both the old and the new systems can be included in the degree. However, the courses must fulfil the requirements in one degree system, either directly or through course-by-course replacement: major subject, minor subjects and other credits must follow the same degree requirements. New courses can be substituted with old ones according to the list below. Similarly, courses required in the old system can be replaced with new courses. The list shows the new course in italics, and under that the old course. One degree cannot contain an old and a new course that replace each other. The webpage http://www.cs.helsinki.fi/opiskelu/tutkinnonuudistus/ gives more detail on the points marked (*), as well as the connections between the old BSc degree and the new MSc degree. In addition to this list, courses that have the same name in the old and the new system replace each other. In some individual cases, due to the overlapping of courses, there may be other restrictions on using a course as part of the degree. The restrictions will be mentioned in the course descriptions. Basic module Introduction to computer science, 4 cr (2 cu) Presenting computer science, 1 cr (2 cu)

40

Methods for software engineering, 4 cr (2 cu) Introduction to application design, 2 cu (4 cr) Intermediate module User interfaces, 4 cr (2 cu) User interfaces, 4 cu (8 cr) (in addition, the old course replaces 4 credits of optional studies) Database application, 4 cr (2 cu) Database application project, 2 cu (4 cr) Introduction to data communications, 4 cr (2 cu) Data communications I, 2 cu (4 cr) Models for computing, 6 cr (3 cu) (*) Models for programming and computing, 2 cu (4 cr) Bachelor’s thesis, 6 cr (*) Scientific writing, 4 cu (8 cr) (also replaces information and communication technology studies and the first-language course) Software engineering project, 9 cr (*) Software engineering project, 6 cu (12 cr) or IT work experience, 6 cu (12 cr) (the old credits also make up for the work-oriented studies in the new degree) ADVANCED MODULE Design of algorithms, 4 cr (2 cu) (*) Design and analysis of algorithms, 5 cu (10 cr) Computational complexity, 4 cr (2 cu) (*) Theory of computation, 3 cu (6 cr) Operating systems, 8 cr (4 cu) Operating Systems I, 2 cu (4 cr) and Operating Systems II, 2 cu (4 cr) Internet protocols, 4 cr (2 cu) Data communications II, 2 cu (4 cr) Database design, 4 cr (2 cu) Database modelling, 2 cu (4 cr) Transaction management, 4 cr (2 cu) and Distributed databases, 4 cr (2 cu)

41

Database structures and algorithms, 4 cu (8 cr) Other studies First-language communication, 3 cr(1 cu) , and (*) Research data retrieval, 1 cr Scientific writing, 4 cu (8 cr) Traineeship or vocational orientation, 1-3 cr (*) IT work experience, 2-6 cu or Software Engineering Project, 6 cu Personal study plan and teacher tutoring, 2 cr Teacher tutoring, 1 cu (2 cr) Advanced internship or vocational orientation studies, 2 cr (*) IT work experience, 4 or 6 cu or IT: Now!, 2 cu (4 cr) The old language credits make up for the second domestic language and foreign language required in the new degree, and any incomplete credits can be complemented in accordance with instructions from the Language centre. The course Introduction to the use of computers, which was part of the Cum laude module in the old degree requirements, makes up for the course by the same name in the information and communications part of the new degree. Mathematics courses Introduction to discrete mathematics, 5 cr Discrete mathematics I, 5 cu (10 cr) (please consult the Department of Mathematics for other replacement details) When transferring to the new degree system, students must in general have credits for every course in the degree requirements, or the corresponding course from the old system. However, if they have completed the Cum laude module to the extent of 50 cu before 1 August 2005, students are not required to take the new courses Introduction to computer science (4 cr) and User interfaces (4 cr). Any credits above this in the Cum laude module can be used for the Master’s degree, as can Laudatur-level courses. A finished Laudatur module according to the old degree system, from either the same or a corresponding sub-programme, can be accepted into the MSc degree in accordance with the criteria stipulated on the web page. For the new MSc degree, a separate maturity test must be taken; the one taken for the BSc degree is not enough. The old minor subject modules are suitable for the new degree system if they answer to the new requirements on contents and scope. A module in mathematics or method science that has been completed before 1 August 2005 can be incorporated in the new degree; in such cases, the course Discrete mathematics I is not required, but can be replaced with some other mathematics course.

42

A module of 15 cu (half module) or less that has been registered in the old system can be registered as a minor subject module in the new system only if it converts into at least 25 credits. Naturally, such a small module can be used as part of the quota for other (optional) courses.

Post-graduate studies Due to the information technology boom, there is a shortage of people with a postgraduate degree in computer science in both universities and the business world. To meet this shortage of researchers, the universities have started different programmes, like research schools, research institutes and centres of excellence. In addition, IT businesses have invested heavily in R&D by establishing their own research centres, among other things. This makes the situation very favourable for research and postgraduate studies in computer science. The goal of a post-graduate degree in computer science is to gain deeper knowledge of some sub-field of computer science and the ability to attain new scientific insights in it. Post-graduate studies are usually based on the MSc degree, on the topic of the Master's thesis. We try to steer MSc students who seem like promising post-graduates towards such subjects that will make a good basis for postgraduate studies. If they want to continue as post-graduates, undergraduates are well advised to contact the department research group conducting research in their field of interest when choosing the topic for their Master's thesis, at the latest. The group can offer support in many forms, such as scientific expertise, discussions and innovation, as well as international contacts. Belonging to a research group will make it easier to finance your studies, too, often at the stage of writing your Master's thesis. The fields of research and project groups are presented on the page http://www.cs.helsinki.fi/research/. Contact person for post-graduate studies: Professor Jyrki Kivinen. The goal of the post-graduate studies may be the Licentiate degree, and/or the Doctor of Philosophy (PhD) degree. A central part of the studies is the independent writing of a licentiate or doctoral thesis. Licentiate research should show that the student is well acquainted with the research field, and that s/he is able to perform independent work in writing scientific texts and performing scientific work. In the doctoral degree, the requirements for the thesis are on a higher level: the thesis should show academic maturity and contain internationally significant new knowledge. Post-graduates are recommended to aim at the doctoral degree. Usually, a preliminary version of the doctoral thesis can then be accepted as a licentiate thesis. The doctoral thesis may also be developed from the licentiate thesis, if the topic is suitable. In most cases, students should aim at internationally publishable results as soon as they have achieved certain basic skills. Results may be published as journal and conference articles even before the thesis is finished, and it is possible to have a collection of such articles assembled into a thesis. The other possible form of a thesis is a monograph that presents the research as a whole.

43

Formally, students register for post-graduate studies by agreeing on the topic of the thesis with the professor in charge of the intended research area (the final topic will be found during the research), and on major and minor subject studies. These plans will then be filled into a special form for post-graduate studies. Every student will also be assigned a personal supervisor, who will be in charge of the progress of the thesis work and will ensure the high scientific level of research. If you study full-time, it is possible to complete your licentiate in 2-3 years and a doctorate in four years after completing your Master's degree. The courses included in the post-graduate degree have to be graded at least 3/5. It is recommended to complete any minor-subject courses in the post-graduate study plan at an early stage. A great part of the post-graduate students belong to some graduate school. The graduate schools organise post-graduate courses, and offer some positions for full-time post-graduate researchers. The department participates in four post-graduate schools and a large network of research schools (see below). It is also possible to fund your post-graduate studies by working in one of the department's research projects or as a teacher. Furthermore, it is possible to carry out your post-graduate studies alongside a research and development job at an IT company or research institution, although this kind of arrangement has proven to be very strenuous.

The Helsinki Graduate School in Computer Science and Engineering: Hecse The Helsinki Graduate School in Computer Science and Engineering (HeCSE) is a post-graduate programme in computer science and engineering jointly offered by the Helsinki University of Technology (TKK) and the University of Helsinki (UH). The Department of Computer Science co-ordinates this collaboration with some computer science labs and research units at TKK. Teaching is organised both at the University of Helsinki and at the Helsinki University of Technology. Hecse focuses on some main concepts and methods of its field. They are important both in scientific research and the applications in the IT industry. There are some 50 PhD students in Hecse, and the school funds the work of 20 of them. Applications are usually due in autumn. Please contact the leader of the graduate school, Professor Hannu Toivonen, or the co-ordinator, Greger Lindén, see the web page http://www.cs.helsinki.fi/hecse/, or send mail to [email protected], for more information on the graduate school, application deadlines and funding.

The Graduate School in Computational Biology, Bioinformatics, and Biometry: ComBi The Graduate School in Computational Biology, Bioinformatics, and Biometry (ComBi) is a post-graduate programme jointly offered by the Universities of Helsinki, Tampere and Turku as well as the Helsinki University of Technology. The school was established at the beginning of 1998, and the Department of Computer Science at the University of Helsinki is the co-ordinating institution. The research goal of ComBi is to develop computational, mathematical, and statistical methods and models for natural sciences. The thesis projects are carried out in close co-operation with one or more research groups in the application fields (such as biochemistry, molecular biology, genetics and biotechnology, ecology, research into evolution and systematics, geography and economics). More information including activities, application deadlines, funding of studies, etc. may be acquired from the director of the graduate school, Academy Professor Heikki Mannila (UH), and from

44

the general secretary Heikki Lokki (UH) as well as electronically on the web page http://www.cs.helsinki.fi/combi/ or by email to [email protected].

National graduate school for language technology (KIT) The KIT post-graduate school is a national, multi-disciplinarian language-technology school that allows its participants to take part in post-graduate schools in the other Scandinavian and the Baltic countries. Please see the page http://www.ling.helsinki.fi//kit/tutkijakoulu/ for more information and application deadlines (in Finnish).

The Graduate School on Software Systems and Engineering SoSE Established in autumn 2006, SoSE (Graduate School on Software Systems and Engineering) is a national post-graduate school focusing on software engineering. The school is co-ordinated by Tampere University of Technology. Please contact Professor Jukka Paakki, or see the web page http://www.cs.tut.fi/~sose/ for more information on activities and application dates. Network of Finnish Graduate Schools in Information Technology (Figsit) The Finnish network of post-graduate schools, Figsit, is an informal collaboration forum for post-graduate schools in computer science and information technology around the country. In addition to Hecse, other members are Comas (Jyväskylä), ECSE (eastern Finland), Infotech (Oulu), TISE (Tampere) and TuCS (Turku). All the post-graduate courses are open to network members, and they are announced on a centralized web page. The network arranges an annual international summer school as well as other events for peer support for students and teachers, as well as networking support. Please see the network web page http://www.cs.helsinki.fi/figsit/ or contact the leader of the Hecse, Professor Hannu Toivonen, or the co-ordinator, Greger Lindén (e-mail [email protected]), for more information on the graduate school, application deadlines and funding.

Helsinki Institute for Information Technology HIIT The Helsinki Institute for Information Technology HIIT is the joint research institute of the University of Helsinki and the Helsinki University of Technology. Its goal is to enforce the strategic research in the field of computer science, as well as improving the co-operation between the University of Helsinki and Helsinki University of Technology. HIIT is divided into two units; the Advanced Research Unit that strongly co-operates with the industries is led by Professor Martti Mäntylä, and mostly operates in the Helsinki University of Technology facilities, and the Basic Research Unit, headed by Professor Esko Ukkonen. The Basic Research Unit mostly operates at the Department of Computer Science in Kumpula, Helsinki, but part of it operates at the HUT facilities in Otaniemi. HIIT carries out high-classed research in the field of computer science, in close co-operation with other disciplines and with representatives of industrial application areas. The operations at HIIT are divided into the following research programmes: algorithmic data analysis, future Internet, network society, and probabilistic adaptive systems. Please see the webpage http://www.hiit.fi/, or e-mail [email protected] for more information.

Teaching

45

This teaching programme contains all teaching given at the department both for students following the old degree system and the new one. Courses are usually accepted for both systems to the extent of credits (cr) or old credit units (cu) mentioned after the name of the course. The courses may rank differently in the old and the new system; cf. the degree requirements and transfer rules. This teaching programme also includes the teaching in bioinformatics given at the department; please see the printed study guide's section on ‘Master’s Degree Programme in Bioinformatics’ for more detailed information. Most courses in bioinformatics given at the department can also be included in a computer science module. They are open for students in the bioinformatics and computational biology sub-programme (starting before 2006-2007) and all other computer science students (majoring and minoring), unless participation is restricted for special reasons. The teaching programme is divided into two terms with four parts according to the degree system: basic courses, compulsory and optional intermediate courses, and advanced courses. The basic module corresponds with the Approbatur module in the old system (Approbatur was available only as a minor subject in 1999-2005) and with the first part of the major-subject Cum laude approbatur module; the intermediate module corresponds with the latter part of the Cum laude module and the advanced module corresponds with the Laudatur module. The courses of the old degree system have been suitably fitted into the teaching programme: Cum laude approbatur courses in the basic or intermediate module and Laudatur courses in the advanced module. Courses usually last one or two periods. The basic and intermediate courses are presented in the order they are lectured, the advanced courses are ordered according to sub-programmes. The total time needed for a course is not restricted to the lecture schedule; exercises and other assignments may extend the schedule. The whole schedule for each course is presented on their respective web pages. The last week of each period is reserved for the course exam, and no lectures or exercise sessions are held then. For some courses, exercise sessions are held during the first week! Students should check the teaching programme on the department web pages for changes in the course schedule and registration procedures. The course schedule may still be revised after the paper version of the Faculty Study Guide has been released. The teaching programme for the autumn term will be published 10 August (in Finnish, English version to be announced), the spring term on 30 November (in Finnish) and the summer term 31 March (in Finnish). The teaching programmes will also contain schedules and places for exercise and project groups. The times and dates for course and separate exams are available at http://www.cs.helsinki.fi/kokeet/. All basic courses and some compulsory intermediate courses are arranged during both semesters. For some of the basic courses, one term is meant mainly for major subject students while the other is mainly for minor subject students. Some courses are marked “In English”. These courses are lectured in English. Many courses carry out exercises as study circles. They are described in more detail on the course pages.

46

Registration Students register for lecture courses and separate exams through the department’s own registration system on the web (see http://www.cs.helsinki.fi/opiskelu/ohjeet/ilmoittautuminen-en.html), i.e. not through the OODI system. Registering for a course means registering for exercise sessions, study circles and other activities arranged as part of the course, as well as for the course exam; there is no separate registration for course exams. Binding registrations for exercise groups start a week before the start of term for periods I and III, and three weeks before the start of the period for periods II and IV; please see “Important dates” for more details. Students have to register for lecture courses during the first week of lectures, at the latest. For separate exams, students have to register on the Monday of the previous week at the latest. The chapter ‘Lecture courses and separate exams’ details the restrictions on registering for a basic or intermediate course that have been interrupted twice before. When registering, please note the prerequisites for each course. Students should register for the Software Engineering project, Scientific Writing and seminars during the preceding term, see "Important dates.” Students should also register for laboratory courses through the registration system. Students who have interrupted their laboratory work may register only by way of the list of "interrupters" to that course. You may register for exercise groups up until the first lecture (the initial group meeting for the course Data Structure Project). Students must attend the first group meeting of the group they have registered for, otherwise they lose their place in the group to another student.

Computer access To have access to the department's computers, you need a personal user account from the department (the university user account is not enough). New major subject students are given a new account on the basis of their registration with the university, but you have to activate it according to the instructions. Other students should apply for a user account separately. Instructions at cs.Helsinki.FI/compfac/ohjeet/Luvat/useraccess.html.

Classrooms Most teaching is arranged in Exactum at the Kumpula campus. Auditoriums A111 and B123 are on the first floor and Auditorium CK112 on the ground floor. The first letter of the room code (A, B, C, D) shows in which block it is, and the first number on which floor (K1 = ground floor).

Course descriptions There are short descriptions of the courses in the teaching programme. Only the most important prerequisites are mentioned. The section ‘Model schedule for BSc degree’ describes the interdependencies between compulsory basic and intermediate courses. Before attending advanced courses, students should have completed most intermediate courses and especially any courses that are important for their sub-programme. The web pages of the sub-programmes contain more detailed information. Please also keep in mind

47

that you have to complete your BSc degree before certain studies (especially seminars and the thesis) in your Master’s programme. More detailed descriptions of the contents, prerequisites and how to complete courses are available (mainly in Finnish, partially in English) through the course list at http://www.cs.helsinki.fi/opiskelu/. The detailed learning goals of the courses are also available on the web pages of compulsory basic and intermediate courses. For further information on general course routines, please see the section ‘General instructions and rules.’ The importance of the course literature varies; the course webpage gives detailed information on whether it is recommended or compulsory reading. If the description contains the notation ‘no separate exam,’ it means that you cannot take the course without attending the instruction sessions. Details are varied.

Autumn term 2007

Information and communication technology studies 581324 Tietokone työvälineenä (Introduction to the use of computers, mainly for major-subject students) (4 cr, 2 cu) Asst Oskari Heinonen, period I: 4-18 Sept Tue, Fri 16-18 B123. The course teaches the use of the software tools needed for studying in the department’s hardware and software environment. The course is mainly based on the online ICT Driving Licence material, supplemented by departmental features. Students should take the proficiency test on their own as soon as possible; please see the instructions on the web pages of the course. The course consists of assignments and a course exam. No separate exam. Other studies 582507 Personal study plan and teacher tutoring (2 cr, 1 cu) Asst Sini Ruohomaa, initial event 12 Sept Wed 17–19 A111. Attendance is compulsory for major students who started their studies in the autumn of 2007.

Basic module 582102 Johdatus tietojenkäsittelytieteeseen (Introduction to computer science) (4 cr, 2 cu) Lecturer Heikki Lokki, period I Wed 12–14 A111. The course details the main fields of computer science as well as methods and professional ethics. The goal is to give a general overview of the knowledge and skills a Master’s degree entails. The course is credited on the basis of a learner’s diary written during study circles and individual written assignments. Course compendium: Kimmo Raatikainen: Johdatus tietojenkäsittelytieteeseen, Helsingin yliopisto, Tietojenkäsittelytieteen laitos, 2005. No separate exam. 581325 Ohjelmoinnin perusteet (majoring students) (Introduction to programming) (5 cr, 3 cu) Lecturer Arto Wikla, period I Mon 12-14, Thu 14-17 A111 Algorithms and programming techniques.. The programming language is Java. No prerequisites. The course is based on online material. NB! The exercises start the same week as the first lectures and consist of study circles. In addition, the lecturer will give

48

instruction and guidance for inexperienced programmers to carry out the exercises on Thursdays 17-19 (weeks 36-37) and Fridays 12-14 (weeks 38-41) in classroom B222. Course exam Wed 17 Oct at 9-12. 58160 Ohjelmoinnin harjoitustyö (Programming project) (4 cr, 2 cu) University Lecturer Tomi Pasanen, initial lectures period I Mon 3 Sept 8-12 D122, period II Mon 29 Oct 8-12 D122. Project teams during each period, schedule in teaching programme. Prerequisites: Programming in Java and Software engineering methods. 581326 Java-ohjelmointi (majoring students, Programming in Java) (4 cr, 2 cu) Lecturer Arto Wikla, period II Mon 12-14, Thu 14-16 A111 An introduction to the Java programming language. The focus is placed on basic structures of the language. Prerequisites: Introduction to programming. The course is based on online material. NB! The exercises start the same week as the first lectures and consist of study circles. In addition, the lecturer will give instruction and guidance for inexperienced programmers to carry out the exercises on Fridays 12-14 in classroom D122. Course exam Mon 10 Dec at 9-12. 582101 Ohjelmistotekniikan menetelmät (majoring students, Methods for Software Engineering) (4 cr, 2 cu) University Lecturer Jukka Viljamaa period II Tue 10-12, Wed 12-14 A111 The course studies methods and tools for object-based software development with an emphasis on the UML modelling language. Prerequisites: Familiarity with the concept of objects (Introduction to programming). The exercises are held as study circles. Course literature: Maciaszek L.A., Liong B.L., Practical Software Engineering - A Case Study Approach, Addison-Wesley, 2005. Course exam Fri 14 Dec at 16-19. 581328 Tietokantojen perusteet (Introduction to Databases) (4 cr, 2 cu) Lecturer Harri Laine, period II: 31 Oct-16 Nov Wed, Fri 10-12 B123, 21 Nov-5 Dec Wed 10-12 B123. The course looks at modes of presenting and retrieving data from large bodies of data. The focus is on relational databases, their theoretical foundation, as well as the practical management of databases with the help of the SQL language. The course will also detail the basic features of designing relational databases. Main course literature: Laine H.: Tietokantojen perusteet, HY/TKTL, 2006. Laine H.: Tietokantojen perusteet verkkokurssimateriaali, HY/TKTL, 2005. Course exam Wed 12 Dec at 9-12. Intermediate module (compulsory courses) 582206 Laskennan mallit (Models for computing) (6 cr, 3 cu) Professor Jyrki Kivinen periods I-II Tue 14-16 A111 Mathematical specification of computational problems. Automata, formal languages and grammars. Formalisation of the algorithm concept. Solvability. Prerequisites: Data structures. NB! The exercises start the same week as the first lectures. Course literature: Sipser M.: Introduction to the Theory of Computation (2nd ed.), Thomson Course Technology, 2006. Course exams Thu 18 Oct at 9-12 and Mon 10 Dec at 9-12. 581305 Tietokoneen toiminta (Computer organization I) (4 cr, 2 cu)

49

Lecturer Teemu Kerola organizes this guided independent-study course. Starting date optional, guided exercises (in Finnish) in period II. Execution of a computer program, components of computer hardware, execution environment of hardware/operating system. Prerequisites: Introduction to programming. There are no lectures in the traditional sense for this course. All the online material (in Finnish only!)is suited for self-access study, so students can start the course whenever they want to. The initial lecture is online. During period II (29 Oct-5 Dec 2007), there are guided exercises in support of self-access studies. Course literature: Stallings W.: Computer Organization and Architecture (7th ed.), Prentice Hall, 2006. Course exam Wed 12 Dec at 16-19. 58110 Tieteellisen kirjoittamisen kurssi (Scientific writing) (10 cr, 4 cu) Professor Jaakko Kurhila, periods I–II, lectures 3 Sept–8 Oct Mon 12–14 CK112 The course teaches skills in drawing up scientific presentations (theses, reports, articles); Sources of scientific information. Use of libraries and scientific databases. Disposition of a presentation, and written and oral presentation. Students in the new degree system complete their BSc thesis (6 cr), first-language communication course (3 cr), research data retrieval (1 cr) and maturity test during this course. Maturity test Tue 11 Dec at 16-20. 581260 Ohjelmistotuotantoprojekti (Software engineering project) (9 cr, 6 cu) Amanuensis Kimmo Simola, periods I-II, team schedules to be announced. The students will be divided into teams whose task it is to complete a software engineering project that lasts 14 weeks. The work entails going through all stages of software engineering, from specifications to testing. The end product of the project is software and documentation that answers to the client’s requirements. Prerequisites: Software engineering, Database application, Introduction to data communications, and the Data structures project. Students following the new degree system complete their work-orientation (1 cr) at the same time. 582203 Tietokantasovellus (Database application) (4 cr, 2 cu) Lecturer Harri Laine, initial lectures period I Mon 3 Sept 16-18 D122, period II Mon 29 Oct 16-18 D122. Project teams during each period, schedule in teaching programme. Database programming, simple web-application structures and implementation of web applications. Exercises in database design as well as construction and use of databases. Students will learn some techniques for database and web programming, and how to create simple web applications. The main body of the course consists of the project work. Prerequisites: Introduction to databases, Methods for software engineering (compulsory) and User interfaces (recommended). 58161 Tietorakenteiden harjoitustyö (Data structures project) (4 cr, 2 cu) Lecturer Otto Nurmi (no initial lecture). Project teams during each period, schedule in teaching programme. Prerequisites: Data structures. 581332 Rinnakkaisohjelmointi (Concurrent programming) (4 cr, 2 cu) Lecturer Teemu Kerola period II Mon, Thu 12-14 B123. Basic concepts of programming of concurrent and distributed systems. Special emphasis is put on design and implementation of concurrent algorithms. Prerequisites: Computer

50

organization I. NB! The exercises start the same week as the first lectures. Course literature: Ben-Ari M.: Principles of Concurrent and Distributed Programming (2nd ed.), Addison-Wesley, 2006. Course exam Fri 14 Dec at 9-12.

Intermediate module (optional courses) 58127 C-ohjelmointi (Programming in C) (4 cr, 2 cu) Asst Päivi Kuuppelomäki, period I Wed, Fri 10–12 CK112 The course teaches how to program with the C language that follows the ANSI standard. Prerequisites: Data structures. NB! The exercises start the same week as the first lectures. Recommended reading: Müldner, T.: C for Java Programmers, Addison-Wesley, 2000, or Kernighan B.W. & Ritchie D.M.: The C Programming Language (2nd ed.), Prentice Hall, 1988. (ANSI C edition). The course includes project work. No separate exam. Course exam Fri 19 Oct at 9-12. 582302 Digitaalisen median tekniikat (Digital media technology) (4 cr, 2 cu) Lecturer Harri Laine, period I Tue 12-14, Wed 14-16 B123. Basic methods for implementing web pages, especially management of dynamics and interaction, as well as defining layout through style templates. Prerequisites: Programming project or Database application. Students will implement a sample folder with web techniques as a project. The course Digital media technology and the (old) course Techniques for new media applications cannot be incorporated into the same degree. Course exam Mon 15 Oct at 16-19. 582325 Johdatus peliohjelmointiin (C++) (Introduction to game programming) (5 cr, 3 cu) Lecturer Juha Vihavainen, period II Wed 14–16, Fri 12–14 C222 Graphics programming in a Windows environment. Event processing. Computer game architectures. Management of game resources. Script languages in game programming. Object-based 3D-graphics programming. C++ game programming. Team projects will be carried out during exercise sessions. The course will be completed through projects, no course or separate exam.

Advanced module 58074 Tietokonegrafiikka (Computer graphics) (8 cr, 4 cu) Lecturer Otto Nurmi, periods I-II Tue 14-16, Thu 14-16 CK112 Creating images on the computer. Two- and three-dimensional representations and transformations, scan conversion, window transformation and clipping, hidden surfaces, colour models, illumination, texturing, shadows, solid modelling, animation, real time. Course exams Thu 18 Oct at 16-19 and Thu 13 Dec at 16-19. 582497 Käyttöjärjestelmät (Operating systems) (8 cr, 4 cu) University Lecturer Tiina Niklander, periods I-II Tue 12-14, Wed 14-16 CK112 In English a compact lecture & practice session, periods I–II Thu 12–15 C221. The goal is to understand the services offered by operating systems to applications, the basic structure of the operating system as well as its implementation from the viewpoint of the application and the implementator. Some of the exercises are held as study circles. Prerequisites: Computer organization I, Introduction to data communications and Concurrent systems. NB! The exercises start the same week as the first lectures. Course

51

literature: Stallings W.: Operating Systems (5th ed.), Prentice Hall, 2005. Course exams Thu 18 Oct at 16-19 and Thu 13 Dec at 16-19. 582498 Internet–protokollat (Internet protocols) (4 cr, 2 cu) Lecturer Markku Kojo period I Tue, Thu 14-16 D122 (in Finnish) In English a compact lecture & practice session, period I Wed 13-16 CK109. The features of the main Internet protocols with a focus on network- and transport-level protocols and their problem-solving principles. Prerequisites: Introduction to data communications. NB! The exercises start the same week as the first lectures. Course literature: Comer D. E.: Internetworking with TCP/IP, Vol. 1: Principles, Protocols, and Architecture (5th ed.), Prentice-Hall, 2006. Course exam Mon 15 Oct at 16-19. 582610 Performance Issues in Mobile Computing and Communication (4 cr, 2 cu) Professor Kimmo Raatikainen, periods I–II: 10 Sep–16 Nov Mon 17–19 CK112. The course examines performance and power consumption issues in future mobile computing and communications. In the first part the focus is on recent developments in hardware, operating systems, protocol stack, and middleware. The second part covers methods for performance analysis in the area. Course exam: Wed 17 Oct at 16–19 and Fri 14 Dec at 16–19. 582420 Väliohjelmistot (Middleware) (4 cr, 2 cu) Professor Lea Kutvonen period I Tue, Fri 10-12 C222 Middleware runs on top of operating system and communication services to aid applications in localizing and activating services and the communication between them. Modern middleware is directed at supporting component-based software. The course will look at some middleware goals, problems and solutions, such as CORBA- and or Java-based middleware. Lectures during period I and individual assignments during period II. Course exam Wed 17 Oct at 9-12. 581365 Tietokoneen rakenne (Computer organization II) (4 cr, 2 cu) Asst Liisa Marttinen, period II Wed 12–14, Fri 10–12 D122. Basic lower-level features of computer hardware, such as the structure of the machine language, workings of the pipeline, implementation of the processor and memory hierarchy. Prerequisites: Computer organization I. NB! The exercises start the same week as the first lectures. Course literature: Stallings W.: Computer Organization and Architecture (7th ed.), Prentice Hall, 2005. Course exam Wed 12 Dec at 16-19. 581288 Tietoturva (Data security) (4 cr, 2 cu) University Lecturer Timo Karvi period II Mon, Wed 10-12 CK112. Introduction to cryptography, key-exchange protocols, features of data security in a TCP/IP environment. Stallings W.: Cryptography and Network Security, Prentice Hall, 2005 can be read as support for the lectures. Course exam Tue 11 Dec at 9-12. 581359 Ohjelmistoprosessit ja ohjelmistojen laatu (Software processes and quality) (6–8 cr, 3–4 cu) University Lecturer jukka Viljamaa, period I Wed 16–18 CK112, Fri 10–12 D122. Important software process components and metrics of software quality. The course consists of a lecture period and exercises (period I) and a series of projects (period II). NB! The exercises start the same week as the first lectures. Course literature: Fenton

52

N.E., Pfleeger S. L.: Software Metrics: A Rigorous and Practical Approach (2nd ed.), International Thomson Computer Press, 1996. Students can only take the lecture part of the course as a separate exam; it covers the compulsory course in the software engineering sub-programme in the old syllabus (3 cu). Course exam Wed 17 Oct at 16-19. 581361 Ohjelmistojen testaus (Software testing) (5 cr, 3 cu) University Lecturer Juha Taina, period I Tue, Thu 10–12 CK112. General principles, methods and processes of software testing. Course literature: Pezzè, M., Young, M.: Software Testing Analysis, John Wiley & Sons, 2007. Course exam Thu 18 Oct at 9-12. 582614 Tekoäly tietokonepeleissä (Artificial intelligence for games) (4 cr, 2 cu) University Lecturer Tomi Pasanen, period I Tue, Thu 12–14 D122. An AI approach to structuring a virtual game world along with computer game classification. Prerequisites: Data structures and Artificial intelligence (recommended). Course literature: Millington I., Artificial Intelligence for Games, Morgan Kaufmann, 2006. Students pass the course by writing a lecture diary. No separate exam. 58153003 Ohjelmistojen suorituskyvyn suunnittelu (Designing software performance) (5 cr, 3 cu) Professor Juha Taina, period II Fri 8–10 C222. Design of software performance on the basis of systematic methodology and performance models. Course literature: Smith, C. U., Williams L. G., Performance Solutions - A Practical Guide to Creating Responsive, Scalable Software, Addison-Wesley 2002. There are no lectures during this course, but it is based on individual study of the course book and weekly exercise sessions (6). The course consists of exercises, a course exam and a take-home exam. Course exam Fri 14 Dec at 9-12. 582448 Tiedon louhinnan menetelmät (Methods for data mining) (6 cr, 3 cu) University Lecturer Pirjo Moen, periods I-II Mon 9-12, Thu 9-11 B222 (+ Fri 21 Sept 9-11). The main concepts and methods as well as the process of data mining. The course will apply so-called investigating learning, i.e. most of the course work consists of solving problems independently in smaller teams. Lectures on Mondays, exercises on both Mondays and Thursdays. The course will be completed by exercises and a course or take-home exam. Course exam Fri 14 Dec at 16-19. 582482 Tietokannan suunnittelu (Database design) (4 cr, 2 cu) Asst Satu Eloranta, period I Wed, Thu 12–14 B222. Conceptual design of databases, entity relationship models. Logical design of relational databases, dependency theory. Physical design of relational databases and database tuning. Course exam Fri 19 Oct at 9-12. 581290 Rakenteisten dokumenttien käsittely (Managing structured documents) (4 cr, 2 cu) PhD Asst. Miro Lehtonen period II Wed, Fri 12–14 B222 Modelling of XML documents, binary models, transformation and query languages (XSLT and X Query), other current issues. Prerequisites: The XML meta-language, HTML. Project assignments are included in the course. Course exam Thu 13 Dec at 16-19.

53

582490 Transaktioiden hallinta (Transaction management) (4 cr, 2 cu) Professor Seppo Sippu, period II Tue, Thu 14-16 B222 Logical databases and database transactions. Log maintenance and buffer management. Rollback of transactions and database recovery. Transaction isolation and management of concurrency, locking methods. Consistency of the physical database structure. Prerequisites: Database design. Course exam Wed 12 Dec at 9-12. 58066 Tekoäly (Artificial intelligence) (8 cr, 4 cu) University Lecturer Tei Laine, periods I–II Tue, Thu 10–12 D122 A general overview of the problems and methods in traditional symbolic AI, as well as the challenges of current AI research. The course looks at areas like search algorithms, logically based presentation and deduction of knowledge, processing natural language and multi-agent systems. Prerequisites: Data structures (or comparable) and programming skills. The course consists of weekly exercises and a programming project for programming vacuum-cleaner robots, which lasts the whole term and is carried out in smaller teams. The course does not follow any book, but the lecture material will be published on the course web page. The course will be given in English if non-Finnish-speaking students attend it. Course exam Wed 12 Dec at 16-19. 581286 Kolme käsitettä: informaatio (Three concepts: information) (6 cr, 3 cu) University Lecturer Teemu Roos, period I Wed 13–16 B222, period II Wed 15–16 B222. An introduction to information theory from the viewpoint of computer science applications. The course does not include regular exercise sessions or a course exam, but will be completed by assignments including projects that require programming skills, as well as poster presentations and scientific essays. Some of the projects will be carried out as teamwork. The course lectures will be given during period I, projects will be due in periods I and II. The course will be given in English if non-Finnish-speaking students attend it. No separate exam. 582606 Introduction to Bioinformatics (4 cr, 2 cu) University Lecturer Esa Pitkänen, period I Tue, Fri 14–16 C222 This course gives an introduction to the central topics in bioinformatics, and gives a foundation for further courses in the Master's Degree Programme in Bioinformatics. Course book: Deonier R. C., Tavare S., Waterman M. S.: Computational Genome Analysis - An Introduction, Springer, 2005. Course exam: Wed 17 Oct at16–19. 582604 Practical course in biodatabases (4 cr, 2 cu) Petteri Sevon, PhD, period II Tue, Fri 14–16 C222 Techniques for accessing and integrating data in biological databases are studied. The course contains project work. Prerequisites: Introduction to bioinformatics, Introduction to databases, basic programming skills. Course exam: Tue 11 Dec at 9–12.

Seminars 58307301 Seminar: Hajautetut algoritmit (Distributed algorithms) (3 cr, 2 cu) Professor Jyrki Kivinen periods I-II Fri 10-12 C221 58307310 Seminar: Yhteistoiminnan hallinta palveluorientoituneissa järjestelmissä (Management of interoperability in service-oriented systems) (3 cr, 2 cu)

54

Professor Lea Kutvonen, Asst Toni Ruokolainen, periods I–II Tue 14–16 C220. 58307302 Seminar: Opportunistic Networks (3 cr, 2 cu) Professor Jussi Kangasharju, periods I–II Thu 12–14 C220. 58305306 Ohjelmistotekniikan linjan pro gradu -seminaari (Software-engineering sub-programme Pro-gradu seminar) (3 cr, 2 cu) Professor Jukka Paakki, periods I–II Tue 16–18 C220. 58307304 Seminar: MDE ja mallitransformaatiot (MDE and model transformations) (3 cr, 2 cu) University Lecturer Jukka Viljamaa periods I- II Thu 10-12 C220 58307303 Seminar: Tekoäly vuorovaikutteisessa mediassa (Artificial intelligence in interactive media) (3 cr, 2 cu) University Lecturer Tomi Pasanen, periods I-II: 3 Sept Mon 14-16 C220, 8 Oct Mon 13–16 C220, 3 Dec Mon 9-17 C221, 4 Dec Tue 9-17 C221. 58307305 Seminar: Heterogeenisten tietolähteiden yhdistäminen (Combining heterogenous information sources) (3 cr, 2 cu) Adjunct Professor Juha Puustjärvi, periods I-II: 17 Sept Mon 8-12 C220, 8 Oct Mon 8–12 C220, 29 Oct-3 Dec Mon 8-12 C220. 58307306 Seminar: Palveluiden saatavuus tietokantajärjestelmissä (Service availability in database systems) (3 cr, 2 cu) Jan Lindström, PhD, periods I–II Fri 10–12 C220 58307307 Seminar: Tiedon louhiminen www:stä (Data mining on the www) (3 cr, 2 cu) University Lecturer Marko Salmenkivi, periods I–II Wed 10–12 C221. 58307311 Seminar: Analysis of Text (3 cr, 2 cu) Professor Roman Yangarber, periods I–II Tue 10–12 C220. 58307309 Seminar: User Modelling (3 cr, 2 cu) Petteri Nurmi, MSc; University Lecturer Tei Laine, periods I–II Tue 14–16 B119. 58307308 Seminar: Regulatory Networks (3 cr, 2 cu) Teemu Kivioja, PhD; Professor Juho Rousu, periods I–II Fri 12–14 C220.

Spring term 2008

Information and communication technology studies 581324 Tietokone työvälineenä (Introduction to the use of computers) (4 cr, 2 cu) N.N., period III: 14-28 Jan Mon, Wed 16-18 C222. The course teaches the use of the software tools needed for studying in the department’s hardware and software environment. The course is mainly based on the online ICT Driving Licence material, supplemented by departmental features. Students should take the proficiency test on their own as soon as possible; please see the instructions on the web

55

pages of the course. The course consists of assignments and a course exam. Minoring students following the new degree requirements should only take 1 credit of this course (software development in the Computer Science Department environment). No separate exam.

Other studies 581387 Tietotekniikka: nyt! (Information technology: now!) (3 cr, 1.5 cu) Professor Petri Myllymäki, periods III–IV Wed 16–18 CK112 The course is aimed at MSc students as a part of either vocational studies or the ‘Other major-subject studies’ module. Different experts in the field present current problems in computer science and information technology, their importance in the development of IT and in the workplaces and society of today. The course can be completed by writing the required number of essays on the topics presented in class. No separate exam.

Basic module 582102 Johdatus tietojenkäsittelytieteeseen (Introduction to computer science) (4 cr, 2 cu) Lecturer Heikki Lokki, period III Wed 10–12 CK112 The course details the main fields of computer science as well as methods and professional ethics. The goal is to give a general overview of the knowledge and skills a Master’s degree entails. The course is credited on the basis of a learner’s diary written during study circles as well as individual written assignments. Course compendium: Kimmo Raatikainen: Johdatus tietojenkäsittelytieteeseen, Helsingin yliopisto, Tietojenkäsittelytieteen laitos, 2005. No separate exam. 581325 Ohjelmoinnin perusteet (Introduction to programming) (5 cr, 3 cu) University Lecturer Tomi Pasanen, period III Tue 13-16, Thu 14-16 B123 Algorithms and programming techniques. The programming language is Java. No prerequisites. The course is based on online material. NB! The exercises start the same week as the first lectures. Course exam Tue 26 Feb at 9-12. 58160 Ohjelmoinnin harjoitustyö (Programming project) (4 cr, 2 cu) University Lecturer Tomi Pasanen, initial lectures period III Mon 14 Jan 8-12 CK112, period IV Mon 10 Mar 8-12 CK112. Project teams during each period, schedule in the teaching programme of spring semester. Prerequisites: Programming in Java and Methods for software engineering. 581326 Java-ohjelmointi (Programming in Java) (4 cr, 2 cu) University Lecturer Tomi Pasanen, period IV Tue, Thu 14–16 B123. An introduction to the Java programming language. The focus is placed on basic structures of the language. Prerequisites: Introduction to programming. The course is based on online material. NB! The exercises start the same week as the first lectures. Course exam Tue 29 Apr at 9-12. 582101 Ohjelmistotekniikan menetelmät (Methods for software engineering) (4 cr, 2 cu) Juha Gustafsson, MSc, period IV Tue 10–12, Thu 12–14 B123. The course studies methods and tools for object-based software development with an emphasis on the UML modelling language. Prerequisites: Familiarity with the concept of

56

objects (Introduction to programming). The exercises are held as study circles. Course literature: Maciaszek L.A., Liong B.L., Practical Software Engineering - A Case Study Approach, Addison-Wesley, 2005. Course exam Mon 5 May at 16-19. 581328 Tietokantojen perusteet (majoring students) (Introduction to databases) (4 cr, 2 cu) University Lecturer Pirjo Moen, period IV: 12 Mar-4 Apr Wed 10–12 A111, Fri 10–12 B123, 9-23 Apr Wed 10–12 A111. The course looks at modes of presenting and retrieving data from large bodies of data. The focus is on relational databases, their theoretical foundation, as well as the practical management of databases with the help of the SQL language. The course will also detail the basic features of designing relational databases. Main course literature: Laine H.: Tietokantojen perusteet, HY/TKTL, 2006. Laine H.: Tietokantojen perusteet verkkokurssimateriaali, HY/TKTL, 2005. Course exam Wed 30 Apr at 9-12.

Intermediate module (compulsory courses) 58131 Tietorakenteet (Data structures) (8 cr, 4 cu) Professor Jyrki Kivinen periods III-IV Tue, Thu 10-12 A111 Basic data structures like stacks, queues, trees and graphs as well as algorithms for managing them. Prerequisites: Programming in Java and Introduction to discrete mathematics. NB! The exercises start the same week as the first lectures. Example of recommended reading: Cormen T.H., Leiserson C.E., Rivest R.L., Stein C.: Introduction to Algorithms (2nd ed.), The MIT Press, 2001. Course exams Mon 25 Feb at 9-12 and Mon 5 May at 9-12. 582201 Käyttöliittymät (User interfaces) (4 cr, 2 cu) N.N., period I Wed 14–16 A111, Fri 9–11 B123. A practical basic course in design of graphical user interfaces based on user goals (Goal-Derived Design). The course teaches the difference between good and bad interfaces by simulating real-life use cases. Another evaluation method to study is usability testing. Course exam Tue 26 Feb at 16-19. 58110 Tieteellisen kirjoittamisen kurssi (Scientific writing) (10 cr, 4 cu) Professor Seppo Sippu, periods III–IV, lectures 14 Jan–18 Feb Mon 12–14 CK112 The course teaches skills in drawing up scientific presentations (theses, reports, articles); Sources of scientific information. Use of libraries and scientific databases. Disposition of a presentation, and written and oral presentation. Students in the new degree system complete their BSc thesis (6 cr), first-language communication course (3 cr), research data retrieval (1 cr) and maturity test during this course. Maturity test Tue 29 Apr at 16-20. 581259 Ohjelmistotuotanto (Software engineering) (4 cr, 3 cu) University Lecturer Kimmo Simola, period III Tue, Thu 10–12 B123 Management and workflow of software engineering projects. To be taken at the end of your second year when you have completed at least 40 credits of compulsory courses in computer science. Course literature: Ian Sommerville, Software Engineering (8th ed.), Addison-Wesley, 2007. Course exam Fri 29 Feb at 16-19. 581260 Ohjelmistotuotantoprojekti (Software engineering project) (9 cr, 6 cu) University Lecturer Kimmo Simola, periods III-IV, team schedules to be announced.

57

The students will be divided into teams whose task it is to complete a software engineering project that lasts 14 weeks. The work entails going through all stages of software engineering, from specifications to testing. The end product of the project is software and documentation that answers to the client’s requirements. Prerequisites: Software engineering, Database application, Introduction to data communication, and Data structures project. Students following the new degree system complete their work-orientation (1 cr) at the same time. 58161 Tietorakenteiden harjoitustyö (Data structures project) (4 cr, 2 cu) Lecturer Otto Nurmi (no initial lecture). Project teams during each period, schedule in the teaching programme of spring semester. Prerequisites: Data structures. 582203 Tietokantasovellus (Database applications) (4 cr, 2 cu) Lecturer Harri Laine, initial lectures period III Mon 14 Jan 16-18 B222, period IV Mon 10 Mar 16-18 B222. Project teams during each period, schedule in the teaching programme of spring semester. Database programming, simple web-application structures and implementation of web applications. Exercises in database design as well as construction and use of databases. Students will learn some techniques for database and web programming, and how to create simple web applications. The main body of the course consists of the project work. Prerequisites: Introduction to databases, Methods for software engineering (compulsory) and User interfaces (recommended). 581305 Tietokoneen toiminta (Computer organization I) (4 cr, 2 cu) Lecturer Teemu Kerola, period III, initial lecture 10 Mar Mon 14–16 B123 and summary lecture 18 Apr Fri 12–14 A111 (in Finnish). In English: 10 Mar 12–14 B119 (initial lecture) and 17 Apr Thu 12–14 C221 (summary lecture). Execution of a computer program, components of computer hardware, execution environment of hardware/operating system. Prerequisites: Introduction to programming. A multiplan course consisting of online lectures along with online study circle assignments, exercises and projects. Only the initial and summary lectures are given as traditional lectures (in Finnish and English). NB! The exercises start the same week as the first lectures. Course literature: Stallings W.: Computer Organization and Architecture (7th ed.), Prentice Hall, 2006. Course exam Mon 28 Apr at 9-12. 582202 Tietoliikenteen perusteet (Introduction to data communications) (4 cr, 2 cu) Asst Liisa Marttinen, period IV Mon, Wed 12–14 A111 The course deals with the structure and services of data communications networks and especially basic Internet protocols. NB! The exercises start the same week as the first lectures. Course literature: Kurose J. F., Ross K. W.: Computer Networking, A Top–Down Approach Featuring the Internet (3rd ed.), Addison-Wesley, 2005. Course exam Tue 6 May at 9-12.

Intermediate module (optional courses) 582207 Algoritmien suunnittelu (Design of algorithms) (4 cr, 2 cu) Lecturer Otto Nurmi, period III Tue 14–16, Thu 12–14 B222

58

General design principles for algorithms. A collection of common problems and solution algorithms. Algorithm analysis. Prerequisites: Data structures. Course exam Mon 25 Feb at 9-12. 582212 Laskennallinen data-analyysi I (Computational data analysis I) (4 cr, 2 cu) Matti Kääriäinen,PhD; Professor Juho Rousu, period III Wed 12–14, Thu 14–16 D122 Basic concepts and methods of computational data analysis, in theory and practice. The model-selection problem, the basics of learning classification and regression models, as well as data-clustering methods. Useful skills for many advanced courses touching on data analysis in different sub-programmes and the bioinformatics Master’s programme. Course exam Tue 26 Feb at 9-12. 582303 Verkkosovellusten toteuttaminen (Network programming) (7 cr, 4 cu) Lecturer Markku Kojo, periods III–IV, lectures 15 Jan–27 Feb Tue, Wed 12-14 C221. Practical skills for designing and implementing applications using TCP/IP-based data communications in a Unix environment. Prerequisites: Programming in C, Introduction to data communications, Concurrent systems, Data structures project or corresponding skills. The course includes project work. Lectures in period III, exercises and projects during both periods. Preregistration in November 2007. Recommended course literature: Stevens W. R., Fenner B., Rudolf A.M.: UNIX Network Programming, Volume 1 (3rd ed.), Addison-Wesley, 2004. No separate exam. Course exam Mon 28 Apr at 9-12. 582309 Ohjelmointitekniikka (Java) (Software design (Java)) (5 cr, 3 cu) Lecturer Arto Wikla, period III Tue, Thu 14–16 CK112. Introduction to the tools of the Java language: exceptions, implementation methods for graphical interfaces, event-based programming, abstractions of data structures, and programming of concurrency. Prerequisites: Programming in Java, Data structures, Concurrent systems. The exercises are held as study circles. No separate exam. Course exam Thu 28 Feb at 16-19. 582304 XML-metakieli (The meta-language XML) (4 cr, 2 cu) Lecturer Harri Laine, period III Mon, Wed 12–14 A111. The basics of XML. Modelling document structures. Name spaces. Processing XML documents. Layout with style templates. Related standards. Prerequisites: HTML, Programming project (or good programming skills). NB! The exercises start the same week as the first lectures. Recommended reading: Bradley N.: The XML Companion (3rd ed.) Addison-Wesley, 2002. Course exam Wed 27 Feb at 16-19. 582213 Laskennallinen data-analyysi II (Computational data analysis II) (4 cr, 2 cu) Patrik Hoyer, PhD (Tech); Professor Jyrki Kivinen, period IV Wed 12–14, Thu 14–16 B222. Methods in data analysis, such as component analysis methods, core function methods and support vector machines (SVM), as well as basic methods of probabilistic models. Useful skills for many advanced courses touching on data analysis in different sub-programmes and the bioinformatics Master’s programme. Course exam Mon 28 Apr at 16-19. No separate exam. 582208 Laskennan vaativuus (Complexity of computation) (4 cr, 2 cu) University Lecturer Timo Karvi, period IV Wed, Fri 10–12 CK112

59

The formalisms of the Turing machine and their time complexity. The complexity classes P, NP, PSPACE, L and NL are presented next. Some NP-complete problems will be studied in detail, while the problems of other classes will be studied more superficially. Finally, if time permits, some random algorithms will be discussed. Prerequisites: Computational models. Course literature: Sipser M.: Introduction to the Theory of Computation (2nd ed.), Thomson Course Technology, 2006. Course exam Mon 5 May at 9-12.

Advanced module 582456 Approximation Algorithms (8 cr, 4 cu) University Lecturer Juha Kärkkäinen, periods III–IV Tue 12–14, Thu 10–12 C222. The course covers approximation algorithms for NP-Hard optimization problems. Required background: Design of algorithms (Algoritmien suunnittelu) and Complexity of computation (Laskennan vaativuus). Recommended course book: Vazirani V. V.: Approximation Algorithms, Springer, 2001. Course exams: Mon 25 Feb at 9–12 and Mon 28 Apr at 9–12. 582616 Algoritmien suunnittelu II (Design of algorithms II) (4 cr, 2 cu) Lecturer Otto Nurmi, period IV Tue 14–16, Thu 12–14 B222 Deeper insights into the issues covered in the intermediate course Design of algorithms. Representative algorithms and data structures. Algorithm analysis. Course exam Tue 6 May at 9-12. 582417 Hajautetut järjestelmät (Distributed systems) (4 cr, 2 cu) Professor Lea Kutvonen, periods III–IV, lectures 14 Jan–19 Feb Mon, Tue 12-14 B222. Problem areas and conceptualization of distribution, major principles for problem-solving in implementation of distributed decision-making, examples of operating system features. Lectures during period III, independent assignments during period IV. NB: The exercises start the same week as the first lectures. Course literature: Tanenbaum A.S., van Steen M.: Distributed Systems, Principles and Paradigms, Prentice-Hall 2002. Course exam Tue 26 Feb at 9-12. 582452 Mobiiliohjelmointi (Mobile programming) (6 cr, 3 cu) Professor N.N. (Tampere University of Technology), N.N., periods III–IV: 7 Feb-13 Mar Thu 12–15 D204, 3 Apr-8 May Thu 12–15 D204.The goal is to teach the basic principles of the programming of mobile systems and its issues on a general level. The course will be realised as part of the national virtual university project (OSCu). No separate exam. Course exam Thu 8 May at 12-15. 582615 Peer-to-Peer networks (4 cr, 2 cu) Professor Jussi Kangasharju, periods III–IV Mon 10–12 B222. Peer-to-peer technologies have become a key component for building large-scale distributed systems. This course will introduce peer-to-peer systems, discuss their general properties, and the impact of the peer-to-peer principle on practical applications. The course will cover the following topics: currently deployed peer-to-peer systems, resource location on peer-to-peer systems, reliability and performance issues, and legal and privacy issues. Recommended reading: Steinmetz R., Wehrle K.: Peer-to-Peer Systems and Applications, LNCS 3485, Springer, 2005. Course exam: Thu 28 Feb at 16–19 and Wed 30 Apr at 9–12.

60

582607 Protocol software engineering (6 cr, 3 cu) Professor Kimmo Raatikainen, lectures: period III Mon, Thu 16–18 CK112, laboratory: period IV Mon 14–16 CK110. The course consists of two parts: lectures and laboratory. The lecture part covers fundamentals of protocol implementation: protocol design, specification, verification and testing as well as implementation issues including packet classification and filtering, retransmissions and efficiency. Linux traffic control, kernel threads and implementation of IP and TCP are examined as practical examples. The laboratory part consists of 3 projects covering protocol design, protocol specification and verification using SDL, and implementation of a small extension or modification to existing protocol implementation. Prerequisites: Operating systems, Internet protocols, and Programming in C. Network programming course is highly recommended. Course exam: Fri 29 Feb at 16–19. 581366 Spesifioinnin ja verifioinnin perusteet (Basics of specification and verification) (4 cr, 2 cu) Asst Päivi Kuuppelomäki, period III Wed 10-12, Fri 12-14 D122. Modelling processes by formalisms based on transition systems in simple cases, principles of automatic verification without logic, and verification of simple protocols with some software. Course exam Wed 27 Feb at 16-19. 581358 Ohjelmistoarkkitehtuurit (Software architecture) (6-8 cr, 3-4 cu) University Lecturer Jukka Viljamaa, period III Tue, Thu 12–14 D122. Design, description and analysis of software architectures along with design models, styles of architecture, product families, software frameworks and software components. Prerequisites: Software engineering. The course includes a series of assignments (1 cu) to be completed during period IV. Course literature: Koskimies K., Mikkonen T., Ohjelmistoarkkitehtuurit, Gummerus, 2005. Students can only take the lecture part of the course as a separate exam; it covers the compulsory course in the software engineering sub-programme in the old syllabus (3 cu). Course exam Tue 26 Feb at 16-19. 582460 Ohjelmistojen vaatimusmäärittely (Software requirements engineering) (5 cr, 3 cu) Professor Juha Taina, period III Wed 16–18 10, Fri 10–12 D122 . Phases of software requirement specification and the methods used. Prerequisites: Software engineering. Course literature: Bray I.: An Introduction to Requirements Engineering, Addison-Wesley, 2002. Course exam Thu 28 Feb at 9-12. 58144 Ohjelmointikielten kääntäjät (Programming language compilers) (9 cr, 6 cu) Lecturer Juha Vihavainen, periods III–IV: 16 Jan-22 Feb Wed 14–16, Fri 12–14 C221, 12-26 Mar Wed 14–16 C221. Structural parts of compilers: scanning, parsing, semantic analysis and code generation; use of compiler tools. The course includes compulsory projects that will be discussed during exercise sessions. Course literature: Aho A.V., Lam M.S., Sethi R., Ullman J.D., Compilers - Principles, Techniques and Tools, (2nd ed.) Addison-Wesley 2007. No separate exam. Course exam Tue 29 Apr at 9-12. 582617 Ohjelmistojen suunnittelu (Software design) (5 cr, 3 cu) will be cancelled!

61

582491 Hajautetut tietokannat (Distributed databases) (4 cr, 2 cu) University Lecturer Pirjo Moen, period III, initial lecture Mon 14 Jan 9-11 C222 . Distribution of data and query processing, management of distributed transactions, management of replicated databases, concurrent databases, and systems for managing distributed transactions. The course does not consist of lectures but study circles, where students apply investigative learning to study the topics. Course exam Thu 28 Feb at 16-19. 582602 Natural-Language Processing (8 cr, 4 cu) Professor Roman Yangarber, periods III–IV Tue, Thu 12–14 B119. Rule-based and statistical linguistic analysis: morphology, part-of–speech tagging, language modelling, name classification, grammars and parsing, shallow syntax/chunking, semantics, word sense disambiguation, and discourse. Applications that combine several levels of analysis, such as information extraction. Exercises, project work, no exam. Prerequisites: Basic programming skills, interest in language or text, Data structures (Tietorakenteet), Models of computation (Laskennan mallit). 582444 Special course on data mining (4-6 cr, 2-3 cu) University Lecturer Marko Salmenkivi, period III Wed, Fri 10–12 C221 The aim of the course is to obtain good understanding of pattern discovery from the viewpoint of association analysis, including its theoretical background as well as the challenges encountered in real applications. Topics include algorithms for pattern discovery in, e.g., transaction and sequence databases, concise representations of pattern collections, and methods for noise-tolerant pattern discovery. Prerequisites: Course Data mining methods (Tiedon louhinnan menetelmät) or equivalent knowledge of data mining, Johdatus diskreettiin matematiikkaan (Discrete mathematics I) or equivalent knowledge of discrete mathematics. Course exam: Tue 26 Feb at 16–19. 582600 Spatial data mining (4 cr, 2 cu) Asst Antti Leino, period IV Mon, Thu 10–12 C221. The course covers exploratory methods for analysing data with a spatial component, with a slight emphasis on point data. Main topics in the course include modelling spatial dependency, discovering association rules, and spatial clustering. The course consists of lectures and a project assignment. Prerequisites: Data structures, basic knowledge of processing spatial data in relational databases, elements of explorative spatial–data analysis, familiarity with basic statistics or probability theory. The course is a part of the Master's Degree Programme in Geoinformatics, but other students are also welcome. Course exam: Mon 28 Apr at 16–19. 581287 Kolme käsitettä: todennäköisyys (Three concepts: probability) (6 cr, 3 cu) University Lecturer Teemu Roos, period III Wed 13–16, period IV Wed 15-16 B222 . Introduction to Bayesian modelling and data analysis. Special focus on multi-variable methods and Bayes networks. The course lectures will be given during period III, projects and assignments will be due in periods III and IV. The course will be given in English if non-Finnish-speaking students attend it. The course will be completed through projects, no course or separate exam. The course material will be handed out during the lectures.

62

582483 Biological sequence analysis (6 cr, 3 cu) Professor Esko Ukkonen, period III Mon, Tue 14–16 D122 The course covers the basic probabilistic methods for modelling and analysis of biological sequences. Prerequisites: Introduction to Bioinformatics and basics of probability calculus. Course book: Durbin R., Eddy S., Krogh A. and Mitchinson G.: Biological sequence analysis, Cambridge University Press, 1998. Course exam: Fri 29 Feb at 16–19. 582450 Modelling of vision (5 cr, 3 cu) Adjunct Professor Aapo Hyvärinen, period III: 4-20 Feb Mon, Wed 14–16 C222; continues at HUT in period IV. The topics are mechanisms and modelling of human perception. The emphasis is on modelling of visual feature extraction, and modelling of object and scene recognition. The course is most suitable for students specializing in bioinformatics or intelligent systems. Prerequisites: Basic courses in calculus, probability, and linear algebra. The course continues at Helsinki University of Technology in period IV. Course exam: to be announced later. 58037 Tietokoneavusteiset oppimisympäristöt (Computer-aided learning environments) (8 cr, 4 cu) Professor Jaakko Kurhila, periods III–IV, initial lecture 17 Jan Thu 10-12 B222 Design, implementation and evaluation of web education. Web education, group working software and web-learning platforms. The realisation of adaptivity in a web-learning environment. Examples of web-learning environments in use and under development. A web course. No separate exam. The initial meeting on Thu 17 Jan at 10-12 is compulsory for all participants.

Seminars 58308101 Seminar: Virtaus- ja kuljetusalgoritmit (Flow and transport algorithms) (3 cr, 2 cu) Lecturer Otto Nurmi, periods III–IV Mon 12–14 C220 58308111 Research Seminar: Interoperability challenges in inter-enterprise computing (3 cr, 2 cu) Professor Lea Kutvonen, Alexander Norta, PhD; Asst Toni Ruokolainen periods III–IV Tue 14–16 C220. 58308102 Seminar: Congestion control and fairness (3 cr, 2 cu) Professor Jussi Kangasharju, periods III–IV Mon 14–16 C221. 58308112 Seminar: Hot topics in operating system research (3 cr, 2 cu) Professor Kimmo Raatikainen, periods III–IV: Mon 14 Jan 15–16 C220, Mon 10 Mar–21 Apr 16–18 C220. 58305306 Ohjelmistotekniikan linjan pro gradu -seminaari (Software-engineering sub-programme Pro-gradu seminar) (3 cr, 2 cu) Professor Juha Taina, periods III–IV Tue 16–18 C220. 58305319 Seminar: Ohjelmistotuotanto ja tietokonepelit (Software engineering and computer games) (3 cr, 2 cu)

63

Lecturer Juha Vihavainen, periods III–IV Thu 12–14 C220 58308104 Seminar: Current trends in software industry (3 cr, 2 cu) Professor Jukka Paakki, periods III–IV Thu 8–10 C220. 58308103 Seminar: Systemaattisen käyttöliittymäsuunnittelun vaikutukset vaatimusmäärittelyyn (Impact of systematic user-interface design on requirement specification) (3 cr, 2 cu) University Lecturer Sari A. Laakso, periods III–IV Wed 10–12 C222 58308105 Seminar: Epävarman tiedon esittäminen tietokannassa (Presenting unreliable data in a database) (3 cr, 2 cu) Professor Seppo Sippu, periods III–IV Wed 14–16 C220. 58308108 Seminar: Tietoyhteiskunnan teknologiat (Technologies for the IT society) (3 cr, 2 cu) Adjunct Professor Juha Puustjärvi, periods III–IV: 14 Jan Mon 8–12 C220, 4 Feb Mon 8–12 C220, 10 Mar-21 Apr Mon 8–12 C220. 58308106 Tiedon louhinnan seminaari (Seminar on data mining) (3 cr, 2 cu) Professor Hannu Toivonen, periods III–IV Tue 10–12 C220 58308109 Seminar: Predicting structured data (3 cr, 2 cu) Huizhen Yu, PhD; Professor Juho Rousu, periods III–IV Thu 16–18 C220. 58308110 Seminar: Management of biological databases (3 cr, 2 cu) Jan Lindström, PhD, periods III–IV Thu 10–12 C220.

Summer courses 2008 During the summer, the courses Programming project, Database application, and Data-structures project will be arranged both during 14 May-21 June and 30 July-31 August (in Finnish). There will also be project groups for software engineering projects during 14 May-31 August. In cooperation with the Open University, the department arranges courses in the basic module. The Open university’s programme book for summer 2008 will contain more details.

Computer science courses in English Most courses are given in Finnish. Some advanced (Master level) courses are offered in English, taught by foreign visitors at the department or by native Finns. Bachelor level courses will be lectured in Finnish but we have prepared to offer an exercise group in English for some courses during the term indicated below. Most examinations can be taken in English if so requested. The examination material will be available in English in such cases. Please contact the teacher responsible for the course two weeks in advance. All the information here is preliminary. For detailed, up-to-date information please refer to the departmental bulletin boards at the beginning of each semester, the web page

64

http://www.cs.helsinki.fi/instr.engl/fsa/ or contact the Departmental Student Counselling Office, room A232 (2nd floor), Department of Computer Science, Gustaf Hällströmin katu 2b, phone 191 51121. At least the following courses are offered in English (lectures, exercise groups etc.) this academic year. The volume of each course is expressed as ECTS credits (cr). The schedule and descriptions of the contents can be found in the main study programme, some pages earlier, and on the web page of the course.

AUTUMN 2007

Courses (Master’s level) 582610 Performance issues in mobile computing and communication (4 cr) 58066 Artificial intelligence (8 cr) 581286 Three concepts: information (6 cr) 582606 Introduction to bioinformatics (4 cr) 582604 Practical course in biodatabases (4 cr)

Seminars (Master’s level) 58307302 Seminar: Opportunistic networks (3 cr, 2 cu) 58307311 Seminar: Analysis of text (3 cr, 2 cu) 58307309 Seminar: User modelling (3 cr, 2 cu) 58307308 Seminar: Regulatory networks (3 cr, 2 cu)

SPRING 2008

Courses (Master’s level) 582456 Approximation algorithms (8 cr) 582615 Peer-to-Peer networks (4 cr) 582607 Protocol software engineering (6 cr) 582602 Natural language processing (8 cr) 582444 Special course on data mining (6 cr) 582600 Spatial data mining (4 cr) 581287 Three concepts: probability (6 cr) 582450 Modelling of vision (5 cr) 582483 Biological sequence analysis (6 cr)

Seminars (Master’s level) 58308111 Research Seminar: Interoperability challenges in inter-enterprise computing (3 cr, 2 cu) 58308102 Seminar: Congestion control and fairness (3 cr, 2 cu) 58308112 Seminar: Hot topics in operating system research (3 cr, 2 cu) 58308104 Seminar: Current trends in software industry (3 cr, 2 cu) 58308109 Seminar: Predicting structured data (3 cr, 2 cu) 58308110 Seminar: Management of biological databases (3 cr, 2 cu) The following courses will be lectured in Finnish but we have prepared to offer an exercise group in English during the term indicated below:

65

AUTUMN 2007 581324 Introduction to the use of computers, 4 cr 582102 Introduction to computer science, 4 cr 581325 Introduction to programming, 5 cr 581326 Programming in Java, 4 cr 582101 Methods for software engineering, 4 cr 582206 Models of computation, 6 cr 581332 Concurrent systems, 4 cr 582203 Database application, 4 cr 58161 Data structures project, 4 cr

SPRING 2008 581324 Introduction to the use of computers, 4 cr 581328 Introduction to databases, 4 cr 58131 Data structures, 8 cr 58160 Programming project, 4 cr 581305 Computer organization I, 4 cr 581259 Software engineering, 4 cr 58110 Scientific writing, 10 cr (only for students majoring in CS) 582202 Introduction to data communication, 4 cr Descriptions of these courses (including the schedule) will be available on their web pages. An exercise group in English or some other advice might be available according to demand for other courses, especially in sub-programmes Data communications software and Distributed systems and data communication. It is possible to rake the course User Interfaces (582201) in English by special arrangements (a separate exam) only. Foreign Student Advisor: Dept of Computer Science PO Box 68 (Gustaf Hällströmin katu 2b) FI–00014 University of Helsinki Finland fax. +358 9 191 51120 E-mail: [email protected] http://www.cs.helsinki.fi/opiskelu/index.en.html

Teachers Please contact teachers only during their office hours. The teachers’ offices are located at the Department of Computer Science (Exactum, Kumpula campus). Office hours will be held on 27 August-20 December 2007 in the autumn term and 14 January-30 May 2008 in the spring term. The exact schedules will be available at the start of term on the web page http://www.cs.helsinki.fi/ihmiset/vastaanottoajat.html and by the office of each teacher, as well as their home pages. Ahonen-Myka, Helena, PhD. Elomaa, Tapio, PhD, Adjunct Professor, Professor at Tampere University of Technology Eloranta, Satu, PhLic, Asst. Erkiö, Hannu, PhD, Adjunct Professor, Lecturer

66

Floréen, Patrik, PhD, Adjunct Professor, University Lecturer (on leave of absence), Senior Researcher Gionis, Aristides, PhD, University Lecturer, on leave of absence. Gustafsson, Juha, MSc, Researcher. Heikkinen, Tiina , PhD, Adjunct Professor. Heinonen, Oskari, MSc, Assistant Hoyer, Patrik, DSc (Tech), Post-doc Researcher. Hurri, Jarmo, DSc (Tech), Post-doc Researcher. Hyvärinen, Aapo, PhD, Adjunct Professor, University Lecturer, on leave of absence, Senior Researcher. Hyvönen, Eero, DSc (Tech), Adjunct Professor, Professor at Helsinki University of Technology. Hyvönen, Saara, DSc (Tech). Kangasharju, Jaakko, PhLic, Researcher. Kangasharju, Jussi, PhD, Professor. Karvi, Timo, PhD, University Lecturer Kaski, Samuel, DSc (Tech), Adjunct Professor, Professor at Helsinki University of Technology. Kekäläinen, Jaana, DSocSc, Adjunct Professor, Professor at the University of Tampere. Kerola, Teemu, PhD, Lecturer Kivinen, Jyrki, PhD, Professor Kivioja Teemu, PhD, Researcher. Koivisto, Mikko , PhD, Post-doc Researcher. Kojo, Markku, MSc, Lecturer Kontkanen, Petri, MSc, Researcher. Koskimies, Kai, PhD, Adjunct Professor, Professor at Tampere University of Technology Kujala, Teija , MSc, Amanuensis. Kurhila, Jaakko, PhD, Professor Kutvonen, Lea, PhD, Adjunct Professor, Professor Kuuppelomäki, Päivi, MSc, Assistant Kärkkäinen, Juha, PhD, University Lecturer Kääriäinen Matti , PhD, Researcher. Laakso, Sari A., MSc, University Lecturer Laine, Harri, PhLic, Lecturer Laine, Tei, PhD, University Lecturer Lehtonen, Miro, PhD, PhD Asst. Leino, Antti, PhD, Asst. Lemström, Kjell, PhD, Adjunct Professor, Academy Research Fellow. Lindén, Greger, PhD, Research Coordinator. Lindström, Jan, PhD. Lokki, Heikki, PhLic, Lecturer Manner, Jukka, PhD, Adjunct Professor, University Lecturer Mannila, Heikki, PhD, Academy Professor. Marttinen, Liisa, MSc, Asst. Mielikäinen, Taneli, PhD, Adjunct Professor. Moen, Pirjo, PhD, University Lecturer Mononen, Tommi, MSc, Researcher Myllymäki, Petri, PhD, Adjunct Professor, Professor

67

Mäkelä, Matti, DSc (Techn), Professor Emeritus Mäkinen, Veli, PhD, Adjunct Professor, Academy Research Fellow. Niklander, Tiina, PhLic, Amanuensis (on leave of absence), University Lecturer. Norta, Alexander, PhD, Researcher. Nurmi, Otto, Dr.rer.pol., Lecturer. Nurmi, Petteri , MSc, Researcher. Nykänen, Matti, PhD, Adjunct Professor, Professor at the University of Kuopio. Orponen, Pekka, PhD, Adjunct Professor, Professor at Helsinki University of Technology Paakki, Jukka, PhD, Professor. Pasanen, Tomi, PhD, University Lecturer Perkiö, Jukka, MSc, Asst. Pienimäki, Anna, MSc, Asst (on leave of absence). Pitkänen, Esa, MSc, University Lecturer. Puustjärvi, Juha, PhD, Adjunct Professor, Professor at Lappeenranta University of Technology. Raatikainen, Kimmo, PhD, Professor Roos, Teemu, MSc, University Lecturer. Rousu, Juho, PhD, Adjunct Professor, Professor. Ruohomaa, Sini, MSc, Asst. Ruokolainen, Toni, MSc, Asst. Räihä, Kari-Jouko, PhD, Adjunct Professor, Professor at the University of Tampere Salmenkivi, Marko, PhD, Adjunct Professor, University Lecturer. Sevon, Petteri, PhD, Researcher. Silander, Tomi, MSc, Researcher. Simola, Kimmo, MSc, Amanuensis. Sippu, Seppo PhD, Professor Soisalon-Soininen, Eljas, PhD, Adjunct Professor, Professor at Helsinki University of Technology Taina, Juha, PhD, University Lecturer Takala, Tapio, DSc (Tech), Adjunct Professor, Professor at Helsinki University of Technology Tarhio, Jorma, PhD, Adjunct Professor, Professor at Helsinki University of Technology Tarkoma, Sasu, PhD, Researcher. Tienari, Martti, PhD, Professor Emeritus Tirri, Henry, PhD, Professor (on leave of absence) Toivonen, Hannu, PhD, Professor, Head of Department Ukkonen, Esko, PhD, Professor, Research Director (HIIT). Valmari, Antti, DSc (Tech), Adjunct Professor, Professor at Tampere University of Technology Veijalainen, Jari, Dr.-Ing., Adjunct Professor, Professor at the University of Jyväskylä Verkamo, Inkeri, PhD, Professor Vihavainen, Juha, PhLic, Lecturer Wikla, Arto, MSc, Lecturer Viljamaa, Jukka, PhD, University Lecturer. Yangarber, Roman, PhD, Professor. Yu, Huizhen, PhD, Researcher.