The paper argues for the importance of the constructivist learning theory to software development education. Constructivism frames learning less as the product of passive transmission than a process of active construction whereby learners construct their own knowledge based upon prior knowledge and experience. Now that a number of software development courses offer project-based teaching, it seems that the importance of a constructivist perspective has been implicitly well-taken in the current practice. What these approaches explicitly lack is a concrete methodology of how to carry out the constructivist perspective and its consequences for learning. This paper reports on a constructivist approach to object-oriented software development at the undergraduate level. It explores methodological aspects of the approach and discusses the results from its evaluation.