It is apparent that software practitioners seeking advanced education and professional development demand programs that blend with their obligations at work and at home as well as yield immediate benefits. Ideally, software engineers should be able to integrate their learning with how they work. Acculturated by their social and business networks, they would prefer to use tools and interfaces that are similar to what they already use. The learning processes and tools they are expected to use when learning should blend with their day-to-day processes to the extent possible.
Offering classroom courses in the edge hours – evenings and weekends – is an approach that meets the needs of many working software professionals seeking advanced education. However, the time such practitioners can devote to the campus commute to attend a few hours of classes is rapidly shrinking. Learning by way of online methods and tools has therefore become increasingly popular over the last several years. E-learning over the web offers a great deal of flexibility over traditional learning modes. Several variants and hybrids of these models can, and have been, implemented, each offering distinct benefits, but also limitations.
My experiences to date suggest that better, more cost-effective, and more relevant learning can be achieved by hybridizing face-to-face and online learning modes. For example, hybrid learning can increase the depth of engagement through discussion forums, provide access for dispersed learners, and also satisfy the demand for a modicum of face-time for those students who are prepared to attend classes on campus. However, “one size does not appear to fit all” – for example, discussion forums appear to be less effective for programming courses, while demonstration videos walking through coding and testing samples seem to be very effective. And online teleconferencing mechanisms supporting shared visual space and jointly authored documents are very effective for work group activities – much like those experienced on-the-job.
This paper describes my experiences and evolution of various learning models and hybrids that I have leveraged to blend certain critical elements of traditional face-to-face and online learning approaches. A spin-off benefit of e-learning is that classrooms are freed up for other purposes, reducing the demand for costly physical facilities. In this paper I explore several blended learning model variants that I have used to teach software engineering courses. The observed benefits and limitations of these learning models and support tools are highlighted; and several outstanding questions and issues for further consideration are raised.