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
    1. axiomatization of algorithmics
    2. computational geometry for integer data
    3. data-structural transformations
    4. deamortization
    Software construction
    1. automated testing
    2. component frameworks
    3. C++ concepts
    4. exception safety
    5. translation of C++ programs into pure C
This page was last modified by Jyrki Katajainen on 07.11.2009.