In this chapter, the implementation of two courses on data structures and algorithms at the Helsinki University of Technology
is presented. The courses are based on the constructivist learning paradigm in which the students participate actively and
feedback is provided on their performance despite the very large number of enrolled students each year. Moreover, an Internet-based
learning environment is an integral part of the larger course because it provides an opportunity to apply active learning
methods. Examples of the active learning methods are algorithm simulations exercises and analysis of algorithms for small-scale
problems. In addition, students design algorithms and solutions for non-trivial practical applications. Moreover, in the more
advanced course they carry out a small-scale research project to determine the empirical efficiency of given algorithms and
the corresponding data structures.