Date: 04 Apr 2011
From: jyrki@diku.dk
Subject: Master's thesis defence on library development

Oral defence of master's thesis: Design and implementation of the 
program library CPH collections

Defender: Jens Peter Svensson
Censor: Christian Heide Damm
Supervisor: Jyrki Katajainen

Time: Friday, 8 April 2011 at 10.00–11.00
Place: N034 at DIKU

Defence will be held in Danish

Abstract:

The purpose of this work is to describe the design and implementation of 
the program library CPH collections. The library is implemented in 
Python and consists of a subset of the C++ standard library as specified 
in the C++ standard. The main body of the thesis is devoted to the 
description and justification of the design choices made and the 
implementation techniques used. At the end, some ideas and suggestions 
for the future development of the library are also given.

The main reason for implementing the library was the presumption that 1) 
it is easier to learn Python than C++, 2) it is easier to write programs 
in Python than in C++, and 3) it is easier to perform experiments in 
Python than in C++. In general, it should be easier for the students to 
learn, and for teachers to teach, algorithms and data structures, 
including algorithm engineering, using Python and CPH collections than 
using C++ and its standard library.

The foundation stone of CPH collections was laid in the course 
Algorithms and data structures held in spring 2010 at our department. In 
this course the students were assigned to develop components for the 
library based on the material provided in the textbook and by the 
instructors. Part of the thesis work was to collect the available 
components written by different people in different programming styles 
together to form a coherent library. The details of this exercise are 
not addressed in the thesis, but the work done by this early generation 
of students is greatly appreciated.

The thesis is available online at 
http://www.diku.dk/~jyrki/PE-lab/Jens/

PE-lab's home page: http://www.diku.dk/~jyrki/PE-lab/