Technical Symposium on Computer Science Education, 2008
When teaching material is translated into another language, text-based examples can lose their si... more When teaching material is translated into another language, text-based examples can lose their significance, analogies may be meaningless in the local culture, and there may even be problems with physical access to the material. We consider principles for addressing these issues so that teaching examples can be made accessible to a diverse range of languages and cultures. We present a case study of the adaptation of a free resource for school outreach and lecture demonstrations (csunplugged.org), looking at issues encountered for Japanese, Korean, Chinese and Swedish translations. These represent a large range of languages, types of alphabets and cultures.
The research presented in this thesis investigates the concept of sustainability in relation to m... more The research presented in this thesis investigates the concept of sustainability in relation to mobile learning initiatives. Sustainability is seen as a key concept for mobile learning to gain acceptance. In linking sustainability to scalability, a term used to describe how well ...
Learning programming with tutor tools has grown in popularity. These tools present programming as... more Learning programming with tutor tools has grown in popularity. These tools present programming assignments and provide feedback in the form of test-cases and compilation errors. Our timeline visualization of data from one such tool allows us to tell a story about what files were accessed and for how long, in what order files were edited, grown or shrunk, what errors the student ran into, and how those errors were addressed. This can be done without a need to read and replay the entire programming session. In sum, the tool has been used to visualize logs from students that tried to solve programming assignments and we find interesting stories that can help us improve how we address new assignments.
Multi-dimensional goals can be formalized in so-called quality models. Often, each dimension is a... more Multi-dimensional goals can be formalized in so-called quality models. Often, each dimension is assessed with a set of metrics that are not comparable; they come with different units, scale types, and distributions of values. Aggregating the metrics to a single quality score in an ad-hoc manner cannot be expected to provide a reliable basis for decision making. Therefore, aggregation needs to be mathematically well-defined and interpretable. We present such a way of defining quality models based on joint probabilities. We exemplify our approach using a quality model with 30 standard metrics assessing technical documentation quality and study ca. 20,000 real-world files. We study the effect of several tests on the independence and results show that metrics are, in general, not independent. Finally, we exemplify our suggested definition of quality models in this domain.
We motivate and describe why erosion modeling from a static architecture conformance checking poi... more We motivate and describe why erosion modeling from a static architecture conformance checking point of view is important as well as the impact we think it can have on industry. Our research goal is to get a better understanding of erosion and develop smarter and simpler methods to assess erosion. We describe preliminary results from a retrospective, longitudinal case study of an open source software. The software system we study, JabRef, was created in 2003, and refactored to a layered structure to "transition from a spaghetti to a more structured architecture" in 2015. We construct a model from this new, layered architecture, and assess 30 versions of JabRef to find architectural conformance violations. Our preliminary results show a significant difference in productivity after refactoring and suggest that there is a connection between our model of erosion and productivity where more erosion gives lower productivity.
Reflexion modeling can be used to validate that source code conforms to an intended architecture.... more Reflexion modeling can be used to validate that source code conforms to an intended architecture. However, it requires a mapping of source code modules (e.g., classes) to (software) architecture elements. We have developed a tool suite that allows for evaluation and exploration of automatic techniques to map source code modules to architecture elements. The suite includes a reusable core component and tools to define the architecture, define and run experiments with mapping strategies, and explore the results of these experiments. The experiments can be executed locally or in a remote high-performance computing environment.
This paper presents a study that was conducted of the devel-opment process of an initiative that ... more This paper presents a study that was conducted of the devel-opment process of an initiative that used podcasts (ie, digital audio-files) to supplement lectures in higher education. A thorough data gathering was conducted using the iterative cycles of the action research approach. ...
International Journal of Engineering Education, 2016
To have direct observation of students during an online programming course is impossible. This ma... more To have direct observation of students during an online programming course is impossible. This makes it harder for teachers to help struggling students. By using an online programming environment w ...
Mobile learning has yet to move on from small-scale trials to sustained deployment. One reason fo... more Mobile learning has yet to move on from small-scale trials to sustained deployment. One reason for this is the highly complex and multi-disciplinary setting that the initiatives operate within. They must deal with a wide range of issues such as software, hardware, people, learning, ...
Technical Symposium on Computer Science Education, 2008
When teaching material is translated into another language, text-based examples can lose their si... more When teaching material is translated into another language, text-based examples can lose their significance, analogies may be meaningless in the local culture, and there may even be problems with physical access to the material. We consider principles for addressing these issues so that teaching examples can be made accessible to a diverse range of languages and cultures. We present a case study of the adaptation of a free resource for school outreach and lecture demonstrations (csunplugged.org), looking at issues encountered for Japanese, Korean, Chinese and Swedish translations. These represent a large range of languages, types of alphabets and cultures.
The research presented in this thesis investigates the concept of sustainability in relation to m... more The research presented in this thesis investigates the concept of sustainability in relation to mobile learning initiatives. Sustainability is seen as a key concept for mobile learning to gain acceptance. In linking sustainability to scalability, a term used to describe how well ...
Learning programming with tutor tools has grown in popularity. These tools present programming as... more Learning programming with tutor tools has grown in popularity. These tools present programming assignments and provide feedback in the form of test-cases and compilation errors. Our timeline visualization of data from one such tool allows us to tell a story about what files were accessed and for how long, in what order files were edited, grown or shrunk, what errors the student ran into, and how those errors were addressed. This can be done without a need to read and replay the entire programming session. In sum, the tool has been used to visualize logs from students that tried to solve programming assignments and we find interesting stories that can help us improve how we address new assignments.
Multi-dimensional goals can be formalized in so-called quality models. Often, each dimension is a... more Multi-dimensional goals can be formalized in so-called quality models. Often, each dimension is assessed with a set of metrics that are not comparable; they come with different units, scale types, and distributions of values. Aggregating the metrics to a single quality score in an ad-hoc manner cannot be expected to provide a reliable basis for decision making. Therefore, aggregation needs to be mathematically well-defined and interpretable. We present such a way of defining quality models based on joint probabilities. We exemplify our approach using a quality model with 30 standard metrics assessing technical documentation quality and study ca. 20,000 real-world files. We study the effect of several tests on the independence and results show that metrics are, in general, not independent. Finally, we exemplify our suggested definition of quality models in this domain.
We motivate and describe why erosion modeling from a static architecture conformance checking poi... more We motivate and describe why erosion modeling from a static architecture conformance checking point of view is important as well as the impact we think it can have on industry. Our research goal is to get a better understanding of erosion and develop smarter and simpler methods to assess erosion. We describe preliminary results from a retrospective, longitudinal case study of an open source software. The software system we study, JabRef, was created in 2003, and refactored to a layered structure to "transition from a spaghetti to a more structured architecture" in 2015. We construct a model from this new, layered architecture, and assess 30 versions of JabRef to find architectural conformance violations. Our preliminary results show a significant difference in productivity after refactoring and suggest that there is a connection between our model of erosion and productivity where more erosion gives lower productivity.
Reflexion modeling can be used to validate that source code conforms to an intended architecture.... more Reflexion modeling can be used to validate that source code conforms to an intended architecture. However, it requires a mapping of source code modules (e.g., classes) to (software) architecture elements. We have developed a tool suite that allows for evaluation and exploration of automatic techniques to map source code modules to architecture elements. The suite includes a reusable core component and tools to define the architecture, define and run experiments with mapping strategies, and explore the results of these experiments. The experiments can be executed locally or in a remote high-performance computing environment.
This paper presents a study that was conducted of the devel-opment process of an initiative that ... more This paper presents a study that was conducted of the devel-opment process of an initiative that used podcasts (ie, digital audio-files) to supplement lectures in higher education. A thorough data gathering was conducted using the iterative cycles of the action research approach. ...
International Journal of Engineering Education, 2016
To have direct observation of students during an online programming course is impossible. This ma... more To have direct observation of students during an online programming course is impossible. This makes it harder for teachers to help struggling students. By using an online programming environment w ...
Mobile learning has yet to move on from small-scale trials to sustained deployment. One reason fo... more Mobile learning has yet to move on from small-scale trials to sustained deployment. One reason for this is the highly complex and multi-disciplinary setting that the initiatives operate within. They must deal with a wide range of issues such as software, hardware, people, learning, ...
Uploads
Papers by Anna Wingkvist