
David Shepherd
Associate Professor Louisiana State University
- Baton Rouge LA
Dr. Shepherd's work focuses on enabling end-user programming for industrial machines and increasing diversity in computer science.
Biography
Areas of Expertise
Research Focus
Human-Centered Software & End-User Programming
Dr. Shepherd’s research focuses on human-centered software engineering, end-user programming, and immersive educational technologies. He blends developer-behavior analytics, block-based and VR coding environments, and robotics experiments to enhance programmer productivity, broaden CS education, and create attention-supportive tools for learners with ADHD.
Education
University of Delaware
Ph.D.
Computer Science
2007
University of Delaware
M.S.
Computer Science
2004
Virginia Commonwealth University
B.S.
Computer Science
2002
Accomplishments
Top 5% of All Submissions CHI Conference on Human Factors in Computing Systems
2024, 2018. 2017
Fred Fletcher Outstanding Program Volunteer Award, City of Raleigh
2017
Most Influential Paper Award (10 Year Retrospective) International Concerence on Aspect-Oriented Software Development
2017
Media Appearances
LSU professor using VR headsets, noise-canceling headphones to help students with ADHD focus
WBRZ 2 tv
2024-11-22
ssociate Professor David Shepherd said he hopes that this will be able to treat ADHD without the use of medication.
Shepherd's team is comprised of LSU grad students, as well as collaborators from Rutgers University and the University of Zurich. The study is being funded by the National Institute for Mental Health.
LSU professor leads groundbreaking research on using virtual reality in ADHD management
LSU Reveille online
2024-11-18
David Shepherd, an associate computer science professor at LSU, led groundbreaking research into the use of virtual reality technology for improving attention and focus in individuals with attention deficit hyperactivity disorder, or ADHD. This innovative study explored how immersive VR environments could potentially serve as a tool for managing ADHD symptoms, enhancing cognitive training and improving behavioral outcomes.
Articles
Block-based or graph-based? Why not both? Designing a hybrid programming environment for end-users
Interacting with Computers2025
End-user programmers need programming tools that are easy to learn and use. Development environments for end-users often support one of two visual modalities: block-based programming or data-flow programming. In this work, we discuss differences in how these modalities represent programs, and why existing block-based programming tools are better suited for imperative tasks while data-flow programming better supports nested expressions. We focus on robot programming as an end-user scenario that requires both imperative and expressions-based code in the same program. To study how end-user tools can better support this scenario, we propose two programming system designs: one that changes how blocks represent nested expressions, and one that combines block-based and data-flow programming in the same hybrid environment.
High-temperature gripper for collaborative robots in additive manufacturing
The International Journal of Advanced Manufacturing Technology2023
Traditional end effectors for collaborative robots are generally either highly specialized to a specific shape of part or are unable to deal with high temperatures, indicating the existence of a niche for an end effector designed for both, leveraged in the automation of post-processing metal additive manufacturing parts. The design described and qualified in this manuscript is composed of a custom-fabricated 4140 alloy steel finger and an aluminum oxide–casted ceramic insulator. Characterization tests were performed to quantify the thermal and mechanical properties of the casted material, and thermal simulations were performed to optimize design. The simulated temperature difference across the body of the insulator is 767.58°C when placed in contact with a 1000°C steel plate, modeled from a conducted thermal shock test.
Training industrial end‐user programmers with interactive tutorials
Software: Practice and Experience2023
Newly released robot programming tools have made it feasible for end‐users to program industrial robots by combining block‐based languages and lead‐through programming. To use these systems effectively, end‐users, who usually have limited or no programming experience, require training. To train users, tutoring systems are often used for block‐based programming—some even for lead‐through programming—but no tutorial system combines these two types of programming. We present CoBlox Interactive Tutorials (CITs), a novel tutoring approach that teaches how to use both the hardware and software components that comprise a typical end‐user robot programming environment. As users switch between the two programming styles, CITs provide them with extensive scaffolding, give users immediate feedback on missteps, and provide guidance on next steps.
Theories of Programming (Dagstuhl Seminar 22231)
Dagstuhl Reports2023
Much of computer science research focuses on techniques to make programming easier, better, less error prone, more powerful, and even more just. But rarely do we try to explain any of these challenges. Why is programming hard? Why is it slow? Why is it error prone? Why is it powerful? How does it do harm? These why and how questions are what motivated the Dagstuhl Seminar 22231 on Theories of Programming. This seminar brought together 28 CS researchers from domains most concerned with programming human and social activities: software engineering, programming languages, human-computer interaction, and computing education. Together, we sketched new theories of programming and considered the role of theories more broadly in programming.
Introduction to the Special Issue on Software-Intensive Autonomous Systems: methods and applications
Journal of Systems and Software2023
The focal concerns are Software-Intensive Autonomous Systems (SIAS). A SIAS is, by definition, any system where software influences, to a large extent, the design, construction, deployment, and evolution of the system as a whole. Some examples include computer-based systems ranging from individual software applications, information systems, embedded systems for automotive applications, telecommunications, wireless ad hoc systems, business applications with an emphasis on web services, software product lines and product families, cyberphysical systems, and systems-of-systems.
Research Grants
Collaborative Research: Supporting Project-Based Learning in Undergraduate Software Engineering Courses
Harvard Univeristy (Transfer to LSU)
2024
Developing of a Novel Virtual Reality Treatment for Emerging Adults with ADHD
Rutgers University
2023
Minoritized Youth Computer Science Learning, Belonging
Harvard Univeristy (Transfer to LSU)
2021