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.


Search for: All records

Creators/Authors contains: "Shepherd, David"

Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

  1. In recent years, there has been a rise in recognition of the need for computing education to bridge the gap between academia and industry. In addition, educational researchers are also interested in increasing student engagement by grounding learning experiences in real-life concerns, community issues, or personal interests. Unfortunately, traditional lecture-based teaching techniques often fail to prepare students for the challenges they will face in real-world software development scenarios. Project-Based Learning (PjBL) takes a different approach by immersing students in real-world software engineering projects, allowing them to apply theoretical knowledge in practical contexts, building practical skills, fostering critical thinking, and improving problem-solving abilities. Prior literature reviews have explored aspects of PjBL in computing education, such as communication support, educational effectiveness, sprint organization, and capstone course design. However, no literature review extensively and comprehensively examines the following questions as a whole: where PjBL is used, how it is taught, why it should be used, and what challenges to expect in software-related computing courses. The review takes a systematic approach, incorporating a thorough search strategy across four academic databases and targeting keywords associated with PjBL and software computing in higher education. A total of 34 PjBL course attributes were extracted from 184 selected primary studies, which contributed to answering six research questions: (1) What computing courses use PjBL? (2) What is the nature of software projects used? (3) How are these projects organized? (4) How are students assessed and evaluated? (5) What are the reported impacts of PjBL? and (6) How are students supported throughout the projects? The literature review makes four key contributions: a description of the nature of software projects used and how these projects are organized, a highlight of the impacts of PjBL and the methods used to measure those impacts, a summary of the various forms of support provided to students throughout their projects, and the list of challenges encountered in implementing PjBL and recommendations to alleviate those challenges. This comprehensive review offers new insights and serves as a catalog of best practices for computing educators. 
    more » « less
    Free, publicly-accessible full text available December 31, 2026
  2. Attracting students to computing is crucial for advancing the development of new skills and fostering positive attitudes toward the field, especially among females and minoritized populations. One promising approach involves integrating computing with artistic activities, such as music. This study examines how learner’s prior experiences influence their participation in a virtual summer camp on coding with music. The study also examines how participation in the camp influences participants' attitudes about computing, with an eye toward gender differences. Data were collected through participant surveys (N=73) and focus groups (N=48). Findings suggest that parents’ and guardians' involvement is crucial for participation and integrating coding with artistic work holds promise for attracting students to the field. Findings can inform possible paths to engaging students in computing. 
    more » « less
    Free, publicly-accessible full text available April 30, 2026
  3. Attracting students to computing is crucial for advancing the development of new skills and fostering positive attitudes toward the field, especially among females and minoritized populations. One promising approach involves integrating computing with artistic activities, such as music. This study examines how learner’s prior experiences influence their participation in a virtual summer camp on coding with music. The study also examines how participation in the camp influences participants' attitudes about computing, with an eye toward gender differences. Data were collected through participant surveys (N=73) and focus groups (N=48). Findings suggest that parents’ and guardians' involvement is crucial for participation and integrating coding with artistic work holds promise for attracting students to the field. Findings can inform possible paths to engaging students in computing. 
    more » « less
  4. Many modern end-user development environments support one of two visual modalities: block-based programming or data-flow programming. In this work, we investigate the trade-offs between the two modalities in the context of robotics tasks. These often contain both aspects that are better solved with blocks and others that best fit data-flow programming. To address this style of task, we present and discuss two novel programming environment prototypes, one purely block-based and one a hybrid of blocks and data-flow programming. We compare the designs through a controlled experiment with 113 end-user participants, in which we asked them to solve programming and program comprehension tasks using one of the two environments. We find that participants preferred the hybrid environment in direct comparison, but performed better across all tasks and also reported higher usability ratings for blocks. 
    more » « less
  5. Attracting students to computing is crucial for advancing the development of new skills and fostering positive attitudes toward the field, especially among females and minoritized populations. One promising approach involves integrating computing with artistic activities, such as music. This study examines how learner’s prior experiences influence their participation in a virtual summer camp on coding with music. The study also examines how participation in the camp influences participants' attitudes about computing, with an eye toward gender differences. Data were collected through participant surveys (N=73) and focus groups (N=48). Findings suggest that parents’ and guardians' involvement is crucial for participation and integrating coding with artistic work holds promise for attracting students to the field. Findings can inform possible paths to engaging students in computing. 
    more » « less
  6. Programming industrial robots is difficult and expensive. Although recent work has made substantial progress in making it accessible to a wider range of users, it is often limited to simple programs and its usability remains untested in practice. In this article, we introduce Duplo, a block-based programming environment that allows end-users to program two-armed robots and solve tasks that require coordination. Duplo positions the program for each arm side-by-side, using the spatial relationship between blocks from each program to represent parallelism in a way that end-users can easily understand. This design was proposed by previous work, but not implemented or evaluated in a realistic programming setting. We performed a randomized experiment with 52 participants that evaluated Duplo on a complex programming task that contained several sub-tasks. We compared Duplo with RobotStudio Online YuMi, a commercial solution, and found that Duplo allowed participants to solve the same task faster and with greater success. By analyzing the information collected during our user study, we further identified factors that explain this performance difference, as well as remaining barriers, such as debugging issues and difficulties in interacting with the robot. This work represents another step towards allowing a wider audience of non-professionals to program, which might enable the broader deployment of robotics. 
    more » « less
  7. Effectively onboarding newcomers is essential for the success of open source projects. These projects often provide onboarding guidelines in their ‘CONTRIBUTING’ files (e.g., CONTRIBUTING.md on GitHub). These files explain, for example, how to find open tasks, implement solutions, and submit code for review. However, these files often do not follow a standard structure, can be too large, and miss barriers commonly found by newcomers. In this paper, we propose an automated approach to parse these CONTRIBUTING files and assess how they address onboarding barriers. We manually classified a sample of files according to a model of onboarding bar- riers from the literature, trained a machine learning classifier that automatically predicts the categories of each paragraph (precision: 0.655, recall: 0.662), and surveyed developers to investigate their perspective of the predictions’ adequacy (75% of the predictions were considered adequate). We found that CONTRIBUTING files typically do not cover the barriers newcomers face (52% of the analyzed projects missed at least 3 out of the 6 barriers faced by newcomers; 84% missed at least 2). Our analysis also revealed that information about choosing a task and talking with the community, two of the most recurrent barriers newcomers face, are neglected in more than 75% of the projects. We made available our classifier as an online service that analyzes the content of a given CONTRIBUTING file. Our approach may help community builders identify missing information in the project ecosystem they maintain and newcomers can understand what to expect in CONTRIBUTING files. 
    more » « less