Following is a summary of Johanson and Hasselbring (2018) and an exploration of what, if anything, it might suggest for learning design and learning analytics. Johanson and Hasselbring (2018) explore why scientists whom have been developing software to do science (computational science) haven’t been using principles and practices from software engineering to develop this software. The idea is that such an understanding will help frame advice for how computational science can be improved through application of appropriate software engineering practice (**assumption**).
This is interesting because of potential similarities between learning analytics (and perhaps even learning design in our now digitally rich learning environments) and computational science. Subsequently, lessons about if and how computational science has/hasn’t been using software engineering principles might provide useful insights for the implementation of learning analytics and the support of learning design. I’m especially interested due to my observation that both practice and research around learning analytics implementation isn’t necessarily exploring all of the possibilities.
In particular, Johanson and Hasselbring (2018) argue that it is necessary to examine the nature of computational science and subsequently select and adapt software engineering techniques that are better suited to the needs of computational scientists. For me, this generates questions such as:
- What is the nature of learning analytics?
- What is the nature of learning design?
- What happens to the combination of both?
Increasingly it is seen as necessary that learning analytics be tightly aligned with learning design. Is the nature/outcome/practice of this combination different? Does it require different types of support?
- For all of the above is there a difference between the nature espoused in the research literature and the nature experienced by the majority of practitioners?
- What types and combination of software engineering/development principles and practices are best suited to the nature of learning analytics and learning design?
Summary of the paper
- Question of problem
The development of software with which to do science is increasing, but this practice isn’t using software engineering practices. Why? What are the underlying causes? How can it be changed?
Survey of relevant literature examining software development in computational science. About 50 publications examined. A majority case studies, but some surveys.
Identify 13 key characteristics (divided into 3 groups) of computational science that should be considered (see table below) when thinking about which software engineering knowledge might apply and be adapted.
Examines some examples of how software engineering principles might be/are being adapted.
Implications for learning analytics
Johanson and Hasselbring (2018) argue that the chasm between computational scientists and software engineering researchers arose from the rush on the part of computer scientists and then software engineers to avoid the “stigma of all things applied”. The search for general principles that applied in all places. Leading to this problem
Because of this ideal of generality, the question of how specifically computational scientists should develop their software in a well-engineered way, would probably have perplexed a software engineer and the answer might have been: “Well, just like any other application software.
In learning analytics there are people offering more LA specific advice. For example, Wise & Vytasek (2017) and just this morning via Twitter this pre-print of looming BJET article. Both focused on providing advice that links learning analytics and learning design.
But I wonder if this is the only way to look at learning analytics? What about learning analytics for reflection and exploration? Does the learning design perspective cover it?
But perhaps a more interesting question might be whether or not it is assumed that the learning analytics/learning design principles identified by these authors should then be implemented using traditional software engineering practices?
Nature of scientific challenges
Verification and validation is difficult and
Validation is hard
Problems arise from four
Model of reality is
Algorithm used to
Implementation of the
Combination of models can
Testing methods could help,
Overly formal software processes restrict research
Easterbrook and Johns (2009) big up front design “poor
there is a need for the flexibility to quickly
Use a very iterative process, iterating over both the
Explicit connections with agile software development
Representation shown in figure
Limitations of computers
scientific software not limited by the science theory, but by the available computing resources
Some communities moving
Intermingling of domain logica and implementation
Conflicting software quality requirements
interviews of scientific
Few scientists are trained in software engineering
Segal (2007) describe them
“In contrast to most
But keeping up with sw eng
Didn’t want to delegate
Scientific software in itself has no value but still
Code is valued because of
Creating a shared understanding of a “code” is
preference for informal,
“scientists find it
Little code re-use
Disregard of most modern software engineering methods
A model of scientific software development
Johanson and Hasselbring (2018) include the following figure as a representation of how scientific software is developed. They note its connections with agile software development, but also describe how computational scientists find even the light weight discipline of agile software development as not a good fit.
Anecdotally, I’d suggest that the above representation would offer a good description of much of the “learning design” undertaken in universities. Though with some replacements (e.g. “develop piece of software” replaced with “develop learning resource/experience/event”).
If this is the case, then how well does the software engineering approach to the development and implementation of learning analytics (whether it follows the old SDLC or agile practices) fit with this nature of learning design?
Johanson, A., & Hasselbring, W. (2018). Software Engineering for Computational Science: Past, Present, Future. Computing in Science & Engineering. https://doi.org/10.1109/MCSE.2018.108162940
Wise, A., & Vytasek, J. (2017). Learning Analytics Implementation Design. In C. Lang, G. Siemens, A. F. Wise, & D. Gaševic (Eds.), The Handbook of Learning Analytics (1st ed., pp. 151–160). Alberta, Canada: Society for Learning Analytics Research (SoLAR). Retrieved from http://solaresearch.org/hla-17/hla17-chapter1