Blended learning is becoming an attractive model in higher education as new innovative information technologies are becoming increasingly available. However, just blending face-to-face learning with information technologies cannot provide effective teaching and efficient solutions for learning. To be successful, blended learning must rely on solid learning theory and pedagogical strategies. In addition, there is a need for a design-based research approach to explore blending learning through successive cycles of experimentations, where the shortcomings of each cycle are identified, redesigned, and reevaluated. This paper reports on a study conducted on a blended learning model in Java programming at the introductory level. It presents the design, implementation, and evaluation of the model and its implications for the learning of introductory computer programming.
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.