136 research outputs found
A Closer Look into Recent Video-based Learning Research: A Comprehensive Review of Video Characteristics, Tools, Technologies, and Learning Effectiveness
People increasingly use videos on the Web as a source for learning. To
support this way of learning, researchers and developers are continuously
developing tools, proposing guidelines, analyzing data, and conducting
experiments. However, it is still not clear what characteristics a video should
have to be an effective learning medium. In this paper, we present a
comprehensive review of 257 articles on video-based learning for the period
from 2016 to 2021. One of the aims of the review is to identify the video
characteristics that have been explored by previous work. Based on our
analysis, we suggest a taxonomy which organizes the video characteristics and
contextual aspects into eight categories: (1) audio features, (2) visual
features, (3) textual features, (4) instructor behavior, (5) learners
activities, (6) interactive features (quizzes, etc.), (7) production style, and
(8) instructional design. Also, we identify four representative research
directions: (1) proposals of tools to support video-based learning, (2) studies
with controlled experiments, (3) data analysis studies, and (4) proposals of
design guidelines for learning videos. We find that the most explored
characteristics are textual features followed by visual features, learner
activities, and interactive features. Text of transcripts, video frames, and
images (figures and illustrations) are most frequently used by tools that
support learning through videos. The learner activity is heavily explored
through log files in data analysis studies, and interactive features have been
frequently scrutinized in controlled experiments. We complement our review by
contrasting research findings that investigate the impact of video
characteristics on the learning effectiveness, report on tasks and technologies
used to develop tools that support learning, and summarize trends of design
guidelines to produce learning video
What is Skill? (and why does it matter?).
This Research-to-Practice Full Paper seeks to investigate the concept of Skill within a Competency Framework, such as that described by the CC2020 document. The notion of skill is fundamental to modern educational discourse. As educators, we strive, not only to impart knowledge, but to help students acquire the skills that they need to flourish in the modern academic and professional environments. We admire skillful practitioners and strive to become more skilled at what we do, recognising that skill is tied to an aesthetic sense - that there is something attractive and deeply satisfying about the process and output of skillful practice. Together with knowledge and disposition, the term is also used to denote one of the constituent components of competence. In computing, for example, the CC2020 document proposes curricular development models which promote skills as key ontological elements and emphasises skill acquisition as a major focus in the educational process. While this is undoubtedly an important, evolutionary development in discipline-based pedagogical practice, we feel that there are still foundational questions to be asked about precisely what is meant by definitional terms that form the core vocabulary of this approach. In this paper, we look at the notion of skill and provide a conceptual analysis which tries to distinguish it from other related ideas. We provide an overview of how skill has been seen historically as both a philosophical and sociological construct and what this means for using the term in educational theory. We examine how to usefully define skill, discuss the part it plays in teaching and assessment, and make recommendations for how it can be viewed operationally within a competency framework, such as that proposed by CC2020
Continuous Rationale Management
Continuous Software Engineering (CSE) is a software life cycle model open to frequent changes in requirements or technology. During CSE, software developers continuously make decisions on the requirements and design of the software or the development process. They establish essential decision knowledge, which they need to document and share so that it supports the evolution and changes of the software. The management of decision knowledge is called rationale management. Rationale management provides an opportunity to support the change process during CSE.
However, rationale management is not well integrated into CSE. The overall goal of this dissertation is to provide workflows and tool support for continuous rationale management. The dissertation contributes an interview study with practitioners from the industry, which investigates rationale management problems, current practices, and features to support continuous rationale management beneficial for practitioners. Problems of rationale management in practice are threefold:
First, documenting decision knowledge is intrusive in the development process and an additional effort.
Second, the high amount of distributed decision knowledge documentation is difficult to access and use.
Third, the documented knowledge can be of low quality, e.g., outdated, which impedes its use.
The dissertation contributes a systematic mapping study on recommendation and classification approaches to treat the rationale management problems.
The major contribution of this dissertation is a validated approach for continuous rationale management consisting of the ConRat life cycle model extension and the comprehensive ConDec tool support. To reduce intrusiveness and additional effort, ConRat integrates rationale management activities into existing workflows, such as requirements elicitation, development, and meetings. ConDec integrates into standard development tools instead of providing a separate tool. ConDec enables lightweight capturing and use of decision knowledge from various artifacts and reduces the developers' effort through automatic text classification, recommendation, and nudging mechanisms for rationale management. To enable access and use of distributed decision knowledge documentation, ConRat defines a knowledge model of decision knowledge and other artifacts. ConDec instantiates the model as a knowledge graph and offers interactive knowledge views with useful tailoring, e.g., transitive linking. To operationalize high quality, ConRat introduces the rationale backlog, the definition of done for knowledge documentation, and metrics for intra-rationale completeness and decision coverage of requirements and code. ConDec implements these agile concepts for rationale management and a knowledge dashboard. ConDec also supports consistent changes through change impact analysis.
The dissertation shows the feasibility, effectiveness, and user acceptance of ConRat and ConDec in six case study projects in an industrial setting. Besides, it comprehensively analyses the rationale documentation created in the projects. The validation indicates that ConRat and ConDec benefit CSE projects. Based on the dissertation, continuous rationale management should become a standard part of CSE, like automated testing or continuous integration
A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and Challenges
The software engineering community recently has witnessed widespread
deployment of AI programming assistants, such as GitHub Copilot. However, in
practice, developers do not accept AI programming assistants' initial
suggestions at a high frequency. This leaves a number of open questions related
to the usability of these tools. To understand developers' practices while
using these tools and the important usability challenges they face, we
administered a survey to a large population of developers and received
responses from a diverse set of 410 developers. Through a mix of qualitative
and quantitative analyses, we found that developers are most motivated to use
AI programming assistants because they help developers reduce key-strokes,
finish programming tasks quickly, and recall syntax, but resonate less with
using them to help brainstorm potential solutions. We also found the most
important reasons why developers do not use these tools are because these tools
do not output code that addresses certain functional or non-functional
requirements and because developers have trouble controlling the tool to
generate the desired output. Our findings have implications for both creators
and users of AI programming assistants, such as designing minimal cognitive
effort interactions with these tools to reduce distractions for users while
they are programming.Comment: Accepted to ICSE'2
Intelligent Tutoring System: Experience of Linking Software Engineering and Programming Teaching
The increasing number of computer science students pushes lecturers and
tutors of first-year programming courses to their limits to provide
high-quality feedback to the students. Existing systems that handle automated
grading primarily focus on the automation of test case executions in the
context of programming assignments. However, they cannot provide customized
feedback about the students' errors, and hence, cannot replace the help of
tutors. While recent research works in the area of automated grading and
feedback generation address this issue by using automated repair techniques, so
far, to the best of our knowledge, there has been no real-world deployment of
such techniques. Based on the research advances in recent years, we have built
an intelligent tutoring system that has the capability of providing automated
feedback and grading. Furthermore, we designed a Software Engineering course
that guides third-year undergraduate students in incrementally developing such
a system over the coming years. Each year, students will make contributions
that improve the current implementation, while at the same time, we can deploy
the current system for usage by first year students. This paper describes our
teaching concept, the intelligent tutoring system architecture, and our
experience with the stakeholders. This software engineering project for the
students has the key advantage that the users of the system are available
in-house (i.e., students, tutors, and lecturers from the first-year programming
courses). This helps organize requirements engineering sessions and builds
awareness about their contribution to a "to be deployed" software project. In
this multi-year teaching effort, we have incrementally built a tutoring system
that can be used in first-year programming courses. Further, it represents a
platform that can integrate the latest research results in APR for education
NuzzleBug: Debugging Block-Based Programs in Scratch
While professional integrated programming environments support developers
with advanced debugging functionality, block-based programming environments for
young learners often provide no support for debugging at all, thus inhibiting
debugging and preventing debugging education. In this paper we introduce
NuzzleBug, an extension of the popular block-based programming environment
Scratch that provides the missing debugging support. NuzzleBug allows
controlling the executions of Scratch programs with classical debugging
functionality such as stepping and breakpoints, and it is an omniscient
debugger that also allows reverse stepping. To support learners in deriving
hypotheses that guide debugging, NuzzleBug is an interrogative debugger that
enables to ask questions about executions and provides answers explaining the
behavior in question. In order to evaluate NuzzleBug, we survey the opinions of
teachers, and study the effects on learners in terms of debugging effectiveness
and efficiency. We find that teachers consider NuzzleBug to be useful, and
children can use it to debug faulty programs effectively. However, systematic
debugging requires dedicated training, and even when NuzzleBug can provide
correct answers learners may require further help to comprehend faults and
necessary fixes, thus calling for further research on improving debugging
techniques and the information they provide.Comment: To appear at the 2024 IEEE/ACM 46th International Conference on
Software Engineering (ICSE '24), April 14--20, 2024, Lisbon, Portuga
- …