Jyrki Katajainen: Teaching experience
Courses given
The home pages of the courses I have been involved in after 1998 can be accessed
via the electronic version of this document which is available at
http://www.diku.dk/~jyrki/Myris/teaching-experience.html.
Compilers
2nd quarter 2007, 10h lectures & 2h seminars, University of Copenhagen, in Swedish
1st quarter 2008,
11h lectures, 4h exercises, University of Copenhagen, in Swedish
Computational Geometry
Nov 1986 - Dec 1986, 40h lectures & 20h exercises, University
of Turku, in Finnish
Nov 1990, 9h lectures, Linköping University, in Swedish
Spring 1991, 48h lectures, University of Turku, in Finnish
Computer Architecture
Sept-Nov 2004, 10h lectures & 3h seminars, University of Copenhagen, in Swedish
Nov 2004-Jan
2005, 15h lectures, 3h seminars & 3h exercises, University of Copenhagen, in Swedish
Nov 2005-Jan
2006, 18h lectures, 6h seminars & 12h exercises, University of Copenhagen, in Swedish
Nov 2006-Jan
2007, 21h lectures, 3h seminars & 12h exercises, University of Copenhagen, in Swedish
Concurrent Programming
Nov 1993, 6h lectures, University of Copenhagen, in Swedish
Nov 1994, 6h lectures, University of Copenhagen, in Swedish
Database Systems
Autumn 1980, 48h lectures, University of Turku, in Finnish
Spring 1983, 56h lectures, University of Turku, in Finnish
Autumn 2000,
12h lectures & 14h seminars, University of Copenhagen, in Swedish
Spring 2002,
17 hours
lectures & 2h seminars, University of Copenhagen, in English
Spring
2003, 19 hours
lectures & 2h seminars, University of Copenhagen, in English
(Course evaluation)
Data Structures, Storage Structures, and Databases
Oct 1986, 20h lectures, University of Turku, in Finnish
Data-structuring Techniques
Nov 1994, 10h lectures, University of Copenhagen, in English
Jan 1996, 10h lectures, Turku Centre for Computer Science, in Finnish
Generic Programming and Library Development
April-June
2006, 8h lectures & 14h seminars, University of Copenhagen, in English
(Course evaluation)
April-June
2007, 5h lectures, 10h seminars &
4h exercises, University of Copenhagen, in English
(Course evaluation)
April-June
2008, 6h lectures, 14h seminars & 10h exercises, University of Copenhagen, in English
(Course evaluation)
Generative Software Development
Jan-Feb
2006, 6h lectures, University of Copenhagen, in English
Information Systems
Autumn 1984, 48h lectures, University of Turku, in Finnish
Introduction to Computer Science
Autumn 1982, 24h lectures, University of Turku, in Finnish
Introduction to Algorithmics
Mar 1998 - Apr 1998, 4h lectures, University of Copenhagen, in Swedish
Nov 1998 - Mar 1999,
27h lectures, University of Copenhagen, in Swedish
Autumn 1999, 52h lectures, University of Turku, in Finnish
Spring 2000,
28h lectures, University of Copenhagen, in Swedish
(Course evaluation)
Online Algorithms
Nov 2000 - Dec 2000,
10h lectures & 2h exercises, University of Copenhagen &
University of Southern Denmark, in English
Operating Systems
Spring 1994, 12h lectures, University of Copenhagen, in Swedish
Spring 1995, 12h lectures, University of Copenhagen, in Swedish
Spring 1996, 18h lectures, University of Copenhagen, in Swedish
Spring 1997, 16h lectures, University of Copenhagen, in Swedish
Spring 2000,
8h lectures, University of Copenhagen, in Swedish
Performance Engineering
Jan 1998, 20h lectures &10h exercises, Turku Centre for Computer
Science, in English
Spring 1998, 24h lectures & 12h exercises, University of
Copenhagen, in English & Swedish
Autumn 1998,
18h lectures & 20h exercises, University of
Copenhagen & Lund University, in Swedish
Spring 2000,
14h lectures, 6h seminars & 16h exercises, University of
Copenhagen, in Swedish
Spring 2001,
10h lectures, 8h seminars & 16h exercises, University of
Copenhagen, in Swedish
Parallel Algorithms
Apr 1988 - May 1988, 22h lectures & 12 h exercises, University of Turku, in Finnish
Spring 1989, 8h lectures, Linköping University, in Swedish
Spring 1990, 48h lectures, University of Turku, in Finnish
Autumn 1991, 18h lectures, University of Copenhagen, in English
Autumn 1993, 20h lectures, University of Copenhagen, in Swedish
Dec 1994, 6h lectures, University of Copenhagen, in English
Spring 1995, 20h lectures & 10h exercises, Turku Centre for
Computer Science, in English
Dec 1995, 8h lectures, University of Copenhagen, in English
Randomized Algorithms
Dec 1990, 5h lectures, University of Turku, in Finnish
Spring 1995, 10h lectures, University of Copenhagen, in English
Requirements Development
Aug 2008-Oct 2008, 2h lectures, 4h seminars, University of
Copenhagen, in English (Course analysis)
Simulation
Spring 1981, 30h lectures, University of Turku, in Finnish
Autumn 1982, 24h lectures, University of Turku, in Finnish
Software Construction
3rd quarter
2008, 9h lectures, 11h seminars &
6h exercises, University of
Copenhagen, in English and in Swedish
(Course evaluation)
3rd
quarter
2009, 6h lectures, 17h seminars &
8h exercises, University of
Copenhagen, in English and in Swedish
(Course evaluation)
Software Tools
Autumn 2001, 15h lectures, 9h seminars &
18h exercises, University of Copenhagen, in Swedish
Seminar series leaded
Approximation Algorithms
Autumn 1992, 30 hours, University of Copenhagen (jointly with Pawel Winter)
Building an Algorithm Library
Spring 1990, 24 hours, University of Turku (topic: Adaptive Sorting)
Autumn 2000,
32 hours, University of Copenhagen
(jointly with Lars Yde; topic: The
CPH STL)
Spring 2001,
22 hours, University of Copenhagen
(jointly with Lars Yde; topic: The
CPH STL)
Capstone Projects
Autumn
2003, 8 hours, University of Copenhagen
History of Algorithmics
Autumn 1997, 24 hours, University of Copenhagen
Information Systems
Autumn 1980, 20 hours, University of Turku
Autumn 1984, 24 hours, University of Turku
Managing Massive Data Sets
Autumn 1999, 20 hours, University of Turku
Orientation to a Profession in Computing Industry
Autumn 1984, 24 hours, University of Turku
Parallel Algorithms
Autumn 1992, 30 hours, University of Copenhagen (jointly with Jens Clausen)
Autumn 1994, 30 hours, University of Copenhagen (jointly with Jesper Larsson
Träff)
Practical Data Structures and Algorithms
Autumn 2002, 24 hours, University of Copenhagen (Course analysis)
Programming and Research
Spring 1991, 24 hours, University of Turku (topic: Proximity Problems in
Computational Geometry)
Autumn 1994, 30 hours, University of Copenhagen (topic: In-Place Algorithms)
Autumn 1996, 30 hours, University of Copenhagen (topic: Structured Document
Processing)
Autumn 2006,
12 hours, University of Copenhagen (topic: 6th STL Workshop)
Thesis Seminar
Spring 2002, 30
hours, University of Copenhagen
Autumn 2005, 18 hours, University of Copenhagen
Software created for teaching purposes
Department of Computer Science, University of Turku, Finland
In 1981 I wrote an object-based program which consisted of a
collection of
routines to be used for the manipulation of a family tree.
The task to extend this program with some small routine was given as one of the first
programming exercises for all students taking a course on Pascal.
The program went into retirement in 1999 when Pascal was removed from
the curriculum.
I could never imagine that a program written in dark nights in a hurry
would be used 18 years to teach students how to use pointers.
Department of Computer Science, University of Copenhagen, Denmark
In Autumn 2000, the project the CPH STL,
which is the first bigger development project I have undertaken, was
started. The Standard Template Library (STL) is part of the ISO
standard for C++.
The purpose of this project is:
to study and analyse existing specifications for and
implementations of the STL,
to design alternative/enhanced versions of individual STL
components, and
to implement and document the new versions.
This project
is a
valuable resource of marvelous teaching material, and, in addition to
this, its implementation offers interesting research challenges.
I expect that after some maturation period
the library, as well as its infrastructure, will be used in other
universities for teaching purposes.
For more
information about the project, see the CPH STL website:
http://cphstl.dk/.
M.Sc. students supervised
Jukka Somelo,
Tietokonepohjaisesta informaatiopalvelusta,
Department of Computer Science, University of Turku (1985)
Outi Kaarela,
Ohjelmistoapuvälineet ja niiden integrointi ohjelmointiympäristöksi,
Department of Computer Science, University of Turku (1985)
Ville Leppänen,
Rinnakkaislaskennan mallit ja niiden väliset
simuloinnit, Department of Computer Science, University of Turku
(1991)
Tomi Pasanen,
Lajittelu minimitilassa,
Department of Computer Science, University of Turku (1993)
Ramzi Fadel & Kim Vagn Jakobsen,
Data structures and algorithms in a two-level memory,
Department of Computer Science, University of Copenhagen (1996)
[ps]
Michael Lykke,
Experimental evaluation of minimum-cost flow algorithms,
Department of Computer Science,
University of Copenhagen (1997)
Supervised jointly with Jakob Krarup
Maz Spork,
Design and analysis of cache-conscious programs,
Department of Computer Science,
University of Copenhagen (1999)
[ps]
[pdf]
Morten Nicolaj Pedersen, A study of the practical significance of
word RAM algorithms for internal integer sorting, Department of Computer Science,
University of Copenhagen (1999)
[ps]
Anders Sewerin Johansen, SENSE --- delt lager på netværk
af arbejdsstationer, Department of Computer Science, University of
Copenhagen (1999)
[ps]
Adam Arndt,
Anvendelse af internet til intellektuelt samarbejde,
The IT University of Copenhagen (2000)
[doc]
Supervised jointly with
Peter Carstensen and Morten Thaning Vendelø
Jesper Bojesen,
Managing memory hierarchies,
Department of Computer Science,
University of Copenhagen (2000)
[ps]
Rasmus Borch,
SQL99s objektmodel --- teori og praksis,
Department of Computer Science,
University of Copenhagen (2001)
[pdf]
Supervised jointly with Troels Andreasen
Sofus Mortensen,
Refining the pure-C cost model,
Department of Computer Science,
University of Copenhagen (2001)
[pdf]
Lars Yde,
Supporting intellectual work through rendering and review,
Department of Computer Science,
University of Copenhagen (2001)
[pdf]
Hans-Henrik Stærfeldt,
Protein-protein interaction: Heuristic search in databases of 3d
protein structures,
Department of Computer Science,
University of Copenhagen (2002)
[ps.gz]
Jesper Holm Olsen and Søren Christian Skov,
Cache-oblivious algorithms in practice,
Department of Computer Science,
University of Copenhagen (2002)
[html]
Jeppe Nejsum Madsen,
Methods for interactive constraint satisfaction,
Department of Computer Science, University of Copenhagen (2003)
[html]
Frederik Rønn,
Cache-oblivious searching and sorting,
Department of Computer Science, University of Copenhagen (2003)
[html]
Christopher Derek Curry,
Reengineering a university department,
Department of Computer Science, University of Copenhagen (2004)
[html]
Fabio Vitale,
An investigation into efficient priority queues,
Department of Computer Science, University of Varese (2006)
[pdf]
Supervised jointly with Paolo Massazza
Andrei Bjarke Moskvitin Josephsen,
Sekventiel lagringsstruktur og dets anvendelser,
Department of Computer Science,
University of Copenhagen (2006)
[pdf]
Claus Jensen,
Theoretical and practical efficiency of priority queues,
Department of Computer Science,
University of Copenhagen (2006)
[html]
Csaba Gulyás,
Creation of a Bayesian network-based meta spam filter, using the
analysis of different spam filters,
Department of Measurement and Information Systems,
Budapest University
of Technology and Economics (2006)
[pdf]
Supervised jointly with Péter Antal
Jacob de Fine Skibsted and Stephan Lynge Herlev Larsen,
Distributing usage of bandwidth for on-demand streaming,
Department of Computer Science, University of Copenhagen (2007)
[html]
Supervised jointly with Per Høgh
Kasper Egdø,
A software transactional memory library for C++,
Department of Computer Science,
University of Copenhagen (2008)
[html]
Michael Neidhardt,
Robusthed i geometriske algoritmer,
Department of Computer Science,
University of Copenhagen (2008)
[html]
Klaus Byskov Hoffmann,
Domain-driven design in action: Designing an identity provider,
Department of Computer Science,
University of Copenhagen (2009)
[html]
Anders Thøgersen,
Searching for similar binding sites,
Department of Computer Science, University of Copenhagen
(2009)
[html]
Bo Simonsen,
Foundations of an adaptable container library,
Department of Computer Science,
University of Copenhagen (2009)
[html]
Possible thesis topics
Algorithmics
-
axiomatization of algorithmics
-
computational geometry for integer data
-
data-structural transformations
-
deamortization
Software construction
-
automated testing
-
component frameworks
-
C++ concepts
-
exception safety
-
translation of C++ programs into pure C
This page was last modified by
Jyrki Katajainen on 07.11.2009.
|