Navigation of source code typically requires extensive use of a traditional mouse and keyboard which can present signifcant barriers for developers with physical impairments. We present research exploring how commonly...
详细信息
ISBN:
(纸本)9781450393904
Navigation of source code typically requires extensive use of a traditional mouse and keyboard which can present signifcant barriers for developers with physical impairments. We present research exploring how commonly used code navigation approaches (e.g. locating references to user-defned identifers, jumping to function defnitions, conducting a search for specifc syntax, etc.) can be optimized for multimodal voice interaction. An exploratory study was initially conducted with fve developers who have physical impairments to elicit insights around their experiences in navigating code within existing voice-controlled development environments. Findings from this study informed the design of a code editor integrating diferent navigation features tailored for multimodal speech input. A user evaluation with 14 developers with physical impairments was conducted with results demonstrating that all participants were able to successfully complete a series of standard navigation tasks. Participants also highlighted that the code navigation techniques were intuitive to use and provided a high-level of usability.
The availability of numerous UI components, the promise of accessibility, and cross-platform support have made UI frameworks (e.g., Flutter, Xamarin, React Native) and libraries (e.g., wxPython) quite popular among so...
详细信息
ISBN:
(纸本)9781665442152;9781665442145
The availability of numerous UI components, the promise of accessibility, and cross-platform support have made UI frameworks (e.g., Flutter, Xamarin, React Native) and libraries (e.g., wxPython) quite popular among software developers. However, their widespread use also highlights the need to understand the experiences of programmers with visual impairments with them. We adopted a mixed-methods design comprising two studies to understand the accessibility and challenges of developing interfaces with UI frameworks and libraries. In Study 1, we analyzed 96 randomly-sampled archived threads of ProgramL, a mailing list primarily comprising programmers with visual impairments. In Study 2, we interviewed 18 programmers with visual impairments to confirm the findings from Study 1 and gain a deeper understanding of their motivations and experiences in using UI frameworks. Our participants considered UI development essential to their programming responsibilities and sought to acquire relevant skills and expertise. However, accessibility barriers in programming tools and UI frameworks complicated the processes of writing UI code, debugging, testing, and collaborating with sighted colleagues. Our paper concludes with recommendations grounded in empirical findings to improve the accessibility of frameworks and libraries.
The increasing sophistication and availability of Augmented and Virtual Reality (AR/VR) technologies wield the potential to transform how we teach and learn computational concepts and coding. This project develops a p...
详细信息
ISBN:
(纸本)9781450391566
The increasing sophistication and availability of Augmented and Virtual Reality (AR/VR) technologies wield the potential to transform how we teach and learn computational concepts and coding. This project develops a platform for creative coding in virtual and augmented reality. The Embodied Coding Environment (ECE) is a flow-based visual coding system designed to increase physical engagement with programming and lower the barrier to entry for novice programmers. It is conceptualized as a merged digital/physical workspace where spatial representation of code, the visual outputs of the code, and user interactions and edit histories are co-located in a virtual 3D space.
While modern software development tools provide programmers with features that help locating and fixing errors in the code, using these tools is not necessarily easy for novice programmers. We call for methods of inst...
详细信息
ISBN:
(纸本)9781450384889
While modern software development tools provide programmers with features that help locating and fixing errors in the code, using these tools is not necessarily easy for novice programmers. We call for methods of instruction that teach students how to fix errors in practice using a modern, industry-grade, IDE. We suggest an approach-utilizing tutorials embedded in an IDE-that we think could be suitable for this purpose. Our ongoing and future work include implementing and evaluating that approach.
Pair programming (PP) is both a common practice in professional software engineering and a valuable pedagogical tool. Disciplined user-centric research on pair programming can answer important questions about how stud...
详细信息
ISBN:
(纸本)9781450394338
Pair programming (PP) is both a common practice in professional software engineering and a valuable pedagogical tool. Disciplined user-centric research on pair programming can answer important questions about how students use and benefit from PP. We have developed a platform called Twincode that includes features to support pair programming assignments, comprehensive instrumentation to enable studying how the PP partners interact, and additional tools to help in analyzing the instrumentation, in particular for utterance tagging in discourse analysis. This demo will take the audience through the entire process of conducting research on the Twincode platform: from users pair programming on the platform, to utterance tagging of user date, to data analysis in support of research questions.
People with physical impairments who are unable to use traditional input devices (i.e. mouse and keyboard) are often excluded from technical professions (e.g. web development). Alternative input methods such as eye ga...
详细信息
ISBN:
(纸本)9781450369749
People with physical impairments who are unable to use traditional input devices (i.e. mouse and keyboard) are often excluded from technical professions (e.g. web development). Alternative input methods such as eye gaze tracking and speech recognition have become more readily available in recent years with both being explored independently to support people with physical impairments in coding activities. This paper describes a novel multimodal application ("Voiceye") that combines voice input, gaze interaction, and mechanical switches as an alternative approach for writing code. The system was evaluated with non-disabled participants who have coding experience (N=29) to assess the feasibility of the application in writing HTML and CSS code. Results found that Voiceye was perceived positively and enabled successful completion of coding tasks. A follow-up study with disabled participants (N=5) demonstrated that this method of multimodal interaction can support people with physical impairments in writing and editing code.
Good documentation offers the promise of enabling developers to easily understand design decisions. Unfortunately, in practice, design documents are often rarely updated, becoming inaccurate, incomplete, and untrustwo...
详细信息
ISBN:
(纸本)9781450370431
Good documentation offers the promise of enabling developers to easily understand design decisions. Unfortunately, in practice, design documents are often rarely updated, becoming inaccurate, incomplete, and untrustworthy. A better solution is to enable developers to write down design rules which are checked against code for consistency. But existing rule checkers require learning specialized query languages or program analysis frameworks, creating a barrier to writing project-specific rules. We introduce two new techniques for authoring design rules: snippet-based authoring and semi-natural-language authoring. In snippet-based authoring, developers specify characteristics of elements to match by writing partial code snippets. In semi-natural language authoring, a textual representation offers a representation for understanding design rules and resolving ambiguities. We implemented these approaches in RulePad. To evaluate RulePad, we conducted a between-subjects study with 14 participants comparing RulePad to the PMD Designer, a utility for writing rules in a popular rule checker. We found that those with RulePad were able to successfully author 13 times more query elements in significantly less time and reported being significantly more willing to use RulePad in their everyday work.
When working in large and complex codebases, developers face challenges using Find Usages to understand how to reuse classes and methods. To better understand these challenges, we conducted a small exploratory study w...
详细信息
ISBN:
(纸本)9781728169019
When working in large and complex codebases, developers face challenges using Find Usages to understand how to reuse classes and methods. To better understand these challenges, we conducted a small exploratory study with 4 participants. We found that developers often wasted time reading long lists of similar usages or prematurely focused on a single usage. Based on these findings, we hypothesized that clustering usages by the similarity of their surrounding context might enable developers to more rapidly understand how to use a function. To explore this idea, we designed and implemented Find Unique Usages, which extracts usages, computes a diff between pairs of usages, generates similarity scores, and uses these scores to form usage clusters. To evaluate this approach, we conducted a controlled experiment with 12 participants. We found that developers with Find Unique Usages were significantly faster, completing their task in 35% less time.
Formative feedback, aimed at helping students to improve theirwork, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a ...
详细信息
Formative feedback, aimed at helping students to improve theirwork, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a systematic literature review to find out what kind of feedback is provided, which techniques are used to generate the feedback, how adaptable the feedback is, and how these tools are evaluated. We have designed a labelling to classify the tools, and use Narciss' feedback content categories to classify feedback messages. We report on the results of coding a total of 101 tools. We have found that feedback mostly focuses on identifying mistakes and less on fixing problems and taking a next step. Furthermore, teachers cannot easily adapt tools to their own needs. However, the diversity of feedback types has increased over the past decades and new techniques are being applied to generate feedback that is increasingly helpful for students.
There is an immense interest in teaching computer science concepts - and programming specifically - to everyone. The United States Military Academy at West Point has required every student, regardless of major, to pas...
详细信息
ISBN:
(纸本)9781450358903
There is an immense interest in teaching computer science concepts - and programming specifically - to everyone. The United States Military Academy at West Point has required every student, regardless of major, to pass a computer science zero (CS0) course for the last 50 years: From punch cards to Python. We present a history of our CS0 course and the lessons learned from the most recent redesign of the course. We review the last decade of student assessments and how they influenced the latest iteration. We contrast the expectations of students in a CS0 course with those in a CS1 course. We discuss the national efforts to make CS accessible to all and explore the challenges unique to a CS0 course. We demonstrate similarities between our course and the Advance Placement CS Principles and show where differences are justified. We review the relevant pedagogical research for CS0 and present lessons learned over multiple iterations of the course. Based on our current course review and implementation, we believe that Computer Science for everyone is attainable and relevant to the needs of every student.
暂无评论