Jyrki Katajainen: Teaching experience

Courses given

    Algorithm Engineering
      1st quarter 2016, 14h lectures, 18h seminars, 4h exam monitoring, University of Copenhagen, in English
    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
      2nd quarter 2009, 11h lectures, 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
      1st quarter 2010, 12h lectures, 2h seminars, University of Copenhagen, in English
      1st quarter 2011, 12h lectures, 2h seminars, University of Copenhagen, in English
      1st quarter 2012, 14h lectures, 2h seminars, University of Copenhagen, in English
    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, 17h lectures, 2h seminars, University of Copenhagen, in English
      Spring 2003, 19h lectures, 2h seminars, University of Copenhagen, in English
    Data Structures
      Oct 1986, 20h lectures, University of Turku, in Finnish
      Nov 1994, 10h lectures, University of Copenhagen, in English
      Jan 1996, 10h lectures, Turku Centre for Computer Science, in Finnish
      2nd quarter 2009, 9h lectures, 12h seminars, 7h commentator, University of Copenhagen, in English
      1st quarter 2010, 10h lectures, 12h seminars, 6h commentator, University of Copenhagen, in English
      1st quarter 2011, 10h lectures, 12h seminars, 6h commentator, University of Copenhagen, in English
      1st quarter 2012, 14h lectures, 8h seminars, 4h commentator, University of Copenhagen, in English
      1st quarter 2013, 8h lectures, 8h seminars, 6h commentator, University of Copenhagen, in English
    Generative Software Development
      Jan–Feb 2006, 6h lectures, 9h commentator, 4h exercises, University of Copenhagen, in English
    Generic Programming and Library Development
      April–June 2006, 8h lectures, 14h seminars, 8h commentator, University of Copenhagen, in English (Course evaluation)
      April–June 2007, 5h lectures, 10h seminars, 8h commentator, 4h exercises, University of Copenhagen, in English (Course evaluation)
      April–June 2008, 6h lectures, 12h seminars, 8h commentator, 10h exercises, University of Copenhagen, in English (Course evaluation)
    Information Systems
      Autumn 1984, 48h 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
      4th quarter 2010, 14h lectures, University of Copenhagen, in English
    Introduction to Computer Science
      Autumn 1982, 24h lectures, University of Turku, in Finnish
    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
      3rd quarter 2014, 12h lectures, 4h commentator, University of Copenhagen, in English
      3rd quarter 2015, 13h lectures, 14h commentator, University of Copenhagen, in English
    Parallel Algorithms
      Apr 1988–May 1988, 22h lectures, 12h 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
    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, 6h commentator, 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
    Principles of Computer-Systems Design
      2nd quarter 2013, 8h lectures, 2h seminars, 2h commentator, 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, 12h commentator, 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 Development
      3rd quarter 2008, 9h lectures, 11h seminars, 7h commentator, 6h exercises, University of Copenhagen, in English & in Swedish (Course evaluation)
      3rd quarter 2009, 8h lectures, 17h seminars, 7h commentator, 8h exercises, University of Copenhagen, in English & in Swedish
      Spring 2010, 4h lectures, 18h seminars, 10h commentator, 6h exercises, University of Copenhagen, in English
      Spring 2016, 13h lectures, 12h seminars, 12h commentator, 6h exercises, University of Copenhagen, in English & in Swedish
    Software Tools
      Autumn 2001, 15h lectures, 9h seminars, 18h exercises, University of Copenhagen, in Swedish
    Theory of Science
      2nd quarter 2013, 1h lecture, 17h commentator, University of Copenhagen
      2nd quarter 2014, 1h lecture, 3h seminars, 23h commentator, 3h exercises, University of Copenhagen

Seminar series led

    Approximation Algorithms
      Autumn 1992, 30h, University of Copenhagen (jointly with Pawel Winter)
    Building an Algorithm Library
      Spring 1990, 24h, University of Turku (topic: Adaptive Sorting)
      Autumn 2000, 32h, University of Copenhagen (jointly with Lars Yde; topic: The CPH STL)
      Spring 2001, 22h, University of Copenhagen (jointly with Lars Yde; topic: The CPH STL)
    Capstone Projects
      Autumn 2003, 8h, University of Copenhagen
    History of Algorithmics
      Autumn 1997, 24h, University of Copenhagen
    Information Systems
      Autumn 1980, 20h, University of Turku
      Autumn 1984, 24h, University of Turku
    Managing Massive Data Sets
      Autumn 1999, 20h, University of Turku
    Orientation to a Profession in Computing Industry
      Autumn 1984, 24h, University of Turku
    Parallel Algorithms
      Autumn 1992, 30h, University of Copenhagen (jointly with Jens Clausen)
      Autumn 1994, 30h, University of Copenhagen (jointly with Jesper Larsson Träff)
    Practical Data Structures and Algorithms
      Autumn 2002, 24h, University of Copenhagen (Course analysis)
    Programming and Research
      Spring 1991, 24h, University of Turku (topic: Proximity Problems in Computational Geometry)
      Autumn 1994, 30h, University of Copenhagen (topic: In-Place Algorithms)
      Autumn 1996, 30h, University of Copenhagen (topic: Structured Document Processing)
      Autumn 2006, 12h, University of Copenhagen (topic: 6th STL Workshop)
    Thesis Seminar
      Spring 2002, 30h, University of Copenhagen
      Autumn 2005, 18h, 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 library is a valuable resource of marvellous teaching material, and, in addition to this, its implementation offers interesting research challenges. For more information about the project, see the CPH STL website: http://www.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)
      Co-supervisor: 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]
      Co-supervisors: 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]
      Co-supervisor: 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]
      Co-supervisor: 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]
      Co-supervisor: 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]
      Co-supervisor: 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]
    Jesper Alf Dam
      DikuSTM: A transactional memory library for C++ and C++0x, Department of Computer Science, University of Copenhagen (2010) [html]
    Søren Gade
      Slutbrugerudvikling: Tilgængelighed og manipulation af data inden for kontaktallergiforskning, Department of Computer Science, University of Copenhagen (2010) [html]
    Ramón Salvador Soto Rouco
      Efficient algorithms and data structures on multi-core computers, Department of Computer Science, University of Copenhagen (2010) [html]
    Asger Bruun
      Tuning af CPH STLs komponentstrukturer for smeltbare prioritetskøer, Department of Computer Science, University of Copenhagen (2010) [html]
    Jens Peter Svensson
      Design og implementering af programbiblioteket CPH collections, Department of Computer Science, University of Copenhagen (2011) [html]
    Sune Tougaard-Andersen
      Efficient chip-multi-processor programming, Department of Computer Science, University of Copenhagen (2011) [html]
    Mikkel Abrahamsen
      Constant-workspace algorithms for visibility problems in the plane, Department of Computer Science, University of Copenhagen (2013) [pdf]
    Jacob Jepsen
      GPU programming made easier, Department of Computer Science, University of Copenhagen (2014) [html]
    Henrik Thorup Andersen
      A study of I/O efficient maps and sets, Department of Computer Science, University of Copenhagen (2016) [html]
    Lukasz Kozlowski
      Domain-driven design in finance: Designing bond pricing validation software, Department of Computer Science, University of Copenhagen (2016) [confidental]
      Industrial partner: Nordea
    Michael Friis
      A system concept combining blood glucose and insulin injection data in the treatment of people with type 1 diabetes: An industrial innovation project, Department of Computer Science, University of Copenhagen (2016) [confidental]
      Industrial partner: Novo Nordisk A/S

This page was last modified by Jyrki Katajainen on 2017-09-13.