Abstract
The phrase ‘software design’ is not one that arouses the interest of many CALL practitioners, particularly those from a humanities background. However, software design essentials are simply logical ways of going about designing a system. The fundamentals include modularity, anticipation of change, generality and an incremental approach. While CALL researchers and developers might consider software design as something that is required for large-scale projects, it is relevant and useful for all types of projects. Colpaert's CALL design model incorporates software design principles and has a particular focus on CALL. This article reviews software design principles and their relevance in CALL. It focuses on how Colpaert's model can be applied in a real-world situation. One key feature is the importance of involving users (and especially teachers in the CALL context) in the design process. Although this can be challenging for the designer and the design-novice teacher, it is an essential component in successful CALL projects. This article aims to demonstrate that software design principles are not just lofty ideas but guidelines that can be used in a practical and pragmatic approach to CALL research and development. Those in the CALL world who come from a software engineering background can contribute to CALL by making software design principles more accessible to CALL practitioners, while those from other backgrounds can contribute by trying to understand and implement these concepts. This article aims to show less-technically oriented CALL practitioners the benefits of using software design principles in their work and, even if they do not manage to implement all of them, these principles can be used as a good and reliable model to follow.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have