skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: Supporting Knowledge Acceleration for Programming from a Sensemaking Perspective
Programmers spend a significant proportion of their time searching for and making sense of complex information. However, they often lack effective tools to help them make sense of the information, turn it into knowledge, or share it with their respective communities. In this position paper, we aim to help programmers collect, navigate, and organize knowledge to meet their goals while capturing this knowledge and making it useful for later programmers with similar needs. We describe barriers and challenges to creating this sustainable cycle, and we explore the design space and opportunities for effective tools and systems.  more » « less
Award ID(s):
1814826
PAR ID:
10152063
Author(s) / Creator(s):
; ; ; ; ;
Date Published:
Journal Name:
Sensemaking Workshop at CHI Conference on Human Factors in Computing Systems
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Existing commercial and in-house software development tools are often inaccessible to blind and low vision software professionals (BLVSPs), hindering their participation and career growth at work. Building on existing research on Do-It-Yourself (DIY) assistive technologies and customized tools made by programmers, we shed light on the currently unexplored intersection of how DIY tools built and used by BLVSPs support accessible software development. Through semi-structured interviews with 30 BLVSPs, we found that such tools serve many different purposes and are driven by motivations such as desiring to maintain a professional image and a sense of dignity at work. These tools had significant impacts on workplace accessibility and revealed a need for a more centralized community for sharing tools, tips, and tricks. Based on our findings, we introduce the “Double Hacker Dilemma” and highlight a need for developing more effective peer and organizational platforms that support DIY tool sharing. 
    more » « less
  2. Justice-centred science pedagogy has been suggested as an effective framework for supporting teachers in bringing in culturally relevant pedagogy to their science classrooms; however, limited instructional tools exist that introduce social dimensions of science in ways teachers feel confident navigating. In this article, we add to the justice-centred science pedagogy framework by offering tools to make sense of science and social factors and introduce socioscientific modelling as an instructional strategy for attending to social dimensions of science in ways that align with justice-centred science pedagogy. Socioscientific modelling offers an inclusive, culturally responsive approach to education in science, technology, engineering, the arts and mathematics through welcoming students’ diverse repertoires of personal and community knowledge and linking disciplinary knowledge with social dimensions. In this way, students can come to view content knowledge as a tool for making sense of inequitable systems and societal injustices. Using data from an exploratory study conducted in summer 2022, we present emerging evidence of how this type of modelling has shown students to demonstrate profound insight into social justice science issues, construct understandings that are personally meaningful and engage in sophisticated reasoning. We conclude with future considerations for the field. 
    more » « less
  3. Programmers consistently engage in cognitively demanding tasks such as sensemaking and decision-making. During the information-foraging process, programmers are growing more reliant on resources available online since they contain masses of crowdsourced information and are easier to navigate. Content available in questions and answers on Stack Overflow presents a unique platform for studying the types of problems encountered in programming and possible solutions. In addition to classifying these questions, we introduce possible visual representations for organizing the gathered information and propose that such models may help reduce the cost of navigating, understanding and choosing solution alternatives. 
    more » « less
  4. Programmers are expected to use multiple programming languages frequently. Studies have found that programmers try to reuse existing knowledge from their previous languages. However, this strategy can result in misconceptions from previous languages. Current learning resources that support the strategy are limited because there is no systematic way to produce or validate the material. We designed three instruments that can help identify and validate meaningful behavior differences between two languages to pinpoint potential misconceptions. To validate the instruments, we examined how Python programmers predict behavior in a less familiar language like R, and whether they expect various R semantics. We found that the instruments are effective in validating differences between Python and R which were linked to misconceptions. We discuss design trade-offs between the three instruments and provide guidelines for researchers and educators in systematically validating programming misconceptions when switching to a new language. 
    more » « less
  5. Background: Software development relies on collaborative problem-solving. Understanding previously addressed problems in software is crucial for developers to identify and repurpose functionalities for new problem-solving contexts. Objective: We explore the barriers programmers encounter during code repurposing and investigate how access to historical context about the original developer's goals may affect this process. Method: We present an exploratory study of 16 programmers who completed two code repurposing tasks in different code bases. Participants completed these tasks both with and without access to the historical information of the original developer's goals. We explore how programmers use analogical reasoning to identify and apply existing software artifacts to new goals. Results: We show that programmers often failed to notice analogies, made false analogies, and underestimated the value of reuse. Even when useful analogies were made, programmers struggled to find the relevant code. We also describe the patterns of how participants utilized code histories. Conclusion: We highlight the barriers programmers face in noticing and applying analogies during code reuse. We suggest design recommendations for future tools to allow lightweight evaluation of code to help programmers identify reuse opportunities. 
    more » « less