University of Maryland Physics Education Research Group


UMD DBERG PhD Dissertations:
Brian Danielak

PERG Info | PERG materials | PERG HOMEPAGE | PER on the web | Resources on the web

How Electrical Engineering Students Design Computer Programs

Brian Danielak, Doctor of Philosophy, 2014

Dissertation directed by: Dr. Andrew Elby, Departments of Curriculum & Instruction and Physics


When professional programmers begin designing programs, we know they often spend time away from a computer, using tools such as pens, paper, and whiteboards as they discuss and plan their designs (Petre, van der Hoek, & Baker, 2010). But, we’re only beginning to analyze and understand the complexity of what happens during such early-stage design work. And, our accounts are almost exclusively about what professionals do. For all we’ve begun to understand about what happens in early-stage software design, we rarely apply the same research questions and methods to students’ early-stage design work. This dissertation tries to redress that imbalance. I present two case studies — derived from my 10 study participants — of electrical engineering (EE) students designing computer programs in a second-semester computer programming course.

In study 1, I show how analyzing a student’s code snapshot history and conducting clinical interviews tells us far more about her design trajectory than either method could alone. From that combined data I argue students’ overall software designs can be consequentially shaped by factors — such as students’ stances toward trusting their code or believing a current problem is a new instance of an old one — that existing code snapshot research is poorly equipped to explain. Rather, explanations that add non-conceptual constructs including affective state and epistemological stance can offer a more complete and satisfactory account of students’ design activities.

In study 2, I argue computer science and engineering education should move beyond conceptual-knowledge and concept deficit explanations of students’ difficulties (and capabilities) in programming. I show that in doing design students do, say, write, and gesture things that:

  • Are outside the phenomenological scope of most (mis)conceptions accounts of programming
  • Would be explained differently under frameworks that emphasize manifold epistemological resources. Some student difficulties can be recast as epistemological blocks in activity rather than conceptual knowledge deficits. Similarly, some students’ productive capacities can be understood as epistemologically-related stances toward an activity, rather than evidencing particular knowledge of specific computational concepts.
  • Would suggest different instructional interventions if teachers attended to the stabilizing aspects — such as epistemological dynamics — that help these episodes of activity cohere for students.
  • Thesis in PDF format.

    Table of Contents

  • Chapter 1: Introduction
  • Chapter 2: Study 1 -- Retrospectively analyzing the design of a student's project
  • Chapter 3: Study 2 -- What directs and sustains students in-the-moment programming activity?
  • Chapter 4: Conclusion


    1. Transcript conventions
    2. Visual conventions for gestures
    3. Transcript of Rebecca's pseudo-code episode without gesture codes
    4. Conceptual knowledge frameworks in computing don’t tell us much about how Lionel structured an in-interview program
    5. Neverly asked questions (NAQs)

    Back to UMD PERG PhD Dissertations

    Information about PERG Resource materials from PERG PERG Homepage PER elsewhere on the web Resource materials for teachers

    Maintained by University of Maryland PERG
    Com8ments and questions may be directed to E. F. Redish
    Last modified 27 February 2014