Computer Science 1999-2000
Programme Guide
See the autumn and spring teaching plans for updates to the course schedule |
---|
- Computer Science Courses in Swedish
- Computer Science Courses in English, see also instruction in English
Contents
- Department of Computer Science
- Studies
- General Instructions for Study
- Degree requirements
- Planning of Studies
- Study Schedule
- Postgraduate Studies
- Course Schedule
- Literature
- Computer Science Courses in English
- Computer Science Courses in Swedish
- Teachers
Department of Computer Science
P.O. Box 26 (Teollisuuskatu 23)
FIN-00014 University of Helsinki
Telephone 708 51 (exchange), direct numbers 708...
Chairman: Prof. Timo Alanko
Secretary (A307, 3rd floor): Office hours for students Mon - Fri 12 - 14
Student Counselling (B439, 4rd floor): tel. 708 44222. Consultation times on the WWW page http://www.cs.Helsinki.fi/opintoneuvonta/, on notice-boards and on the automatic answering machine of the Student Advisor Office.
The library of the Department of Computer Science and the Computing Centre is located on the 2nd floor. A library card is required for home reading. Students may apply for a card when they have taken at least 20 cu of computer science studies. More information is available at the library. The library is open Mon-Thur 8-19 and Fri 8-15:45. In June and August, the library is open Mon-Fri 8-15:45 and closed in July.
General
The development of information technology (IT) has exceeded all expectations. IT has a daily influence on the way we work, on economy and on different sectors in society. Finland has kept up well with this development and Finnish information technology has become a national strength in a short time.Studies offered by the Department of Computer Science give an excellent competence to work in the IT field. The research of the field is challenging, full of open problems, that can often be applied directly.
As a research field, computer science is close to mathematics as an abstract methodological science; in addition, it is related to natural sciences and engineering. Computer science study methods based on algorithms used for representing and modifying information: theory, analysis, design, efficiency, implementation and application. Such methods can be automated, i.e., implemented as computer programs. The basic question in computer science is: What can be automated and how is it done efficiently?
Studies in computer science can be compared to studies in mathematics and statistics. Compared to mathematics, computer science takes a constructive approach. Practical laboratory work (programming and design) is an important part of the curriculum.
Mathematics is the most important minor subject for students studying computer science. Many computer applications are based on mathematical models and mathematical methods are often important in computer science research. The studies in mathematics focus, among other things, on exact decision making and are thereby a methodological basis for solutions in design and implementation of information technology.
Computer science (or computing) is called tietojenkäsittelytiede in Finnish, datavetenskap in Swedish, Informatik in German and informatique in French.
Computer Science and Employment
Graduates may work in very different fields in industry, administration, research and education. There is a shortage of IT experts and of employees with a fairly good knowledge of IT and a degree in some other subject. Students that wish to work in the IT field, may graduate with computer science as their major subject, or with some other subject as a major subject and computer science as a strong minor. Students interested in computer applications are recommended to follow this latter path.IT experts usually work with IT questions in organisations or in IT companies, or in education and research. As a research field, computer science is developing fast and it is a noteworthy choice for a research career.
Studies in computer science will give the student a basic knowledge of concepts in the field focusing on all-round knowledge that gives a good start for specialisation in practical work life. Practical skills are drilled in laboratory work and in thesis writing. Still, the students are expected to learn many practical skills when working, and working during the summer term in industries is recommended.
Studies
Degrees, Sub-programmes, and Specialisation Areas
The basic degrees of the Computer Science Programme are the Bachelor of Science (B.Sc.) and the Master of Science (M.Sc.). The Bachelor's degree requires at least 120 credit units (cu) of studies, the Master's Degree at least 160 cu (a credit is defined as comprising 40 hours of work). The Bachelor's degree may be completed in three years. A student aiming at a Master's Degree or at postgraduate studies does not have to complete the Bachelor's Degree; it may, however, be a suitable intermediary degree. The Master's Degree may be taken in five years. The postgraduate degrees are the Licentiate of Philosophy (Ph.Lic.) and the Doctorate of Philosophy (Ph.D.). The structure of each degree is explained in the section on degree requirements. Degree requirements have changed substantially for the academic year 1999-2000. Students who have entered the programme earlier, and who wish to complete their degrees according to the new requirements, find instructions on how to transfer to the new requirements later in the text.The programme has three sub-programmes: Computer Science, Applied Computer Science, and Teacher in Computer Science. The largest sub-programme is Computer Science, divided into five specialisation areas. The programme aims at educating computer experts for the information technology field or computer scientists for research. The specialisation areas are described further in the chapter on Planning of Studies. Students who complete their degree according to the Teacher in Computer Science sub-programme become teachers in information technology in comprehensive and high schools, as well as in vocational schools and in educational sections of companies. Applied Computer Science is suitable for students who wish to have a deeper knowledge in some minor subject where they want to apply computer science. According to the requirements, fewer computer science studies are required in Applied Computer Science and Teacher in Computer Science.
Students with computer science as their major subject start by taking the Cum Laude Approbatur study module. Most specialisation areas follow the same requirements here. The Cum Laude Approbatur module forms the base of the Bachelor Degree. Students who want to complete a Master's Degree must continue to take the Laudatur study module. At this stage, the sub-programmes and the specialisation areas differ. In Computer Science (including its specialisation areas) and in Applied Computer Science, there are no special restrictions. The students choose one sub-programme by taking courses required by that sub-programme and specialisation area. The Teacher sub-programme requires the students to pass an entrance test. Students who have completed a certain number of credit units (the Approbatur study module and the course data Structures) can take this test. (See also the Section on Teachers in the Faculty Programme Book.)
Study Rights
Only students with computer science as a minor subject may complete the Approbatur study module. All students of the university have the right to take this module (up to 25 cu). All students of the university who have completed the Approbatur study module with at least the grade 2/3 have the right to complete the Cum Laude Approbatur study module (up to 50 cu).Only students who are majoring in computer science may complete the course in Scientific Writing and the Laudatur study module. Students minoring in computer science who wish take the Laudatur study module, may do so, if they have completed the same level in their major subject and the Cum Laude Approbatur module in computer science with grade at least 2/3.
Students in mathematics, physics and chemistry may change their major subject to computer science by an application to the Faculty of Science. More information about this can be found in the Faculty Programme Book (faculty of Science), or from the Student Advisors of the department and the faculty.
Tutoring
The aim of tutoring is to make the students better acquainted with the department and the faculty. The students register for tutoring, when they are ready to take the Data Structures course, usually in the beginning of their second study year. They belong to the same tutor group for about two years. Tutoring is compulsory.Students who wish to apply for membership in the prospective researchers group, also register for tutoring in the autumn of 1999. If an admitted student has joined a tutor group before, he or she will automatically be transferred to the tutor group of the prospective researchers.
In each group, a teacher guides and supervises the students. The teacher helps the students set up a study plan. The group organises small seminars for developing working skills with the computer, and for learning more about the specialisation areas of the department and about other general things regarding academic life and work. The student also meets with his or her tutor regularly.
New tutor groups in the autumn of 1999 are focused on students who have started their studies in 1998. More information about tutoring can be found in the list of the Cum Laude Approbatur courses of this autumn.
Student Counselling
Most information about studies can be found in this guide. More information is available on the notice-boards on the 4th floor and on the WWW pages (in Finnish) http://www.cs.helsinki.fi/opinnot/. Information about student counselling - office hours, answers to frequent questions, etc. - can be found on the WWW page http://www.cs.helsinki.fi/opintoneuvonta/.Up-to-date information about teaching and the revised course schedule may be found each term on the notice-boards of the department and on the WWW pages of the department at http://www.cs.helsinki.fi/. Course contents and requirements for exams are described in course descriptions and on WWW pages at http://www.cs.helsinki.fi/opiskelu/.
Information about the department, research groups and services offered by the department may be found on the notice-boards of the 3rd and 4th floors and on the WWW pages of the department.
Student counselling is available in room B439 (tel 708 44222) at announced office hours. (In English, in room A323 on Mon, Wed, Thur 11-11:30, tel. 708 44164.). Student counselling in matters concerning Laudatur studies and postgraduate studies is given by teachers during their office hours. Regarding a specific course, it is best to contact the teacher of the course.
Important dates
Orientation studies for first year students (in computer science) are arranged on Thursday 2 September, 9-12 in the Auditorium of the department, Teollisuuskatu 23, 1st floor. (Orientation studies for foreigners are arranged in Porthania, Yliopistonkatu 3, room PII on 6-9 September, 1999.) General orientation studies are arranged each year for all the new students of the university. Also peer tutoring is arranged by older students. Peer tutoring is optional but recommended.Other important dates of the academic year 1999-2000
Autumn 1999:
- Orientation for students upgrading their studies on 25 August 1999 at 14-18.
- Orientation studies for first year students in the Auditorium on 2 September 1999 at 9-12.
- Course registration starts on 1 September 1999 at 9:00.
- Registration for tutor groups at the same time as registration for courses.
- Registration at the university (present/non-present) before 15 September 1999.
- Instruction starts on 13 September 1999.
- Registration for the Software Engineering Project (spring term) on 30 November 1999.
- Registration for Scientific Writing (spring term) on 30 November 1999.
- Instruction ends on 10 December 1999.
- Course registration starts on 10 January 2000 at 9:00.
- Instruction starts on 17 January 2000.
- Open Doors 7 April 2000.
- Registration for Scientific Writing (autumn 2000) 30 April 2000.
- Application deadline for prospective researchers group 30 April 2000.
- Instruction ends on 10 May 2000.
- Registration for the Software Engineering Project (summer 2000) 15 April 2000.
- Registration for the Software Engineering Project (autumn 2000) 31 May 2000.
- Application deadline for Teacher sub-programme 9 March 2000.
- Course registration starts on 3 May 2000 at 9:00.
General Instructions for Study
Studies in computer science are mostly based on courses including lectures, exercise sessions and laboratory work. Attending lectures will help the students to find the essentials in available literature. Students learn to work independently by solving exercises and in laboratory work. Only attending courses may not lead to good progress: the most important thing is the independent work of the student. Time is important, the students should spend as much time studying on their own as on attending instruction sessions.Working during terms usually slows down studies, and in some cases students never graduate. Especially, the Master 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 is recommended for learning practical skills in the IT field.
Courses
It is important that the students take the courses in the right order. Some courses require the students to have certain prerequisites (completed courses or comparable skills and knowledge) before they can take the course.Students usually complete a course by attending the lectures and then taking one or two exams of the course. There may also be some (optional) exercise sessions, laboratory work or some other small tasks. Interrupting a course several times may lead to restrictions on who may attend a course, and this should be considered in planning the studies. An optional way to complete a course is to take a final exam in the course. For most students, it is easier to attend lectures; independent exercise work is usually essential for learning the course contents. The course descriptions contain more information on how to complete individual courses (see the notice-boards on the 4th floor, and the WWW page http://www.cs.helsinki.fi/opiskelu/).
Most course grades are based on points obtained in the different components of the course. Courses are graded from 1-/3 to 3/3. The grade 1- usually requires the student to obtain at least half of all possible points in the course. The grade 3/3 requires about 5/6 of all possible points. More information about completing courses can be found on the page http://www.cs.helsinki.fi/kokeet/kuulustelu.html (Credits of the Department of Computer Science).
Some Laudatur courses may be given in English according to demand. For more information see Computer Science Courses in English.
Laboratory Work
In laboratory work, students use their knowledge acquired in the courses in designing and implementing computer programs and information systems. Laboratory work is divided into separate courses. Attending laboratory work requires that the student has completed the corresponding course before starting the work. The laboratory work must be started no less than a year and a half after completing the corresponding course.There are three laboratory courses: the Programming Project (prerequisite courses are Introduction to Programming, Programming in Java or a corresponding course), the Database Application Project (prerequisite courses Introduction to Application Design and Basics in Databases), and the Data Structures Project (prerequisite course Data Structures). All these laboratory courses are compulsory for students majoring in computer science. Students minoring in computer science must include either the Programming Project or the Database Application Project (or both) in their Approbatur module. Students minoring in computer science who wish to complete the Cum Laude Approbatur module must take all three laboratory courses.
Laboratory work is performed individually or in pairs. About 10 students form a group with a supervisor. The group meets a few times to discuss general things about the work, and the students also present their solutions to each other. All students must attend these general meetings.
In addition to this, the students may have individual supervising, firstly from their own supervisor, but in technical questions the students may turn to other laboratory supervisors during their office hours. The students must report on their progress every week to their supervisor. Groups meet during a six-week period which means about 15 hours of work per week. The work must be finished during this period, otherwise the student is considered having interrupted the work and s/he will be eligible for another (new) group only by joining a queue of other "interrupters".
Students register for laboratory courses through the registration system. Registrations may be cancelled two days before the course starts at the latest. If the student fails to show up during the first group meeting without contacting the supervisor beforehand (or the person responsible for the entire laboratory), s/he will lose her/his place in the group. Later, s/he will be able to register for the laboratory only by joining the queue of interrupters.
If there is room in the group, it will be filled with students from the list of interrupters, firstly those who show up at the first group meeting. When the group is filled up, students attending the course for the first time will have priority. It is, however, important that the student is present at the first group meeting. The person responsible for the laboratory will inform about new groups on the WWW pages of the course. Queuing students should regularly check these WWW pages.
Software Engineering and the Software Engineering Project
This course aims at introducing the methods of software engineering and team work, as well as research and development in the field. The course Software Engineering contains conceptual, theoretical and practical material about software engineering. These skills are needed for the Software Engineering Project where students in groups of four to six persons design, implement and document a computer program. The course is given both in autumn and spring. Projects are organised in summer, too.Students may attend the Software Engineering course after they have completed the Programming Project, the Database Application Project, the courses Data Structures, and Programming and Computational Models (including courses that are prerequisites for these courses). Attending the Software Engineering Projects requires the students to have completed the Software Engineering course and (excluding Scientific Writing) all compulsory courses included in the Cum Laude Approbatur module. The students must attend the Software Engineering Project during the following (or the next after that) term after they have completed the Software Engineering course. Students must complete the Software Engineering Project during one term.
The Software Engineering Project demands concentrated work of at least 20 hours per week. To attend the project, students must register in advance, before the middle of April for the summer projects, in May for the Autumn projects and in November for the spring projects. Prerequisites must be filled at registration time. Each term the department presents suitable project descriptions usually connected with the departmental research. The project groups are formed after the registration closing dates and the groups start their work immediately when the new term begins. The summer project groups start their work in the middle of May.
Scientific Writing
In the course Scientific Writing, the students focus on information retrieval and on using scientific source material, especially in writing and oral presentations. Only students majoring in computer science may attend this course. Students may register for this course when they have completed the compulsory Cum Laude Approbatur lecture courses and laboratory work (excluding Software Engineering).The topics of the essays and surveys of the course correspond to the specialisation areas and research directions at the department. Researchers and teachers of the specialisation areas supervise groups of 5-6 students. When registering, the students may choose the specialisation area they are interested in. (Some restrictions are possible due to restricted resources.)
The course Scientific Writing is organised every term and it requires preregistration during the preceding term (for the autumn before the end of April, and for the spring before the end of November). A Swedish and/or English group is also organised according to demand (and a suitable teacher).
Seminars
2-4 cu of seminars are included in the Laudatur module. Seminars based on presentations and discussions require the student to present at least one topic and actively take part in discussions. In other types of seminars, the same amount of work is required. Seminars are graded on the presentation, on a written survey of the topic and other activity. The extent of seminars that meet weekly during one term are usually 2 cu. Students are required to be present during at least 3/4 of the regular weekly meetings. Students majoring in computer science are recommended not to participate in their first seminar until they are taking the course in Scientific Writing or later. Usually only a limited number of students (15) may attend a seminar. If more students want to attend, the teacher decides how many he or she wants to accept.Some seminars may be in English according to demand. For more information see Computer Science Courses in English.
Master Thesis
The Master Thesis (in Finnish pro gradu) is the final work done independently by the student for his or her M.Sc. degree. The thesis requires about 600 hours of work (in Teacher in Computer Science only 400 hours). Students may start their thesis work when they have completed the Cum Laude Approbatur module and most of their Laudatur studies. The thesis requires at least four months of concentrated work, and the students should not take other courses during this time.The student agrees on the topic of the thesis with the professor responsible for the specialisation area (or sub-programme). Every student is assigned one or two supervisors. The professor responsible for the so called Laudatur laboratory follows the progress of the student. The student returns both a plan of the thesis and the thesis itself in two copies to the supervisor. Usually, the student meets with her/his supervisor regularly; if needed, the student may also contact the professor of the Laudatur laboratory. If the work is performed in a supervised group, the student is required to attend group meetings. If the student has not taken the maturity test for the Bachelor's degree, s/he takes the test, when s/he has returned the thesis for examination. Students can take maturity tests whenever there are final exams.
The student has one year to complete her/his thesis. Usually the thesis can be completed in less time. If, however, the student is not able to complete the thesis in one year, s/he must speak with his supervisor(s) and apply for an extension time.
The work is divided into two parts (regarding monitoring and supervising):
- Introduction to the topic (about 200 hours) and
- Independent research (about 400 hours).
More instructions about writing the thesis plan and the Master Thesis may be found on the notice-board nr 10 on the 4th floor and on the WWW page http://www.cs.Helsinki.FI/opiskelu/Laudatur/gradu/graduohje.html.
Licentiate and Doctoral Theses
Instructions on licentiate and doctoral theses can be had from. professors and researchers of the department.Credit Books
Credits are registered in the credit register of the university. Students are also given a personal credit book where completed studies are noted by the teachers. Students do not have to ask for these signatures, but sometimes they may need to do so if the credit register has not been updated. Usually, the teacher of a certain course will enter the records (in the credit book); regarding laboratory work, there is a teacher responible for each laboratory course. Students may visit teachers for this during their office hours. They can also leave their credit book with the porters on the first floor, fill in a small credit application form and pick up the credit book after a few days. Forms are available from the porter on the first floor. There is a list of teachers who are responsible for courses and study modules and who give credits on the WWW page http://www.cs.helsinki.fi/opiskelu/ohjeet/merkinnat.html.Students must fill in an application for study module credits because module components can partly be chosen by the students themselves. Course credits that are included in module credits may be no more than seven years old. There is no time limit for module credits (to be included in the degree).
To obtain the credit mark by the responsible teacher, the student should leave her/his credit book, a copy of the registration records maintained by the university and an application form with a list of courses that should be included in the module. The courses must be included in the official registration records, or they must have been entered in the credit book. Forms are available from the secretary (A307) on the 3rd floor, and from room A412.
The Approbatur module credit is given by Prof. Matti Mäkelä, and the Cum Laude Approbatur credit by Prof. Inkeri Verkamo.
Laudatur module credits according to curricula before 1999 are given by Professors Kimmo Raatikainen (Software), Pekka Kilpeläinen (Teacher), Matti Mäkelä (General, Applied Computer Science) and Hannu Erkiö (Information Systems).
Laudatur module credits according to the new curriculum are given by the professors responsible for the specialisation areas in Computer Science: Jyrki Kivinen (Algorithms), Henry Tirri (Intelligent Systems), Jukka Paakki (Software Engineering), Kimmo Raatikainen (Distributed Systems and Data Communication) and Hannu Erkiö (Information Systems)
Laudatur module credits according to the new curriculum in Applied Computer Science is given by Prof. Matti Mäkelä, and in Teacher in Computer Science by Prof. Pekka Kilpeläinen.
The students also need a module credit for Other Studies. This credit is given by the teacher who gives the Cum Laude Approbatur or the Laudatur credit. The student must return a list of studies that s/he wants to include in this module. Course credits must be present in the registration records or in the credit book.
Grades of Study Modules
Study module grades are computed in the following way:
- the module grade (1, 2 or 3) is the weighted average value of the component courses
- pluses and minuses are worth 1/3
- (only) the closed interval 2- .. 2+ gives the grade 2 (an average above 2+ gives the grade 3 and an average below 2- the grade 1)
Studies in Other Institutions
If a student has completed IT courses in other institutions (e.g., other universities or a 'datanomi' degree or a tradenomi degree), these studies may be accepted by the department as part of the degree in computer science. The student must fill in an application form and return it to the department. More instructions are available on the WWW page http://www.cs.helsinki.fi/opiskelu/ohjeet/hyvlukohje.html and on notice-board nr 8 on the 4th floor. Application forms are available from the Student Counselling room (B439) and from the secretary (A307).Prospective researchers
The group of prospective researchers consists of students who aim at becoming researchers in computer science or in the IT field.Students take their Master's Degree as an intermediate degree and then continue for a postgraduate degree. The groups consist of second to fourth year students. When taking Laudatur studies, the students start working in a research project and join one of the graduate schools HeCSE or ComBi. When they graduate, they receive a certificate stating that they have been members of the group.
In May every year about 10 students are chosen for a new prospective researchers group the next autumn term. (In the autumn of 1999, students join this group by registering for the ordinary tutor groups.) The choice of students is based on study progress during the first year and on an interview.
Students whose progress is slow and whose grades are low may be removed from the group. A student making good progress may also join the group at a later stage.
The group has no separate degree requirements, certain courses are recommended. Students are recommended to take the Cum Laude Approbatur module in mathematics. In addition, the department tries to provide courses that are more focused on research, more demanding laboratory work, and summer trainee positions at the department. The students have their own work office.
Upgrading studies
A new programme for upgrading studies in computer science starts in the autumn of 1999. It aims at teaching IT knowledge to persons with a degree in another subject, or students who want to change their major subject into computer science. Participants have been accepted based on a separate selection. The programme continues in the year 2000 when new students are accepted.There is a meeting for accepted students on 25 August 1999 at 14-18. The teachers will present the degree structure and studies at the department. The students will also be divided into tutor groups. Each group has a teacher or supervisor who will guide the students to set up an individual study plan. Preliminary plans should be ready well before the autumn term starts.
The accepted students should start their studies with second year courses according to the model study schedule. Especially, there is a basic course aiming at refreshening basic knowledge in programming and software implementation in a modern environment that the students should attend. The course contains essential parts from the first study year courses that are important for later studies. Among other things, the course contains parts such as object-oriented programming, programming in Java, and an introduction to the hardware and software environment of the department. The course is aimed at students (upgrading their studies) who are unfamiliar with the concepts mentioned above. Also other students are accepted for the course, based on applications, e.g., students who have interrupted their studies and who want to update their IT knowledge before continuing their studies.
There will be separate exercise sessions in different courses for students upgrading their studies. The need for separate exercise sessions will be determined later through the tutors.
Degree requirements (syllabus)
Undergraduate and graduate programme
BACHELOR OF SCIENCE (120 cu)
At least 120 credits are required for the Bachelor Degree.
- Cum Laude Approbatur in computer science (at least 55 cu) and maturity test
- Minor subject at least 45 cu
- Other studies at least 6 cu
A student studying to be a teacher can complete the Bachelor's Degree but s/he will not have competence as a teacher (a Master's Degree is required).
MASTER OF SCIENCE (160 cu)
At least 160 credits are required for the Master's Degree.
Computer Science:
- Laudatur (at least 95 cu) and maturity test
- Minor subject (at least 45 cu)
- Other studies (at least 6 cu)
Applied Computer Science:
- Laudatur (at least 80 cu) and maturity test
- Minor subject (at least 60 cu)
- Other studies (at least 6 cu)
Teacher in Computer Science:
- Laudatur (at least 75 cu) and maturity test
- Minor subject (at least 70 cu)
- Other studies (at least 6 cu)
1. Major Subject Studies
CUM LAUDE APPROBATUR MODULE IN COMPUTER SCIENCE (46-69 cu)
581324-7 Introduction to the Use of Computers, 2 cu
581325-0 Introduction to Programming, 3 cu
581326-3 Programming in Java, 2 cu
581327-6 Introduction to Application Design, 2 cu
581328-9 Basics in Databases, 2 cu
58160-8 Programming Project, 2 cu
58123-3 Computer Organization I, 2 cu
581329-2 Database Application Project, 2 cu
581330-2 Programming and Computational Models, 2 cu
58131-8 Data Structures, 4 cu
581331-5 Operating Systems Services, 2 cu
581332-8 Concurrent Systems, 2 cu
581333-1 Data Communication Services, 2 cu
58161-5 Data Structures Project, 2 cu
581334-4 Database Management, 2 cu
581259-4 Software Engineering, 3 cu
581260-4 Software Engineering Project, 6 cu
58110-3 Scientific Writing, 4 cu
Optional Cum Laude Approbatur courses and Laudatur courses can be incorporated in the Cum Laude Approbatur module.
Examples of optional Cum Laude Approbatur courses:
58064-3 User Interfaces, 4 cu
58129-5 The Unix Platform, 3 cu
58127-1 Programming in C, 2 cu
581251-0 Software Design (C++), 3 cu
581335-7 Network Application Programming, 3 cu
581337-3 Languages for Artificial Intelligence, 3 cu
LAUDATUR MODULE IN COMPUTER SCIENCE
In the Laudatur module, the students must include, optional Cum Laude Approbatur or Laudatur courses, in addition to requirements presented below, in order to achieve the minimum required amount of credits. In a minimum requirement Laudatur (95, 80 or 75 credits) there may be 6 credits of Cum Laude Approbatur courses at most.
Within a specialization area, the student may, on agreement with the department, include suitable courses from other sub-programmes or specialisation areas, degree programmes or universities.
Computer Science (at least 95 cu)
Studies in all specialization areas:
Cum Laude in Computer Science, at least 46 cu
581336-0 Theory of Computation, 3 cu
Seminars, at least 4 cu
50131-2 Master Thesis (Pro gradu), 16 cu
Specialization area in Algorithms
58053-7 Design and Analysis of Algorithms, 5 cu
At least 15 cu of other Laudatur courses suitable for the specialization area, e.g. of the following
58093-3 String Algorithms, 4 cu
58147-9 Machine Learning, 4 cu
58066-7 Artificial Intelligence, 4 cu
58143-1 Data Compression, 4 cu
58074-2 Computer Graphics, 4 cu
581265-9 Digital Signal Processing, 3 cu
581270-1 Basics of Image Processing, 2 cu
581271-4 Applications in Image Processing, 2 cu
581252-3 Robotics, 4 cu
581338-6 Algorithm Technology, 4 cu
581354-8 Database Structures and Algorithms, 4 cu
581257-8 Information Retrieval Methods, 3 cu
Specialization area in Intelligent Systems
At least 6 cu of the following:
581286-6 Three Concepts: Information, 4 cu
581287-9 Three Concepts: Probability, 3 cu
581339-9 Three Concepts: Utility, 3 cu
At least 14 cu of other Laudatur courses suitable for the specialization area, e.g. some of the following:
58053-7 Design and Analysis of Algorithms, 5 cu
58147-9 Machine Learning, 4 cu
58066-7 Artificial Intelligence, 4 cu
581252-3 Robotics, 4 cu
58143-1 Data Compression, 4 cu
581550-4 Data Mining, 3 cu
Specialization area in Software Engineering
581358-9 Software Architectures, 3 cu
581359-3 Software Processes and Quality, 3 cu
At least 6 cu of the following:
58144-8 Compilers, 5 cu
581360-3 Software Project Management, 2 cu
581343-8 Software Project Management - Project Work, 2 cu
581361-6 Software Testing, 3 cu
58153003-1 Software Performance Engineering, 2 cu
581362-9 Principles of Programming Languages, 4 cu
581356-4 Commercialization of Software, 3 cu
Optional Laudatur studies, at least 8 cu
Specialization area in Distributed Systems and Data Communication
581346-7 Basics of Operating Systems, 2 cu
581347-0 Basics of Data Communication, 2 cu
581348-3 Computer Architecture, 2 cu
581349-6 Basics of Specification and Verification, 2 cu
581350-6 Distributed Systems, 3 cu
At least one of the following:
581351-9 Operating Systems Methodology, 3 cu
581352-2 Data Communications Systems, 3 cu
58094-0 Semantics of Programs, 3 cu
Optional Laudatur studies, at least 6 cu
Specialization area in Information Systems
581353-5 Modelling of databases, 2 cu
581354-8 Database Structures and Algorithms, 4 cu
At least 6 cu of the following:
581541-0 Transaction Processing, 4 cu
581550-4 Data Mining, 3 cu
581290-5 Processing of Structured Documents, 3 cu
581257-8 Information Retrieval Methods, 3 cu
581274-3 Spatial Information Systems, 3 cu
Optional Laudatur studies, at least 8 cu
Applied Computer Science (at least 80 cu)
Cum Laude in Computer Science, at least 46 cu
50131-2 Master Thesis (Pro gradu), 16 cu
Seminars, at least 2 cu
Laudatur studies according to agreement, at least 10 cu
Teacher in Computer Science (at least 75 cu)
Cum Laude in Computer Science, at least 46 cu
581336-0 Theory of Computation, 3 cu
58037-7 Computer-Aided Learning Environments, 4 cu
Seminars, at least 2 cu
50131-2 Master Thesis (Pro gradu), 10 cu
Optional Laudatur studies, at least 4 cu
2. Minor subject studies (at least 45 cu)
a) Computer Science (at least 45 cu):Approbatur in mathematics (at least 15 cu)
The student is recommended to take more courses in mathematics than stated in the requirements. Especially the following courses are recommended:
Linear Algebra I, 5 cu (Lineaarialgebra I)
Discrete Mathematics I, 5 cu (Diskreetti matematiikka I)
Logics I, 5 cu (Logiikka I)
Probability Calculus I, 5 cu (Todennäköisyyslaskenta I)
Other minor subjects (at least 15 cu) are free of choice. At least one other minor subject (except mathematics) must be included in the degree.
b) Applied Computer Science (at least 60 cu):
The student must take at least two minor subjects. Each student must discuss the choice of the subjects with the department.
c) Teacher in Computer Science (at least 70 cu):
Cum Laude in one minor subject (35 cu). The minor subject is free of choice. The most common minor subject is mathematics.
Pedagogical Studies (35 cu). These studies must be taken in the Faculty of Education.
3. Other Studies (at least 6-7 cu)
Compulsory Studies (at least 6-7 cu)
Orientation Studies, 1 cu
Second Domestic Language, 2 cu
A Foreign Language, 1-2 cu (foreign students 2cu)
Participation in Teacher tutoring meetings during four months, 1 cu
581355-1 Presentation of Computer Science, 1 cu
Studies free of choice to fulfill the minimum length requirements of the degree.
Additional studies in computer science are included in the Cum Laude or Laudatur studies in computer science (not in other studies).
Postgraduate Degrees
The postgraduate degrees are the Licentiate of Philosophy (Ph.Lic.) and the Doctor of Philosophy (Ph.D.). The Licentiate research may be extended into a thesis required for the doctoral degree.LICENTIATE OF PHILOSOPHY
1a. A Master of Science Degree in Computer Science and 40 credits of major
and minor subject studies.
or
1b. A Master of Science Degree in the Physical Sciences or Mathematics
and a minor Laudatur in Computer Science and at least 20 credits of further computer
science studies.
2. Licentiate Thesis.
DOCTOR OF PHILOSOPHY
- Part 1a. or 1b. of the Licentiate degree.
- A Ph.D. Thesis in Computer Science approved by the Faculty of Science after a public dissertation.
Minor subject studies in postgraduate degrees in computer science
Minor studies for the licentiate and doctoral degrees usually include advanced Cum Laude or Laudatur studies in mathematics, statistics, or physics. Minor studies are usually taken in the same subject and they must be agreed upon by the department in the postgraduate study plan of the student.
Computer Science studies for minor students
APPROBATUR MODULE IN COMPUTER SCIENCE (15-34 cu)
581324-7 Introduction to the Use of Computers, 2 cu
581325-0 Introduction to Programming, 3 cu
581326-3 Programming in Java, 2 cu (or another corresponding programming
course)
581327-6 Introduction to Application Design, 2 cu
581328-9 Basics in Databases, 2 cu
At least one of the following:
58160-8 Programming Project, 2 cu
58162-2 Database Application Project, 2 cu
Optional studies in computer science at least 2 cu.
CUM LAUDE APPROBATUR MODULE IN COMPUTER SCIENCE (35-69 cu)
58101-1 Approbatur, at least 15 cu
58160-8 Programming Project, 2 cu (if it is not included in the
Approbatur)
581329-2 Database Application Project, 2 cu (if it is not included in the
Approbatur)
58123-3 Computer Organization I, 2 cu
58131-5 Data Structures, 4 cu
58161-5 Data Structures Project, 2 cu
Cum Laude Approbatur or Laudatur optional studies, at least 10 cu; two of the following must be included:
Concurrent Systems, 2 cr,
Operating Systems Services, 2 cr,
Data Communication Services, 2 cr,
Database Management, 2 cr,
Programming and Computational Models, 2 cr,
Management of Research Data, 3 cr.
If the Approbatur includes both optional programming projects, the student needs at least 12 credits of optional courses in the Cum Laude Approbatur.
MINOR LAUDATUR MODULE IN COMPUTER SCIENCE (at least 70 cu)
58102-8 Cum Laude Approbatur in Computer Science, at least 46 cu
Seminars (at least 2 cu)
A Minor Master Thesis (10 cu)
Optional Laudatur Studies (at least 12 cu)
Transferring to the new degree requirements
Students who start their studies in the academic year 1999-2000 (here: new students) will complete their degrees according to the new requirements. Students who have entered the programme earlier (here: old students) may complete their degree according to the requirements stated when they started their studies (or according to later requirements to which they have already transferred). They have the right to follow earlier requirements until the end of the year 2006 if no other changes to the decree are made. Old students may transfer to the new system but must notice the rules stated below. Old students are not required to take the course Presentation of Computer Science.Courses in the new requirements may be substituted for courses in the old requirements according to the following list. In the same way, old courses may be substituted for new ones. New courses in the list may not be included (with a few exceptions mentioned) in an old degree as optional courses (i.e. in some other way than as substitute courses).
If an old course has been replaced by two new courses, substitution requires that both new courses have been completed. If the extent of the substituted courses is smaller than that of the courses in the new requirements, the student must take optional courses to make up for the difference. If the extent of the substituted courses is larger than that of the courses in the new requirements, the students may reduce optional courses (according to the difference) than the new requirements demand. Some courses have the same name in both the new and the old requirements. They are not included in the list, but may be substituted for each other. If they are of different length, the same requirements apply as above.
By taking new courses, the students may also try to raise their grades. Credit units are then based on the length of new courses.
Introduction to Programming (Ohjelmoinnin perusteet), 3 cu and
Programming in Java (Java-ohjelmointi), 2 cu
Introduction to Programming (Johdatus ohjelmointiin), 4 cu
NB. Students who have completed the course Programming (Ohjelmointi (Pascal))
may take the course
Programming in Java (Java-ohjelmointi), 2 cu.
Introduction to the Use of Computers (Tietokone työvälineenä), 2 cu
Basics of UNIX (Unix-perusteet), 1 cu, or Introduction to Computing (Tietotekniikan alkeet), 2 cu
(If the course Introduction to the Use of Computers (Tietokone
työvälineenä) is included in the degree, none of the old mentioned courses
may be included. However, any of the two old courses is enough on its own.)
Introduction to Application Design (Johdatus sovellussuunnitteluun), 2 cu
and
Basics in Databases (Tietokantojen perusteet), 2 cu
Information Systems (Informaatiojärjestelmät), 4 cu
Database Application Project (Tietokantasovellusten harjoitustyö), 2 cu
Information Systems Project (Informaatiojärjestelmien harjoitustyö), 2 cu
Programming and Computational Models (Ohjelmoinnin ja laskennan perusmallit), 2
cu ja
Theory of Computation (Laskennan teoria), 3 cu
Theory of Computation (Laskennan teoria), 4 cu
Computer Organization I (Tietokoneen toiminta), 2 cu and
Operating Systems Services (Käyttöjärjestelmäpalvelut), 2 cu
Computer Systems Organization (Tietokoneen toiminta), 3 cu
Basics of Operating Systems (Käyttöjärjestelmien perusteet), 2 cu and
Concurrent Systems (Rinnakkaisohjelmistot), 2 cu
Concurrent Systems (Rinnakkaisohjelmistot), 4 cu
Data Communication Services (Tietoliikennepalvelut), 2 cu and
Basics of Data Communication (Tietoliikenteen perusteet), 2 cu
Data Communication (Tietoliikenne), 4 cu
Network Application Programming (Verkkosovellusten ohjelmointi), 3 cu
Implementation of Distributed Applications (Hajautettujen sovellusten
toteuttaminen), 3 cu
Distributed Systems (Hajautetut järjestelmät), 3 cu
Distributed Operating Systems (Hajautetut käyttöjärjestelmät), 4 cu
Database management (Tietokannan hallinta), 2 cu ja
Modelling of Databases (Tietokannan mallinnus), 2 cu
Database Systems I (Tiedonhallinta I), 4 cu
Database Structures and Algorithms (Tietokantarakenteet ja -algoritmit), 4 cu
Database Systems II (Tiedonhallinta II), 5 cu
Cum Laude Approbatur courses in the new requirements may be included in old Cum Laude Approbatur and Approbatur modules, and new Laudatur courses may be included in old Laudatur and Cum Laude Approbatur modules, in accordance with the list above. Old optional Cum Laude Approbatur studies may be included as optional studies in the new Cum Laude Approbatur module. Old Laudatur courses mentioned in the requirements of some specialisation area may be included as optional Laudatur studies in all specialisation areas, but suitability should be checked in specialisation areas Algorithms and Intelligent systems with the professor in charge.
Old Approbatur and Cum Laude Approbatur modules are substituted for new corresponding modules based on course agreements (substitutes), not as such! Courses included in study modules, however, do not "expire".
Planning of studies
Major subject studies
In the Computer Science Programme, there are three sub-programmes. The major subject is Computer Science. The sub-programmes are
- Computer Science
- Applied Computer Science
- Teachers in Computer Science
Computer Science is divided into five specialisation areas.
The student chooses a sub-programme and a specialisation area by completing studies according to the requirements of the sub-programme (specialisation area). Students who wish to become teachers, however, must take a proficiency test. They may take the test when they have completed certain studies (Approbatur in computer science, Data Structures; also see section on Teachers in the Faculty Programme Book).
For a Master of Science degree the students must complete the Laudatur module in computer science. Its extent depends on the sub-programme. In Computer Science, it is 95 cu. In Applied Computer Science, it is 80 cu and there is room for more minor studies. Students must discuss the contents of their degree in Applied Computer Science with the professor in charge.
The extent of the Laudatur module in the Teacher sub-programme is 75 cu. Students must take a minor subject (35 cu, the other subject that they will teach) and pedagogical studies (35 cu). The other subject may be freely chosen, usually students choose mathematics.
Computer Science
Specialisation areas:- Algorithms,
- Intelligent Systems,
- Software Engineering,
- Distributed Systems and Data Communication, and
- Information Systems.
The specialisation area in Algorithms
The specialisation area focuses on theoretical computer science, especially research in algorithms and computer science theory. The specialisation area also combines theory with applications in different areas (computer graphics, analysis of programmes, signal processing, machine learning, computational biology and bioinformatics).Graduates become technical advisors or researchers.
There is one compulsory course in the specialisation area, Design and Analysis of Algorithms. This course should be taken as early as possible. Mathematical skills and models of thinking are necessary. Students should take the Cum Laude Approbatur module in mathematics. Other recommended minor subjects are physics, theoretical physics, statistics, computational linguistics and cognitive science, and studies based on a separate agreement (JOO) with the Helsinki University of Technology.
Research areas of the specialisation area are:
- Algorithms: string processing methods (Esko Ukkonen, Jorma Tarhio, Juha Kärkkäinen)
- Machine learning (Jyrki Kivinen, Tapio Elomaa, Esko Ukkonen)
- Graphics, mathematical computer science (Matti Mäkelä, Eero Hyvönen, Heikki Lokki)
- Information retrieval (Esko Ukkonen, Matti Nykänen)
The specialisation area in Intelligent Systems
The specialisation area focuses on building intelligent and adaptive data systems and related theoretical and practical questions. Within the area are many subfields such as artificial intelligence, computational intelligence, artificial life and retrieval methods. Future IT applications will increasingly contain adaptive components on all levels from applications to hardware. Development of intelligent systems presupposes good technical skills as well as skills to model and find new creative solutions.
Graduates become researchers or technical advisors in IT and data communication companies. Both the researcher education and practical education has an important place in the specialisation area.
Developing intelligent systems often requires basic mathematical skills as well as a larger view of the problem. The specialisation area recommends the students to study mathematics as well as minor subjects in other departments or other universities (through the JOO agreement). Examples of suitable minor subjects are cognitive sciences, psychology, theoretical philosophy and computational technology (Helsinki University of Technology)
Research of the specialisation area is pursued in the research group Complex Systems Computation Group (http://www.cs.Helsinki.fi/research/cosco/). Some areas are :
- Theory and application of Bayes networks (Henry Tirri,Petri Myllymäki)
- Human computing (Henry Tirri,Tomi Silander)
- Bayesian modelling and multiscientific applications (Henry Tirri, Petri Myllymäki,Tomi Silander)
- Information-theoretic modelling (Henry Tirri,Petri Myllymäki)
- Stochastic optimisation methods (Henry Tirri,Petri Myllymäki)
The specialisation area in Software Engineering
The specialisation area focuses on the systematic development of large and complex software . Such development requires technical skills, but also group and project works, a strict quality production process and reuse.Graduates become technical advisers and project managers in IT companies. Therefore practical laboratory work is essential for the specialisation area.
Because software developers are required to have versatile skills in many fields, students are recommended, besides mathematics, to take courses (and modules) in other departments or universities (through the JOO agreement). Examples of suitable minor subjects are psychology, statistics, industrial engineering and management (Helsinki University of Technology), economics and business (Helsinki School of Economics and Business Administration), and arts (University of Art and Design).
Research fields of the specialisation area are:
- Object methods (Jukka Paakki, Harri Laine, Juha Vihavainen)
- Software architectures (Jukka Paakki, Antti-Pekka Tuovinen, Antti Viljamaa)
- Software metrics (Jukka Paakki, Inkeri Verkamo, Antti-Pekka Tuovinen)
- Programming languages and compilers (Jukka Paakki, Juha Vihavainen, Antti-Pekka Tuovinen)
- CASE tools (Jukka Paakki, Inkeri Verkamo, Harri Laine)
The specialisation area in Distributed Systems and Data Communication
The specialisation area focuses on distributed systems and data communication: how can a system be divided into independent parts and how do the parts communicate with each other. Important issues are the protocols, which decide communication exercises between the sysem components, e.g., between servers and clients or between equal components. Protocols are used on several levels: in application programs (WWW browsers, and servers, user interfaces), in basic services for distributed systems (batch execution, databanks, common tasks between systems) and in hardware modules (CPU, IO processors, drivers). The specialisation area studies basic components of the systems and the structure, implementation, correctness and efficiency of protocols controlling their behaviour.Application, development, and analysis of distributed systems and data communication software requires technical skills. But management of certain skills is not enough. Modern systems and software are so wide and complex that their implementation is always based on team work. This requires knowledge of software engineering and project working skills.
Graduates become technical advisors and managers of development projects. Therefore practical skills are essential in the specialisation area.
Developers and implementors of distributed systems and data communication software must have skills for logical analysis. Students are recommended to take more studies in mathematics than the 15 cu required. The students are recommended to take as a second minor subject one of the following: statistics, physics, theoretical physics, theoretical philosophy or cognitive science. Other possible minor subjects are studies in electrical engineering, industrial engineering and management (Helsinki University of Technology), economics and business (Helsinki School of Economics and Business Administration). Students may also take three minor subjects. In addition to the minor subjects mentioned above, the students may then take almost any subject in the faculties of Science, Arts or Social Sciences, as well as subjects related to contents, interpretation and economical consequences of communication at the Helsinki University of Technology, the Helsinki School of Economics and Business Administration and the University of Art and Design.
Research fields of the specialisation area are:
- Mobile computing (Kimmo Raatikainen, Timo Alanko, Markku Kojo)
- Distributed software systems (Kimmo Raatikainen, Timo Alanko, Lea Kutvonen)
- Formal methods (Roope Kaivola, Martti Tienari, Timo Karvi)
- Hardware related programming [operating systems (Linux), realtime systems, embedded systems] (Kimmo Raatikainen, Teemu Kerola, Auvo Häkkinen, Tiina Niklander)
The specialisation area in Information Systems
The specialisation area focuses on the management of data and knowledge, user interfaces of software and data systems, design and implementation of databases, and document management. In all subfields, students will get to know both practical skills and theory.
Graduates become experts in data management and software development in industry and researchers. Students are recommended to take the compulsory courses Modelling of databases and Database Structures and Algorithms at an early stage.
In mathematics, 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 also include probability calculus as well, and take statistics as a minor subject. Other suitable minor subjects are economics, computational linguistics, theoretical philosophy, business sciences (Helsinki School of Economics and Business), industrial engineering and management (Helsinki University of Technology) and cognitive sciences.
Research fields of the specialisation area are (for 1999-2000):
- Data mining (Heikki Mannila, Hannu Toivonen, Helena Ahonen-Myka, Inkeri Verkamo, Mika Klemettinen),
- Document management and text databases (Pekka Kilpeläinen, Helena Ahonen-Myka, Greger Lindén, Mika Klemettinen)
- Database structures and algorithms, logic databases (Seppo Sippu, Otto Nurmi)
- Transaction processing, work flow systems (Juha Puustjärvi, Harri Laine)
- User interfaces, computer-supported cooperative work (Hannu Erkiö)
Professor in charge 1999-2000 : Prof. Hannu Erkiö.
Applied Computer Science
Students in this sub-programme may take a degree where they include more minor subjects than in the Computer Science. For a person working with computer applications, this is usually more to the purpose. For students upgrading their studies, the requirements of this sub-programme might also be more suitable.Students in this sub-programme may specialise in e.g. bioinformatics, or data analysis of bio- and geosciences. Suitable courses are Computational Biology, Spatial Information Systems, and Management of Research Data. Their suitable minor subjects are then natural sciences and geography.
Also many fields in the Arts department have a need of experts for developing computer applications. Students may, for example, take computational linguistics or cognitive sciences a a large minor subject. In computer linguistics there is a special Master's Programme starting in 1999-2000 and a network of computational linguistics education coordinated by the Department of General Linguistics.
Students must agree on the contents of the Laudatur module and the minor subjects with the responsible professor at an early stage of their studies.
Professor in charge 1999-2000: Prof. Matti Mäkelä; of upgrading studies: Prof. Eero Hyvönen.
Teachers in Computer Science
Students in this sub-programme become teachers in information technology, needed in comprehensive and high schools, as well as in vocational schools and in educational sections of companies. According to the degree requirements, the students must take 35 cu of pedagogical studies. Therefore the length of the Laudatur module in computer science is only 70 cu. The students can choose courses, seminars and topic of Master's Thesis in any of the other specialisation areas.Recommended courses: Computer-Aided Learning Environments (compulsory), Computing Methodologies, Principles of Programming Languages, User Interfaces, Computer Graphics, Problem Solving, Basics in Algorithmic Computing.
Seminars: Computer Use in Education, Computers in Special Needs Education
Research fields of the specialisation area are:
- Computer use in education (Jorma Tarhio, Matti Makela)
- Visualisation (Jorma Tarhio)
Professor in charge 1999-2000: Prof. Pekka Kilpeläinen.
Minor subject studies
The extent of the minor subject studies in Computer Science is 45 cu and they consist of studies in mathematics and at least one other subject, e.g., one Cum Laude Approbatur module (35 cu) and one Approbatur module (15 cu), or three Approbatur modules (3 * 15 cu), or two extended Approbatur modules. Other faculties have modules of different sizes. These modules may also be accepted as part of the degree.Minor subjects in Applied Computer Science (at least 60 cu) consist of at least two minor subjects. The students must discuss the subjects with the professor in charge.
Minor subjects in Teacher in Computer Science are pedagogical studies (35 cu) and one other minor subject (35 cu, the other subject that the student will teach). The most usual minor subject is mathematics, but the students can also choose other subjects.
In every sub-programme, a degree may contain also more studies than required. All studies that do not form a complete module (in other subjects) are considered to be part of Other studies (see below).
Minor studies in mathematics
Mathematics is the most important minor subject in computer science. The students need only to take a few course according to the requirements, but the department recommends students to take the Cum Laude Approbatur module in mathematics.Students should start their studies in mathematics during their first year and complete them during the two first years. Especially in the third year, students will need mathematical skills in many of the computer science courses. Additionally, understanding relevant scientific computer science literature requires basic knowledge of mathematics.
Recommendations of courses in mathematics included in the degree requirements will barely fulfill the needs. Mathematical exact thinking and decision making is also important when solving even very practical problems. In this sense, the most important courses in mathematics are general courses such as Linear Algebra I, Approbatur I-II, and Differential and Integral Calculus I, which also form a basis for other courses in mathematics.
The course Discrete Mathematics I is the course most related to the processing of algorithmic problems in computer science (among other things, analysis of programmes and data structures). The course Logics 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 is needed for the evaluation of system performanc, e.g. in data communication and distributed systems. The course also provides a basic theory for intelligent and adaptive systems as well for analysis and design of algorithms.
Other minor studies
Computer science is connected with many other fields. By selecting minor subjects carefully, students build up their degree profile in the way they want. Students may take minor modules (of at least 15 cu), besides mathematics, in other departments or even in other universities. Students should note that many subjects mentioned below require the students to fill in applications or take a proficiency test to obtain the study right in the subject. Student should find out themselves when tests are organised (often only once per year).Typical minor subjects in the University of Helsinki are
in the Faculty of Science: physics, theoretical physics, biology (several possibilities), genetics, general microbiology, biochemistry, geography;
in the Faculty of Social Sciences: statistics, (political) economics, social psychology, practical philosophy, communication, management;
in the Faculty of Arts: theoretical philosophy, cognitive sciences, general linguistics, computational linguistics;
in the Faculty of Education: education, continuing education.
Studies in other universities are possible through a new agreement on flexible study opportunities (JOO). Please check the section on Studies at other universities at the beginning of (the paper version of) the Faculty Programme Book. The most popular minor subjects are industrial engineering and management (Helsinki University of Technology), economics and business (Helsinki School of Economics and Business Administration), and arts (University of Art and Design). Please check programme books of the universities mentioned for more information about courses and application procedures.
Other Studies
Other studies, not included in study modules, include orientation studies, the course Presentation of Computer Science, participation in tutoring, language studies and studies in other departments.The Faculty of Science organises orientation studies for all students. (See the section on this in the Faculty Programme Book.)
Students register for tutoring at the beginning of their second year. Tutoring is organised by the department. See section on Tutoring above.
Compulsory language studies are described at the beginning of the Faculty Programme Book. Before the courses start, the students take a screening test. Students with very good results are exempted from the courses. Students are required to take the test during their first year.
Optional studies useful in the IT field can be found among others in the fields of economics, administration, education, behavioral sciences, physical sciences and other natural sciences (see above, the Section on Other Minor Subjects). Students should choose these subjects so that the studies support major and other minor subjects.
Work Experience
Students may include work experience in their Approbatur or Cum Laude Approbatur modules (at the most 4 cu). More information can be found on the WWW page http://www.cs.helsinki.fi/kurssit/cum_Laude/58168-4/.Study Schedule
In the following, we present a model study schedule for completing the Master of Science degree in four and a half years. (Students starting in the spring, can find a model schedule on the WWW pages.)
The model schedule contains studies of about 20 cu per term in the beginning, and a little less towards the end. Students who follow the plan, can complete their Bachelor's degree in three years. Students can also take some minor subjects, basic studies in computer science and laboratory work in summer. By taking advantage of summer studies, the students can either choose less courses during autumn and spring terms, or try to complete the degree in less time.
1st Autumn Term, 18 cu
Orientation Studies, 1 cu
Foreign Language, 1 cu
Introduction to the Use of Computers, 2 cu
Introduction to Programming, 3 cu
Programming in Java, 2 cu
Introduction to Application Design, 2 cu
Second domestic language, 2 cu
Minor studies in Mathematics (Linear Algebra or Differential and
Integral Calculus I.1), 5 cu
1st Spring Term, 21-22 cu
Programming Project, 2 cu
Basics in Databases, 2 cu
Programming and Computational Models, 2 cu
Database Application Project, 2 cu
Presentation of Computer Science, 1 cu
Computer Organization, 2 cu
Minor studies in Mathematics (Logics I (5 cu) and either Discrete
Mathematics (5 cu) or Differential and
Integral Calculus I.2 (6 cu))
(if the schedule contains too many courses, the Database Application Project can be moved
to the next autumn, and the schedule of that autumn be reduced (minor or other
studies))
2nd Autumn Term, 20 cu
Data Structures, 4 cu
Tutoring starts
Operating Systems Services, 2 cu
Concurrent Systems, 2 cu
Other Studies, 3 cu
Minor Studies, 9 cu
2nd Spring Term, 20 cu
Data Communication Services, 2 cu
Data Structures Project,, 2 cu
Database Management, 2 cu
Software Engineering, 3 cu
Optional Cum Laude Approbatur studies in Computer Science, 4 cu
Minor Studies, 7 cu
3rd Autumn Term, 20 cu
Software Engineering Project, 6 cu
Theory of Computation, 3 cu
Laudatur- (or Cum Laude Approbatur) Studies in Computer Science, 5 cu
Minor Studies, 6 cu
3rd Spring Term, 21 cu
Scientific Writing, 4 cu
Compulsory course in Laudatur, 3 cu
Tutoring ends, 1 cu
Laudatur- (or Cum Laude Approbatur) Studies in Computer Science, 5 cu
Minor Studies, 8 cu
At this point, the students have completed the Bachelor of Science degree.
4th Autumn Term, 14 cu
Compulsory course in Laudatur, 3 cu
Seminars, 2 cu
Optional courses in Laudatur 6 cu
Other Studies, 3 cu
4th Spring Term, 10 cu
Optional courses in Laudatur, 8 cu
Seminars, 2 cu
Starting with Master Thesis
5th Autumn Term, 16 cu
Thesis finished 16 cu
The model schedule presented above may be used as a basis for an individual study schedule. When setting up the schedule, students should notice interdependencies between courses, and when courses are organised at the department. Laboratory courses and the Software Engineering Project may be taken every term including summers. Many of the courses mentioned during the first year and Software Engineering and Data Structures are lectured every term. Other courses are lectured usually only once per year. Optional specialisation courses may be lectured even more seldom.
Students that study to be teachers may follow the above model. They may start their pedagogical studies after they have been accepted for the sub-programme. They must, however, register separately for practicums (teaching experience in schools), see the Section on Teachers in the Faculty Programme Book..
Interdependencies between Courses
In the following, we list interdependencies between the most important courses and their prerequisites. See also picture of interdependencies.The course Introduction to the Use of Computers is required in almost all other courses. Students should take this course in the beginning of their studies.
Prerequisites for the courses Programming in Java and Introduction to Application Design are the course Introduction to Programming.
Prerequisites for the Programming Project are the courses Introduction to Programming and Programming in Java. Students must also have the skills of the course Introduction to Application Design.
Prerequisites for the Database Application Project are the courses Introduction to Application Design and Basics in Databases.
Prerequisites for the course Programming and Computational Models are the course Introduction to Programming.
Prerequisites for the courses Data Structures and Computer Organization are Introduction to Programming and Programming in Java.
Prerequisites for the Data Structures Project are the course Data Stuctures.
Prerequisites for the courses Operating Systems Services, Data Communication Services, and Concurrent Systems are the course Computer Organization.
Prerequisites for the course Database Management are the course Basics in Databases.
Prerequisites for the course Software Engineering are the courses Programming and Computational Models and Data Structures, and the laboratory courses Programming Project and Database Application Project. Also, the student should have taken (or be taking) the Data Structures Project.
Students may register for the Software Engineering Project only when they have completed all other compulsory Cum Laude Approbatur courses in computer science (except Scientific Writing). In practice, this means that the students have completed all courses in the first and second years of the model study schedule.
Students may register for the course Scientific Writing when they have completed all other compulsory Cum Laude Approbatur courses in computer science (except Software Engineering and the Software Engineering Project).
The students may take the Software Engineering Project and the course Scientific Writing in any order. Both courses demand a lot of work in the final phase, and the department does not recommend students to take both courses during the same term.
Prerequisites for the course Theory of Computation are the course Programming and Computational Models and at least 15 cu of mathematics.
Postgraduate Studies
The aim of the postgraduate studies in computer science is for the students to specialise in some subfield of computer science and be able to create/find new knowledge in the field. There is a shortage of Ph.Ds and Ph.Ls in computer science in Finland. PhDs and PhLs are needed as teachers and researchers in universities as well as experts outside the universities in industry and research institutes.Postgraduate studies are usually based on a M.Sc. degree. For special reasons, students may start their postgraduate studies after their B.Sc. degree. Such reasons may be a shown ability for research in research projects or if the students choose to study abroad.
The goal of the postgraduate studies may be the Licentiate degree, and/or the doctoral 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.
Students 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 an extension of the licentiate thesis. In most cases, students should aim at internationally publishable results as soon as possible. Results may be published as journal and conference articles even before the thesis is finished. Students may also assemble their theses of published articles.
Postgraduate studies should be connected to the research at the department. This ensures the progress of the studies. A research group will provide support in academic expertise, discussions and brain storming, as well as in international contacts. Financing of the studies also becomes easier in a research group. The research fields of the department have been presented in this guide.
Students will find a suitable topic for their research by discussing with the professors and researchers of the department, e.g. in connection with a seminar. Formally, students register for postgraduate studies by informing a professor about the topic. The professor and the student will then agree on the research area (the final topic will be found during the research), and on specialisation and minor studies. The student fills in a plan for his or her postgraduate studies. Every student will also be assigned a personal supervisor. In many cases, planning postgraduate studies may well begin before the student has completed the Master's degree.
40 cu of major and minor studies are included in the postgraduate degrees. Students usually take 20 cu in computer science and 20 cu in a minor subject. In computer science, the students take specialisation courses on at least the Laudatur level (at least 12 cu) and then participate in seminars (at least 4 cu). The students must reach the grade 2/3 at least in the courses and seminars.
Minor studies should be taken as early as possible. Suitable minor subjects include Cum Laude Approbatur and Laudatur courses in mathematics and physics in the Faculty of Science, but students may also include studies on the same level in other universities in their degree (e.g., in the Helsinki University of Technology or the Helsinki School of Economics and Business Administration).
Full time students may complete their licentiate degree in 2-3 years and their doctoral degree in four years after their basic degree.
The department recommends students to spend one or two terms at a foreign university and to participate in international courses for researchers. In this way, students may make useful contacts with researchers and research on an international level. Studies abroad also help students to improve their knowledge in English. This knowledge is essential in research work.
A great part of the postgraduate students belong to a graduate school. The graduate schools organise courses and in some cases funding for postgraduate students. The department participates in two such graduate schools (see below).
When the department employs teachers and researchers, postgraduate students have priority. The students have a possibility to pursue their research alongside teaching and project duties.
Student counselling for postgraduate students is given by the professors and other researchers.
The Helsinki Graduate School in Computer Science and Engineering: HeCSE
The Helsinki Graduate School in Computer Science and Engineering (HeCSE) is a post-graduate program in computer science and engineering jointly offered by the Helsinki University of Technology (HUT) and the University of Helsinki (UH). In all, there are 19 professors or associate professors, and 27 other postdoctoral instructors at the participating departments and laboratories. Teaching is organised both in the University of Helsinki and in the Helsinki University of Technology. More information including activities, application deadlines, funding of studies, etc. may be acquired from the director of the graduate school, Prof. Martti Mäntylä (HUT), and from the general secretary, doc. Jyrki Kivinen (UH) as well as electronically on the WWW page http://www.cs.helsinki.fi/hecse/ or by email to hecse@cs.hut.fi.The Graduate School in Computational Biology, Bioinformatics, and Biometry: ComBi
The Graduate School in Computational Biology, Bioinformatics, and Biometry (ComBi) is a postgraduate program jointly offered by the Universities of Helsinki, Tampere and Turku. The school started at the beginning of 1998 and the University of Helsinki is the responsible institution The research goal of ComBi is to develop computational, mathematical, and statistical methods and models for natural sciences. To that end ComBi will educate PhDs with high-quality methodological expertise. In their thesis work the students are expected to apply this expertise to computational, data analysis, or modeling problems in biology or in some related field. The thesis projects are carried out in close cooperation with one or more research groups in the application area. More information including activities, application deadlines, funding of studies, etc. may be acquired from the director of the graduate school, Prof. Esko Ukkonen (UH), and from the general secretary Heikki Lokki (UH) as well as electronically on the WWW page http://www.cs.helsinki.fi/combi/ or by email to combi@cs.helsinki.fi.Course schedule 1999-2000
Classifying courses as Cum Laude Approbatur and Approbatur courses is not always possible due to the new degree requirements. New courses are located in the module where they belong according to the new requirements, old courses in the module where they belong according to the old requirements. There are some optional courses in the Cum Laude Approbatur module that belong to the Laudatur module in the new requirements. Approbatur courses for minor students and for major students studying according to old requirements can be found in the Cum Laude Approbatur module.Registration
Students register for courses, laboratory work and final exams using the automatic registration system. The user guide can be found in room D423 and on the WWW pages of the department. Registration starts about one week prior to teaching: 1 September 1999, 10 January 2000 and 3 May 2000. Students register for the Software Engineering project and Scientific Writing during the preceding term. (For important dates see above.)Students should check the notice-boards on the 4th floor for changes in the course schedule and registration procedures. The course schedule may still be revised after the paper version of the Faculty Programme Book has been released. The course schedule contains the exact dates and times of exercise sessions and laboratory groups, of mid-course and end-course examinations, teachers in charge of courses, etc. Course contents and requirements for the exams may be found on the WWW page http://www.cs.helsinki.fi/kurssit/ (but also see under Courses).
Students must register for courses during the week the course starts at the latest, and for final exams no later than on the Monday of the preceding week. Mid-course exams are connected to courses and students do not have to register for them.
Students also register for Approbatur and Cum Laude Approbatur laboratory courses using the registration system. A student who has interrupted her/his laboratory work, may register only in the list of "interrupters". Students may register for laboratory work until the day the group meets for the first time. After that registration is not possible. Students must attend the first group meeting of the group they have registered with, otherwise they lose their place in the group to another student.
Classrooms
The teaching is organised in the Department of Computer Science (Teollisuuskatu 23). Some large courses are given in other premises of the university.
Classrooms:
The Auditorium is located on the first floor,
A516 is located on the 5th and A414 on the 4th floor,
A318, A319, A320, B450 and B453 are located on the 3rd and 4th floors.
(N.B. There is no ground floor, you enter the building on the first floor!)
AUTUMN TERM
NB: These courses are in Finnish, if not otherwise noted. Dates are given in the form Date.Month.Year. Some courses may have exercise sessions in English, please also check the WWW page Instruction in English (http://www.cs.helsinki.fi/instr.engl/).Other studies for major students
581256-5 Tutoring (Opettajatutorointi) (1 cu)First meeting: Mon 20.9.1999 at 14-16 in the Auditorium, Asst. Päivi Kuuppelomäki. Participation is compulsory for computer science students who started their studies in the autumn of 1998. Groups meet Mon at 14-16.
Cum Laude Approbatur
581324-7 Introduction to the Use of Computers (Tietokone työvälineenä, for major students) (2 cu)Lectures: Asst. Prof. Karri-Pekka Laakso 13.9.-7.10. Mon 10-12, Thur 8-10 Auditorium
This basic course gives a practical introduction to the use of computers. It covers such areas as the basics of Unix and Windows, WWW and HTML, e-mail, news groups, text and image processing and spreadsheet computation. The course gives essential background for further computer science courses.
581324-7 Introduction to the Use of Computers (Tietokone työvälineenä,
for minor students) (2 cu)
Lectures: Asst. Prof. Reijo Sivèn 3.11.-26.11. Wed 14-16, Fri 12-14 Auditorium
581357-7 Introduction to the Use of Computers (Introduktion till datorn
som arbetsredskap, both for major and minor students in Swedish) (2 sv)
Lectures: Asst. Prof. Greger Lindén 14.9.-21.10. Tue 14-16, Thur
12-14 A319).
581328-9 Basics in Databases (Tietokantojen perusteet) (2 cu)
Lectures: Asst. Prof. Harri Laine 13.9.-20.10. Mon 12-14, Wed 14-16 Auditorium
Basics of relational databases, what they are and how they are
used directly and indirectly via programming languages. The course contains an
introduction to the design of relational databases. Prerequisites: Students
must have programming skills to the extent taught in the course Introduction
to Programming.
581327-6 Introduction to Application Design (Johdatus
sovellussuunnitteluun) (2 cu)
Lectures: Asst. Prof. Harri Laine 1.11.-9.12. Mon 10-12, Thur 8-10 Auditorium
Development of object-oriented software including design techniques and
methods. Also an introduction to user interfaces and their design.
Prerequisites: Students must know about object-oriented concepts to the extent
taught in the course Introduction to Programming.
581325-0 Introduction to Programming (Ohjelmoinnin perusteet) (3 cu)
Lectures: Asst. Prof. Arto Wikla 15.9.-5.11. Wed 16-18, Fri 14-16 main building,
room 1.
Basic principles of programming: algorithms, programming techniques, and
object-orientation. The programming language is Java. No prerequisites.
581326-3 Programming in Java (Java-ohjelmointi) (2 cu)
Lectures: Asst. Prof. Arto Wikla 10.11.-10.12. Wed 16-18, Fri 14-16
main building, room 1.
An introduction to the Java programming language. The focus is placed on basic
structures of the language. Prerequisites: Students must have programming
skills to the extent taught in the course Introduction to Programming.
Note: Exercise sessions start during the first week.
58123-3
Computer Organisation I (Tietokoneen toiminta) (3 cu)
Lectures: Asst. Prof. Liisa Marttinen 20.10.-8.12. Mon 12-14, Wed 9-12
Auditorium
A basic introduction to the computer and the function of its operating system.
58131-8
Data Structures (Tietorakenteet) (4 cu)
Lectures: Asst. Prof. Otto Nurmi 14.9.-2.12. Tue, Thur 12-14 Auditorium.
Basic data structures, stacks, queues, trees and graphs and their processing
algorithms.
58038-4
Database Systems I (Tiedonhallinta I) (4 cu)
Lectures: Prof. Hannu Erkiö 14.9.-9.12. Tue 14-16, Thur 10-12 Auditorium
Data management, basics of databases: data models, query languages, design of
databases, database management systems.
58110-3 Scientific Writing (4 cu)
Lectures: Prof. Matti Mäkelä 14.9.-26.10. Tue 12-14 A516
Sources of scientific information. Use of libraries and scientific databases.
The structure and details of a scientific publication. Examples of scientific
Finnish, Swedish or English. Three individual writing exercises (surveys).
581259-4 Software Engineering (Ohjelmistotuotanto) (3 cu)
Lectures: Researcher Lea Kutvonen 15.9.-15.11. Wed 16-18, Fri 10-12
Auditorium
Introduction to software engineering as a professional discipline: concepts,
theory and practice.
58160-8 Programming Project (Ohjelmoinnin harjoitustyö) (2 cu)
The students design, document and implement a complete, realistic program.
During development, students also
give small lectures and demonstrations about the project.
The work may be performed during 13.9.-22.10. or 1.11.-10.12.
581329-2 Database Application Project (Tietokantasovellusten
harjoitustyö) (2 cu)
Students design and implement a small ADP-system.
The work may be performed during 13.9.-22.10. or 1.11.-10.12.
58161-5 Data Structures Project (Tietorakenteiden harjoitustyö) (2 cu)
Students design, implement, test and document a simulator or some other
fairly large program.
The work may be performed during 13.9.-22.10. or 1.11.-10.12.
Cum Laude Approbatur / Optional Studies
58127-1 Programming in C (C-ohjelmointi) (2 cu)Lectures: Asst. Prof. Liisa Marttinen 14.9.-22.10. Tue 10-12, Fri 12-14 Auditorium
Basics in C programming. Prerequisites: Introduction to Programming, Programming Project. Project work.
581389-4 The Perl Programming Language (Perl-ohjelmointikieli) (2 cu)
Lectures: M.Sc. (Tech.) Jarkko Hietaniemi 27.9.-29.11. Mon 16-18
Auditorium
Introduction to the basics of the Perl programming language and programming
techniques. Contents: Basic data structures, functions, operators, control
structures, I/O, pattern matching, advanced data structures, object features,
sites, but knowledge of some programming
language like C, C++, Java, Pascal and data structures is recommended.
58074-2 Computer Graphics (Tietokonegrafiikka) (4 cu)
Lectures: Prof. Matti Mäkelä 14.9.-9.12. Tue 10-12, Thur 12-14 A516
An overview of producing pictures with the help of a computer.
Project work.
58066-7 Artificial Intelligence (Tekoäly) (4 cu)
Lectures: YliAsst. Jyrki Kivinen 20.9.-9.12. Mon 12-14, Thur 14-16 A414
Basic problems and problem solving in artificial intelligence. Prerequisites:
Students
must have skills and knowledge to the extent taught in the course Data
Structures.
581371-3 Network Programming (Hajautettujen
ohjelmistojen toteuttaminen) (4 cu)
Lectures: Asst. Prof. Markku Kojo 15.9.-3.11. Tue 12-14, Wed 14-16 A414
Practical skills for designing and implementing applications using data
communication in the Unix environment. In addition, the principles of TCP/IP
protocols. Project work. Prerequisites: Students must have completed the
courses Concurrent Systems, Data Structures and have project skills and
knowledge to the extent taught in the courses Data Communication, Programming
in C, and Unix principles. Only a limited number of students is accepted.
581251-0 Software Design (C++) (Ohjelmointitekniikka) (3 cu)
Lectures: Asst. Prof. Juha Vihavainen 15.9-4.11. Wed 12-14, Thur 14-16
Auditorium
An introduction through programming exercises to the implementation of abstract
data types, object-oriented programming and C++ programming techniques.
Prerequisites: Data Structures, Programming in Java, Programming in C. The
course presupposes good programming skills and ability to do independent work when
studying material connected with the course.
58094-0 Semantics of Program (Ohjelmien semantiikka) (3 cu)
Lectures: Prof. Asst. Matti Luukkainen 15.9.-8.12. Wed 10-12 A414
Clause and predicate logics in program construction and verification.
Programming examples from Kaldewaij's book.
581377-1 Techniques of New Media Applications (Uusmediasovellusten
tekniikat) (3 cu)
Lectures: Prof. Helena Ahonen-Myka 15.9.-8.12. Wed 10-12 A516
Electronic publishing processes, implementation of dynamic and interactive WWW
pages, inclusion of databases and multimedia in publications and technical
documentation.
581378-4 Basics in Algorithmic Computing (Algoritmisen
tietojenkäsittelyn perusteet) (2 cu)
Lectures: Prof. Pekka Kilpeläinen 3.11.-10.12. Wed 12-14, Fri 10-12 A516
An overview of algorithmic computing, central concepts, methods, results and
restrictions. The course is especially suitable for prospective researchers and
students in the Teacher sub-programme.
581379-7 Basic course for students upgrading their studies
(Muuntokoulutuksen peruskurssi) (Java) (4 cu)
Lectures: Prof. Eero Hyvönen 14.9.-25.11. Tue, Thur 16-18 A516
The aim of the course is to refreshen basic knowledge in programming and
software implementation in a modern environment. The course contains essential
parts from the first academic year courses that are important for later
studies. Among other things, the course contains parts such as object-oriented
programming, programming in Java, and an introduction to the hardware and
software environment of the department. The course is meant for students
(upgrading their studies) who are unfamiliar with the concepts mentioned above.
Other students may also apply for the course, e.g., students who have
interrupted their studies and who want update their IT knowledge before
continuing their studies.
Laudatur
58096-4 Distributed Operating Systems (Hajautetut käyttöjärjestelmät) (4 cu)Lectures: Prof. Timo Alanko 14.9.-9.12. Tue, Thur 8-10 A414
Problems of distribution, solution principles in distributed systems, examples from operating systems.
581359-3 Software Processes and Quality (Ohjelmistoprosessit
ja ohjelmistojen laatu) (3
cu)
Lectures: Prof. Inkeri Verkamo 21.9.-11.11. Tue, Thur 10-12 A414
Important software process models and components and metrics of software
quality.
581365-8 Computer Architecture (Tietokoneen rakenne) (2 cu)
Lectures: Asst. Prof. Teemu Kerola 25.10.-1.12. Mon 12-14 A516, Wed 12-14 A414
Hardware features such as the structure of machine languages, implementation of
processors and memory hierarchies. Prerequisites: Computer
Organisation.
581339-9 Three Concepts: Utility (Kolme käsitettä: päätöksenteko) (3 cu)
Lectures: Prof. Henry Tirri 1.10.-10.12. Fri 12-15 A320
Searching in multidimensional search spaces, typical in evolutional
computation, machine learning and mathematical statistics.
Project work. Recommended prerequisites: The two other Three concepts courses.
581252-3 Robotics (Robotiikka) (4 cu)
Lectures: Asst. Prof. Tapio Elomaa 21.9.-1.12. Tue 10-12, Wed 12-14 B453
Types and applications of robots. Components of a robot. Architectures.
Autonomous mobile robots: Navigation and motion planning. Robot learning:
Reinforcement learning, Q learning.
581380-7 Complexity Theory (Laskennan vaativuusteoria) (4 cu)
Lectures: Ph.D. Lauri Hella 21.9.-2.12. Tue 14-16, Thur 10-12 A516
Complexity of computational problems. Complexity classes.
581541-0 Transaction Processing (Tapahtumakäsittely) (4 cu)
Lectures: Ph.D. Juha Puustjärvi 13.9.-29.11. Mon 8-11 B453
Serialisability theory. Locking and non-locking schedulers. Multiversion concurrency control. Centralised and distributed
recovery. Management of replicated data. Multidatabase transaction management. Co-operative transaction management.
Prototype systems. New application areas.
581381-0 User Interfaces II (Käyttöliittymät II) (3
cu)
Lectures: Asst. Prof. Sari A. Laakso 29.9.-15.10. Wed 12-14, Fri 10-12 A414
User interface design patterns and design methods. Project work including
design sessions, no weekly exercise sessions.
Prerequisites: 58064-3 User Interfaces (4 cr).
581382-3 Agent Technology (Agenttiteknologia) (2 cu)
Lectures: Prof. Kimmo Raatikainen, Teacher Oskari
Koskimies, Teacher Pauli Misikangas, Teacher Heimo
Laamanen and Teacher Heikki Helin 4.10.-25.11. Mon 16-18,
Thur 16-18 A319
Basics of agent technology, application areas, agent software, knowledge
representation and discovery, FIPA architectures, agent management and
communication, compatibility of agent platforms. Project work in
groups of 3-5 students. Students are selected based on a separate application.
Prerequisites: Programming skills in Java, Distributed Operating Systems.
581383-6 ATM Data Communication (ATM-tietoliikenne) (2 cu)
Lectures: M.Sc. (Tech.) Harri Hansen and M.Sc. (Tech.) Kari Seppänen (VTT)
7.10.-25.11. Thur 15-18 A318
Basics of ATM technology and protocols, wireless ATM. Prerequisites: Data
Communication.
581361-6 Software Testing (Ohjelmistojen testaus) (3 cu)
Lectures: Prof. Jukka Paakki 21.9.-14.10 Tue, Thur klo 16-19 (21.-30.9.
A414, 5.-14.10
at the Helsinki University of Technology)
General concepts of software testing, principles and techniques. Some
compulsory programming exercises with test tools. Joint course with the
Helsinki University of Technology, part of the lectures are given
there. Prerequisites: Software Engineering, Software Engineering Project.
581360-3 Software Project Management (Ohjelmistoprojektien
johtaminen) (2 cu)
Lectures: Prof. Jukka Paakki 26.10.-2.12 Tue, Thur klo 16-18 A414
Skills for managers of software development projects. Project managers do not
only need technical skills but also social and general management skills.
Lectures given by several experts in the area.
Prerequisites: Software Engineering, Software Engineering Project.
Seminars
58153076-5 Study seminar on Computational Research Methods (Laskennallisten tutkimusmenetelmien opintoseminaari) (2 cu)doc. Hannu Toivonen 23.9.-9.12. Thur 16-18 A320
58153077-2 Research
seminar on Intelligent Systems (Älykkäiden
järjestelmien tutkimusseminaari (2 cu)
Prof. Henry Tirri 17.9.-10.12. Fri 10-12 B453
Seminar suitable for researchers, and postgraduate and graduate students
in the Intelligent Systems specialisation area.
58153078-9
Digital Libraries (Digitaaliset kirjastot) (2 cu)
Prof. Hannu Erkiö 13.9.-29.11. Mon 10-12 A414
58153079-6 Data Mining in Text (Tietämyksen muodostaminen
tekstiaineistoista) (2
cu)
Prof. Helena Ahonen-Myka 16.9.-9.12. Thur 12-14 A320
58153080-2 Electronic Commerce (Sähköinen kaupankäynti) (2 cu)
Researcher Lea Kutvonen 14.9.-7.12. Tue 12-14 A320
58153081-9 Real-Time and Embedded Systems (2 cu)
Prof. Kimmo Raatikainen 17.9.-10.12. fri 8-10 A318
This seminar is primarily aimed at students whose thesis is
related to real-time or embedded systems. Prerequisites:
Familiarity with operating systems, communication
protocols, and databases.
The language is English.
58153082-6 Software Requirements Engineering (Ohjelmistojen
vaatimusten hallinta) (2 cu)
Prof. Inkeri Verkamo 14.9.-7.12. Tue 14-16 A414
58153083-3 Object Architectures (Olioarkkitehtuurit) (2 cu)
Asst. Prof. Juha Vihavainen 16.9.-9.12. Thur 12-14 A414
SPRING TERM
If the course contents are missing, please see the autumn term.NB: These courses are in Finnish, if not otherwise noted. Dates are given in the form Date.Month.Year. Some courses may have exercise sessions in English, please also check the WWW page Instruction in English (http://www.cs.helsinki.fi/instr.engl/).
Other studies for major students
581355-1 Presentation of Computer Science (Tietojenkäsittelytieteen esittely) (1 cu)Lectures: Prof. Henry Tirri 19.1.-10.5. Wed 16-18 A414
An overview of different fields of computer science given by several experts, special focus on areas close to the research in progress at the department. Students must return a survey (in writing).
Cum Laude Approbatur
581324-7 Introduction to the Use of Computers (Tietokone työvälineenä) (2 cu)Lectures: Asst. Prof. Karri-Pekka Laakso 17.1.-9.2. Mon, Wed 8-10 Auditorium
581384-9 Introduction to the use of computers (2 cu)
Lectures: N.N. 18.1.-7.3. tue 12-14 A320
This basic course gives a practical introduction to the use of computers. It
covers such areas as the basics of Unix and Windows, WWW and HTML, e-mail, news
groups, text and image processing and spreadsheet computation. The course gives
essential background for further computer science courses. In English
581328-9 Basics in Databases (Tietokantojen perusteet) (2 cu)
Lectures: Asst. Prof. Harri Laine 17.1.-24.2. Mon 10-12, Thur 8-10 Auditorium
581327-6 Introduction to Application Design (Johdatus
sovellussuunnitteluun) (2 cu)
Lectures: Asst. Juha Gustafsson 13.3.-19.4. Mon, Wed 8-10 Auditorium
581325-0 Introduction to Programming (Ohjelmoinnin perusteet) (3 cu)
Lectures: Asst. Prof. Timo Karvi 18.1.-9.3. Tue 8-10, Thur 14-16 Auditorium
581326-3 Programming in Java (Java-ohjelmointi) (2 cu)
Lectures: Asst. Prof. Timo Karvi 21.3.-27.4. Tue 8-10, Thur 14-16 Auditorium
58123-3 Computer Organisation I (Tietokoneen toiminta) (2 cu)
Lectures: Asst. Prof. Teemu Kerola 13.3.-4.5. Mon 10-12, Thur 8-10 Auditorium
Execution of computer programs, components of computer hardware, Execution
environments by hardware and operating system for computer programs.
581330-2 Programming and Computational Models (Ohjelmoinnin ja
laskennan perusmallit) (2 cu)
Lectures: Asst. Prof. Tapio Elomaa 19.1.-24.2. Wed 10-12, Thur 10-12 Auditorium
Formal models of programming and computing. Finite automata and formal
languages, Turing machines, parsing of grammars and program verification.
58131-8 Data Structures (Tietorakenteet) (4 cu)
Lectures: Asst. Prof. Arto Wikla 18.1.-29.3. Tue, Wed 14-16 Auditorium
58132-5 Concurrent Systems (Rinnakkaisohjelmistot) (4 cu)
Lectures: Prof. Timo Alanko 17.1.-6.4. Mon 12-14, Thur 16-18
Auditorium
Structure and implementation of concurrent and distributed systems. The main
emphasis is on solving problems in operating systems.
Course book: Bacon: Concurrent Systems, 2nd ed.
58110-3 Scientific Writing (Tieteellisen kirjoittamisen kurssi) (4 cu)
Lectures: Asst. Prof. Pekka Kilpeläinen 19.1.-8.3. Wed 14-16 A516
58172-1 Software Engineering (Ohjelmistotuotanto) (3 cu)
Lectures: Asst. Juha Taina 19.1.-10.3. Wed 14-16, Fri 8-10 A217
58160-8 Programming Project (Ohjelmoinnin harjoitustyö) (2 cu)
The work may performed during 17.1.-25.2. or 13.3.-28.4.
581329-2 Database Application Project (Tietokantasovellusten harjoitustyö) (2 cu)
The work may be performed during 17.1.-25.2. or 13.3.-28.4.
58161-5 Data Structures Project (Tietorakenteiden harjoitustyö) (2 cu)
The work may be performed during 17.1.-25.2. or 13.3.-28.4.
Cum Laude Approbatur / optional studies
58037-7 Computer-Aided Learning Environments (Tietokoneavusteiset oppimisympäristöt) (4 cu)Lectures: M.Sc. Jaakko Kurhila 20.1.-31.3. Thur 10-12, Fri 12-14 A516
Pedagogical principles, design implementation and evaluation of learning environments. Tools: ToolBook and Director. Examples of existing learning environments or environments under development. Possibly, the number of students may be limited.
58069-8 Data Communication (Tietoliikenne) (4 cu)
Lectures: Asst. Prof. Liisa Marttinen 18.1.-31.3. Tue, Fri 12-14 Auditorium
The electrical interface. Data transmission. Data link control protocols. Local
area networks. High-speed and bridged local area networks. Wide area networks.
Internet working. Transport protocols. Standards.
58129-5 Unix Platform (Unix-sovellusalusta) (3 cu)
Lectures: Researcher Lea Kutvonen 17.1.-28.1. Mon-Fri 16-18 A516
The programming interface to the UNIX system: system calls and library functions for process control, memory
management, file systems and peripherals, tools for interprocess communication.
Programming exercises. Prerequisites: Unix Principles, Programming in C,
Concurrent Systems.
58064-3 User Interfaces (Käyttöliittymät) (4 cu)
Lectures: Asst. Prof. Sari A. Laakso 28.1.-14.4. Fri 10-12 Auditorium
Graphical user interfaces. Practical user interface solutions and good design
principles, application generators, cognitive psychology.
581264-6 Management of Research Data (Tutkimustiedonhallinnan
peruskurssi) (3 cu)
Lectures: Asst. Greger Lindén 7.3.-4.5. Tue 16-18, Thur 12-14 A516
Database use in managing research data. Basics of computational methods
for data analysis. Project work.
581265-9 Digital Signal Processing (Digitaalinen signaalinkäsittely) (3 cu)
Lectures: Prof. Matti Mäkelä 18.1.-24.2. Tue 10-12, Thur 12-14 A516
Basics of digital signal processing and MATLAB programming. Applications,
especially in the area of natural sciences. The students prepare posters
when the lectures have finished, and present them on Thur 27 April at 12-16 in
room A516.
581388-1 Computational Methods for Data Analysis (Data-analyysin
laskennallisia menetelmiä)
(Fortran) (3 cu)
Lectures: Asst. Prof. Heikki Lokki 18.1.-22.3. Tue, Wed 12-14 A217
An introduction to the Fortran 90/95 language and some Monte Carlo like methods
for computationally intensive data analysis. Project work.
581387-8 Information Technology: Now! (Tietotekniikka: nyt!) (2 cu)
Responsible teacher: Prof. Jukka Paakki 17.1.-8.5. Mon 16-18 A414
A Studia Generalia set of lectures where experts from IT companies and
other organisations give their view on the status of today's information
technology. To complete the course, students must attend the lectures and
either write a survey of the lectures or take an exam.
Laudatur
58133-2 Theory of Computing (Laskennan teoria) (3 cu)Lectures: Asst. Prof. Tapio Elomaa 1.3.-27.4. Wed 10-12, Thur 10-12 Auditorium
The course extends the information given in the course Programming and Computational Models. Decidability of computational problems. Complexity analysis.
58053-7 Design and Analysis of Algorithms (Algoritmien
suunnittelu ja analyysi) (5 cu)
Lectures: Asst. Prof. Otto Nurmi 18.1.-3.5. Tue 10-12, Wed 12-14 A320
Analysis techniques. Design techniques. Models of computation and lower bounds.
Algorithms on sets. Graph algorithms. Approximation algorithms for NP-complete
problems. Probabilistic algorithms. Parallel algorithms.
58107-3 Database Systems II (Tiedonhallinta II) (5 cu)
Lectures: Prof. Seppo Sippu 18.1.-27.4. Tue, Thur 14-16 A414
Physical data organisation in databases. Index structures for files. B-trees.
Dynamic hashing. Query processing and optimisation for relational database
systems. Join algorithms. Query optimisation for distributed databases. Crash
recovery. Concurrency control. Transaction management in client-server
architectures. Distributed transactions.
581286-6 Three concepts: information (4 cu)
Lectures: Prof. Henry Tirri 21.1.-28.4. Fri 12-15 A320
Information theory. Shannon's source coding theorem and noisy channel coding.
Data compression. Bayesian inference. Project work and essay.
Prerequisites: Scientific Writing and good programming skills.
581358-0 Software Architectures (Ohjelmistoarkkitehtuurit) (3 cu)
Lectures: Asst. Prof. Harri Laine 13.3.-10.5. Mon 10-12, Wed 16-18 A217
Software architectures represent a higher level abstraction of software
components and their communication (higher than the module component level).
Architecture models, description of architectures, analysis and design.
Prerequisites: Software Engineering.
581257-8 Information Retrieval Methods (Tiedonhakumenetelmät) (3 cu)
Lectures: M.Sc. Kai Korpimies 19.1.-10.5. Wed 10-12 A414
Traditional retrieval methods and concepts concerning network use: browsing,
information filtering, digital libraries.
581290-5 Processing of Structured Documents (Rakenteisten
dokumenttien käsittely) (3 cu)
Lectures: Asst. Prof. Pekka Kilpeläinen 17.1.-8.5. Mon 10-12 A414
Structured documents (XML), searching, formatting, transformation models and
languages. Prerequisites: Basic knowledge of grammars and automata (e.g., Theory
of Computing), WWW, HTML, moderate programming skills.
581288-2 Data Security (Tietoturva) (3 cu)
Lectures: Prof. emer. Martti Tienari 18.1.-9.5. Tue 14-16 A217
Cryptography, public key cryptography and applications,
data security protocols. Data security in TCP/IP networks.
581385-2 Advanced Wireless Communication Systems (2 cu)
Course leader: Prof. Kimmo Raatikainen
Lectures: Prof. Kimmo Raatikainen, M.Sc. (Eng.) Juuso Pesola (VTT),
M.Sc. Mikko Puuskari (NRC), Ph.Lic. Heimo Laamanen (Sonera),
Ph.Lic. Kai Ojala (Sonera) 21.1.- 31.3. fri 12- 15 A414
Exercise sessions: 7. and 14.4. Fri 12-15 A414
The course takes a look at recent developments in wireless
computing and communication systems. The topics include
international standardization initiatives, WAP, GPRS,
UMTS and W-CDMA. Instead of traditional weekly
exercises the students prepare a presentation of 15 minutes
and a written report on a given topic. In English.
581356-4 Commercialization of Software (Ohjelmistojen tuotteistaminen) (3 cu)
Lectures: Prof. Eero Hyvönen 20.1.-6.4. Thur 14-17 A217
Software as a commercial product, software business, software technology
transfer, funding, legal issues, marketing, commerce, distribution and business
activity models
581362-9 Principles of Programming Languages (Ohjelmointikielten periaatteet (4 cu)
Lectures: Asst. Prof. Juha Vihavainen 19.1.-30.3. Wed 12-14, Thur 12-14
Auditorium
Concepts of programming languages, program components, description techniques,
programming paradigms and example languages.
58153003-1 Software Performance Engineering (Ohjelmistojen suorituskyvyn suunnittelu (2
cu)
Lectures: Asst. Prof. Inkeri Verkamo 21.3.-4.5. Tue, Thur 10-12 A414
Design of software performance based on systematic methodology and performance
models.
581386-5 External Function of Concurrent Systems (Rinnakkaisten järjestelmien ulkoinen käyttäytyminen) (3
cu)
doc. Antti Valmari 19.1.-10.5. Wed 13-16 A319
External behaviour of a reactive and/or concurrent IT system studies those
features present in the interface between the system and its environment. The
course presents issues concerning this external behaviour and its importance
in the definition and correctness of the system as well as in its testing.
The course also gives an introduction to the research in the area.
581338-6 Algorithm Technology (Algoritmitekniikka) (4 cu)
Lectures: Asst. Juha Kärkkäinen 18.1.-6.4. Tue 12-14, Thur 14-16 A318
Application of algorithm theory in practice. Practical analysis of algorithms.
Project work.
581343-8 Software Project Managment - Project Work
(Ohjelmistoprojektien johtamisen harjoitustyö) (2
cu)
Professor in charge: Prof. Jukka Paakki
Students are trained in how to manage a software project by working in one of the
Software Engineering Projects during one term. Prerequisites: Management of
Software Projects. Students with good grades in this course have priority.
Seminars
58153084-0 Research Seminar on Intelligent Systems (Älykkäiden järjestelmien tutkimusseminaari) (2 cu)Prof. Henry Tirri 21.1.-5.5. Fri 10-12 B453
Seminar suitable for researchers, and postgraduate and graduate students in the Intelligent Systems specialisation area.
58153085-7 Data Warehouses (Tietovarastot) (2 cu)
Prof. Seppo Sippu 19.1.-3.5. Wed 14-16 A414
58153086-4 Work Flow Systems (Työnkulkujärjestelmät) (2 cu)
Ph.Lic. Juha Puustjärvi 17.1.-8.5. Mon 8-10 B453
58153087-1 Document Management (Dokumenttienhallinnan
tutkimusseminaari) (2 cu)
Asst. Prof. Helena Ahonen-Myka 18.1.-9.5. Tue 12-14 A319
58153088-8 Internet Protocols (Internet-protokollat) (2 cu)
Prof. Martti Tienari 19.1.-10.5. Wed 16-18 A320
58153089-5 Research Seminar on WAP (2 cu)
Prof. Kimmo Raatikainen 21.1.-5.5. fri 8-10 A318
This seminar is primarily meant for students whose Master's or
Dissertation Thesis is related to wireless computing and
communication. Participants MUST contact the seminar
leader during the autumn term to discuss their involvement. In
English
58153090-1 Research Seminar on Open Distributed Systems
(Avoimien järjestelmien tutkimusseminaari) (2
cu)
Researcher Lea Kutvonen 18.1.-9.5. Tue 14-16 A320
58153091-8 Component-Based Software Engineering
(Komponenttiperustainen ohjelmistotuotanto) (2
cu)
Prof. Jukka Paakki 19.1.-10.5. Wed 14-16 A320
SUMMER TERM 2000
Students may take the following laboratory courses during 15.5.-23.6. or 1.8.-8.9: Programming Project, Database Application Project, Data Structures Project.In cooperation with the Open University (the Helsinki office), the department arranges courses in the Approbatur module. More information is available in the programme book of the Open University (available in spring 2000).
Literature
There is more information about material (compendiums, course books, other material) used in courses in the course descriptions on the notice-boards on the 4th floor. The following list contains some selected books in computer science (some may be used as course books).Approbatur
K. Arnold, J. Gosling: The Java Programming Language. Second Edition.
Addison-Wesley, 1997.
G. Beekman: Computer Confluence (2nd edition). Addison Wesley, 1997.
D. Gilly, UNIX in a Nutshell, O'Reilly & Associates, Inc, 1994.
J. Lewis, W. Loftus: Java Software Solutions: Foundations of Program Design,
Addison-Wesley, 1997.
H. Lunell: Datalogi - begreppen och tekniken. Studentlitteratur, 1994.
W. Stallings: Computer Organization and Architecture, 4th Ed.,
Prentice-Hall, 1996.
A. Wikla: Ohjelmoinnin perusteet Java-kielellä, OtaDATA, 1999.
Cum Laude Approbatur
J. Bacon: Concurrent Systems, 2nd ed., Addison-Wesley, 1997.
A. Cooper: ABOUT FACE. The essentials of user interface design.
IDG Books Worldwide, USA, 1995.
H.M. Deitel, P.J. Deitel: C++ How to Program. Prentice-Hall, 1998
R. Elmasri, S.B. Navathe: Fundamentals of Database Systems.
Benjamin/Cummings, 3rd ed, 1999.
H-E. Eriksson, M. Penker: UML Toolkit, John Wiley & Sons, 1997.
P. Fogelberg, M. Herranen, K. Sinikara: Tuumasta toimeen, tutkielman
tekijän opas. Yliopistopaino, Helsinki, 1989.
E.Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented
Software. Reading, MA, Addison-Wesley, 1995.
C.F. Goldfarb, P. Prescod: The XML Handbook. Prentice Hall PTR, 1998.
M.T. Goodrich, R. Tamassia: Data Structures and Algorithms in Java.
John Wiley & Sons, 1998.
J. Gosling, B. Joy, G. Steele: The Java[tm] Language Specification,
Addison-Wesley, 1996.
J. Haataja, J, Rahola, J. Ruokolainen: Fortran 90/95 (toinen uudistettu
painos). Yliopistopaino, 1998.
I. Haikala, J. Märijärvi: Ohjelmistotuotanto, 4. painos, Suomen
Atk-kustannus Oy, 1997.
D. Harel: Algorithmics: The Spirit of Computing, 2nd ed. Addison-Wesley,
1992.
D. Hearn, M.P. Baker: Computer Graphics, C Version. Prentice-Hall,
2nd ed. 1997.
J.E. Hopcroft, J.D. Ullman: Introduction to Automata Theory,
Languages, and Computation. Addison-Wesley, 1979.
A. Kaldewaij: Programming: The Derivation of Algorithms. Prentice-Hall, 1990.
K. Koskimies: Pieni oliokirja. Suomen Atk-kustannus Oy, 1997.
P. Leino: Taitavan kirjoittajan kielenhuolto. Opiskelijan opas.
Helsingin yliopiston Lahden tutkimus- ja koulutuskeskus, Yliopistopaino,
Helsinki, 1996.
A. Lieko, L. Lehikoinen, K. Laaksonen, S. Kiuru:, Ohjeita tutkielman
kirjoittajille. Yliopistopaino, 1993 (uudistettu laitos).
I. Lonka, K. Lonka, P. Karvonen, P. Leino: Taitava kirjoittaja.
Opiskelijan opas. Helsingin yliopiston Lahden tutkimus- ja
koulutuskeskus, Yliopistopaino, Helsinki, 1996.
S. Meyers: Effective C++ (2nd ed,). Addison-Wesley, 1998.
J. Preece, Y. Rogers, H. Sharp, D. Benyon, S. Holland, T. Carey:
Human-Computer Interaction. Addison-Wesley, 1994.
R.S. Pressman: Software Engineering - A Practitioners' Approach, 4th ed.
McGraw-Hill, 1996.
S. Russell, P. Norvig: Artificial Intelligence: A Modern Approach.
Prentice Hall, 1995.
W.R. Stevens: Advanced Programming in the UNIX Environment. Addison-Wesley,
1992.
B. Stroustrup: The C++ Programming Language (3rd ed.). Addison-Wesley, 1997.
A.S. Tanenbaum: Computer Networks, 3rd edition, Prentice-Hall 1996
J.D. Ullman, J. Widom: A First Course in Database Systems,
Prentice Hall, 1997.
Laudatur
A.V. Aho, R. Sethi, J.D. Ullman: Compilers - Principles, Techniques
and Tools. Addison-Wesley, 1986.
R.M. Baecker: Readings in Groupware and Computer-Supported Cooperative
Work. Morgan Kaufmann, 1993.
R.M. Baecker, J.Grudin, W.A.S. Buxton, S. Greenberg: Readings in
Human-Computer Interaction: Toward The Year 2000, 2nd ed.
Morgan Kaufmann, 1995.
P.A. Bernstein, V. Hadzilacos, N. Goodman: Concurrency Control and
Recovery in Database Systems. Addison-Wesley, 1987.
P.A. Bernstein, E. Newcomer: Principles of Transaction Processing.
Morgan Kaufmann Publishers, 1997
G. Booch et al.: The Unified Modeling Language User Guide.
Addison-Wesley, 1999.
G.F. Colouris, J. Dollimore, T. Kindberg: Distributed Systems,
Concepts and Design, 2nd ed. Addison-Wesley, 1994.
T.H. Cormen, C.E. Leiserson, R.L. Rivest: Introduction to Algorithms.
The MIT Press, 1990.
M. Crochemore, W. Rytter: Text Algorithms. Oxford University Press, 1994.
A.K. Elmagarmid (ed.): Database Transaction Models for Advanced
Applications, Morgan Kaufmann Publishers, 1992.
Frakes, W.B., Baeza-Yates, R.(eds.), Information Retrieval: Data
Structures and Algorithms. Prentice-Hall, 1992.
R.C. Gonzalez, R.E. Woods: Digital Image Processing, 3rd
edition, Addison-Wesley, 1992.
D. Gusfield: Algorithms on Strings, Trees and Sequences - Computer
Science and Computational Biology. Cambridge University Press, 1997.
J.L. Hennessy, D.A. Patterson: Computer Architecture, A Quantitative
Approach, 2nd ed. Morgan Kauffmann, 1996.
M. Kearns, U. Vazirani: An Introduction to Computational Learning Theory.
MIT Press, 1994.
A.M. Law, W.D. Kelton, Simulation, Modeling and Analysis, McGraw-Hill,
(second edition), 1991
J.R. Levine et al.: lex & yacc. O'Reilly & Associates, Inc., 1995.
D. A. Menasce, V.A.F. Almeida, L.W. Dowdy: Capacity Planning and
Performance Modeling. Prentice-Hall, 1994.
T. Mitchell: Machine Learning. McGraw-Hill, 1997.
G. Salton, Automatic Text Processing: The Transformation, Analysis, and
Retrieval of Information by Computer. Addison-Wesley, 1989.
R. Sethi: Programming Languages - Concepts and Constructs (2nd edition).
Addison-Wesley, 1996.
R. Sebesta: Concepts of Programming Languages (4th edition).
Addison-Wesley, 1998.
B. Shneiderman: Designing the User Interface: Strategies for Effective
Human-Computer Interface, 2nd edition. Addison-Wesley, 1992.
A. Silberschatz, H.F. Korth, S. Sudarshan: Database System Concepts,
3rd ed. McGraw-Hill, 1997.
W. Stallings: Cryptography and Network Security (2. ed),
Prentice-Hall, 1998.
Computer Science Courses in English
Courses are offered in English both at the basic level (Approbatur) and at the advanced or postgraduate level (Laudatur). Some courses are organized in co-operation with the Helsinki University of Technology, the Rolf Nevanlinna Institute, the University of Tampere, the University of Turku, and the Center for Scientific Computing. Some courses will be taught by foreign visitors at the department, but most are taught by native Finns. Students should contact the instructor in advance in case they wish any specific course to be lectured in English.All the information here is preliminary. For detailed, up-to-date information please refer to the departmental bulletin boards at the beginning of each term, or contact the departmental Student Counselling Office, room B439, Department of Computer Science, Teollisuuskatu 23, tel. 708 44222. Up-to-date information is also available through WWW (http://www.cs.helsinki.fi/instr.engl/).
This year, we offer at least the following courses in English, at basic level:
581384-9 Introduction to the Use of Computers (2 cu)
Lectures: B.Sc. Curt Taylor 10.8.-9.9.1999, Tuesdays 14-16, Thursdays
14-16,
A414
This basic course gives a practical introduction to the use of
computers. It covers such areas as the basics of Unix and
Windows, WWW and HTML, e-mail, news groups, text and image
processing and spreadsheet computation. The course gives
essential background for further computer science courses.
581384-9 Introduction to the Use of Computers (2 cu)
Lectures: (to be announced) 18.1.-7.3.2000, Tuesdays 12-14,
A320
Contents, see above.
Advance registration is recommended but students can register when attending the first lecture. All registrations are made through the computer registration system, which can be used directly at the Department (room D423, 4th floor) or through WWW (see the departmental WWW page given below). Registration starts about one week before the term begins.
Most compulsory basic level (Approbatur) and many higher level courses may include one exercise group in English according to demand. Students should contact the instructor in advance if they would like to have the exercise sessions in English. Some intermediate (Cum Laude Approbatur), many advanced (Laudatur) courses and seminars, and all HeCSE (Helsinki Graduate School in Computer Science and Engineering) and ComBi (Graduate School in Computational Biology, Bioinformatics and Biometry) courses are offered in English according to demand.
Most examinations, at all levels, can be taken in English if so requested. The examinations material will be available in English in such cases. Please contact the instructor giving the examination at least two weeks in advance.
More information will be available after September 1, 1999. For up-to-date information please check the 4th floor departmental bulletin board "7. Opetusohjelma", the departmental WWW-page at http://www.cs.Helsinki.FI/instr.engl/, or contact the departmental Student Counselling in room B439, Department of Computer Science, Teollisuuskatu 23, tel. 708 44222.
Foreign Student Advisor:
Greger Lindén
Dept of Computer Science
P.O. Box 26 (Teollisuuskatu 23)
FIN-00014 University of Helsinki
Finland
tel. +358 9 708 44164
fax. +358 9 708 44441
E-mail: fsa@cs.Helsinki.Fi
http://www.cs.Helsinki.FI/instr.engl/
Computer Science Courses in Swedish
There is one course in Swedish in the autumn, Introduction to the Use of Computers. According to demand, Swedish exercise groups are also organised in the course Scientific Writing. See also http://www.cs.helsinki.fi/svenska/.Note that all exams can be taken in Swedish. Students should ask the teacher beforehand if they also want the questions in Swedish.
Instruction
AUTUMN TERM
581357-7 Introduction to the Use of
Computers (2 cu).
14.9.-21.10.1999,
ti 14-16, Thur 12-14 A319.
This basic course gives a practical introduction to the use of computers. It
covers such areas as the basics of Unix and Windows, WWW and HTML, e-mail, news
groups, text and image processing and spreadsheet computation. The course gives
essential background for further computer science courses. The course is suitable
for both major and minor students. Also non-Swedish students may attend (if
they know a little Swedish).
58110-3 Scientific Writing (Tieteellisen kirjoittamisen kurssi) (4 cu).
The course is lectured in Finnish. A Swedish exercise group is organised.
SPRING TERM
58110-3 Scientific Writing (4 cu).The course is lectured in Finnish. If there is demand, a Swedish exercise group is organised.
Teachers
You may contact the teachers during their regular office hours at the department (Teollisuuskatu 23). Office hours not mentioned in the following list may be found on notice-board nr. 8 on the 4th floor or on the WWW page http://www.cs.helsinki.fi/ihmiset/vastaanottoajat.html and at the office (door) of each teacher.
Ahonen-Myka, Helena, Ph.D., Prof.
Alanko, Timo, Ph.D., Prof., chairman of the department
Back, Ralph, Ph.D., doc., Prof. at Åbo Akademi
Elolampi, Pentti, M.Sc., Asst. Prof.
Elomaa, Tapio, Ph.D., Asst. Prof.
Eloranta, Satu, M.Sc., Asst.
Erkiö, Hannu, Ph.D., Prof., doc.
Eskola, Jukka, M.Sc., Asst.
Floréen, Patrik, Ph.D., doc., employed at the European Commission.
Grahne, Gösta, Ph.D., doc., Asst. Prof., leave of absence during
1999-2000.
Gustafsson, Juha, M.Sc., Asst.
Hakli, Raul, M.Sc.., Asst.
Heinonen, Oskari, M.Sc., Asst., leave of absence during
1999-2000.
Hyvönen, Eero, TkT, Prof., doc.
Järvinen, Pertti, Ph.D., doc., Prof. at the University of Tampere
Kaivola, Roope, Ph.D., doc., Asst. Prof., leave of absence during
1999-2000.
Karvi, Timo, Ph.Lic., Asst. Prof.
Kerola, Teemu, Ph.D.., Asst. Prof.
Kilpeläinen, Pekka, Ph.D., Prof.
Kivinen, Jyrki, Ph.D., doc., Asst. Prof.
Klemettinen, Mika, Ph.D., Asst. Prof.
Kojo, Markku, M.Sc., Asst. Prof., leave of absence during
1999-2000.
Koskimies, Kai, Ph.D., doc., Prof. at the Tampere University of
Technology.
Kuittinen, Juhani, M.Sc., Asst.
Kujala, Teija, M.Sc., Aman.
Kutvonen, Lea, Ph.D., Researcher
Kutvonen, Petri, Chief Systems Analyst
Kuuppelomäki, Päivi, M.Sc., Asst.
Kärkkäinen, Juha, M.Sc., Asst. Prof.
Laakso, Karri-Pekka, M.Sc. (Eng.), Asst. Prof.
Laakso, Sari A., M.Sc., Asst. Prof.
Laine, Harri, Ph.Lic., Asst. Prof.
Lemström, Kjell, M.Sc., Asst., leave of absence during
1999-2000.
Lindén, Greger, Ph.D., Asst. Prof., Office hours: Mon, Wed, Thur 11-11.30 A323.
Linnainmaa, Seppo, Ph.D., doc., Prof. (VTT).
Lokki, Heikki, Ph.Lic., Asst. Prof.
Luukkainen, Matti, M.Sc., Asst. Prof.
Mannila, Heikki, Ph.D., Prof., leave of absence during
1999-2000.
Marttinen, Liisa, M.Sc., Asst. Prof.
Moen, Pirjo, Ph.Lic., Asst., leave of absence during
1999-2000.
Myllymäki, Petri, Ph.D., Asst Prof., leave of absence during
1999-2000.
Mäkelä, Matti, TkT, Prof. atfice hours Tue 9.45 - 10.15,
Thur 10.30 - 11 room A402.
Niklander, Tiina, M.Sc., Aman., leave of absence during
1999-2000.
Nurmi, Otto, Dr.rer.pol., Asst. Prof.
Nykänen, Matti, Ph.D., Asst., leave of absence during
1999-2000.
Orponen, Pekka, Ph.D., doc., Prof. at the University of Jyväskylä
Paakki, Jukka, Ph.D., Prof.
Peltola, Eero, Ph.D., doc.
Pollari-Malmi, Kerttu, TkL, Asst. Prof., leave of absence during
1999-2000.
Raatikainen, Kimmo, Ph.D., Prof. atfice hours Mon 10-10:30, Wed
8:30-9:00, Fri 12:30-13:00 room C468
Räihä, Kari-Jouko, Ph.D., doc., Prof. at the University of Tampere
Sippu, Seppo, Ph.D., Prof., leave of absence during
autumn 1999.
Sivén, Reijo, M.Sc., Asst. Prof.
Soisalon-Soininen, Eljas, Ph.D., doc., Prof. at the Helsinki
University of Technology.
Prof.
Sutinen, Erkki, Ph.D., Asst., leave of absence during
1999-2000
Taina, Juha, Ph.Li., Asst.
Takala, Tapio, TkT, doc., Prof. at the Helsinki
University of Technology.
Tarhio, Jorma, Ph.D., doc., Prof. at the University of Joensuu.
Tienari, Martti, Ph.D., Prof. emer.
Tirri, Henry, Ph.D., Prof. atfice hours Tue 12-13 and Fri 9-9.30
huone A405.
Toivonen, Hannu, Ph.D., doc., Asst. Prof., leave of absence during
1999-2000.
Tuovinen, Antti-Pekka, M.Sc., Asst., leave of absence during
1999-2000.
Ukkonen, Esko, Ph.D., Prof., leave of absence during
1999-2000. Academy Prof.,
office hours according to agreement.
Valmari, Antti, TkT, doc., Prof. at the Tampere
University of Technology
Veijalainen, Jari, Dr.-Ing., doc., Prof. at the University of Jyväskylä
Verkamo, Inkeri, Ph.D., Prof.
Vihavainen, Juha, Ph.Lic., Asst. Prof.
Wikla, Arto, M.Sc., Asst. Prof.