Assessing computational texts through rhetorical analysis
to center student identity and voice

Chris Proctor
University at Buffalo, SUNY


There is growing interest in K12 interdisciplinary learning between English/Language Arts (ELA) and Computer Science (CS). Both disciplines can support equity and justice by supporting students in creating personally-meaningful texts; both disciplines also share the obligation of helping students learn empowering skills without reproducing exclusive definitions of which identities and voices are legitimate (Kafai & Proctor, 2021). This paper proposes structural similarities between computational thinking (CT) and core ELA practices, and uses these similarities to adapt ELA assessment practices focusing on identity and voice to student-authored texts in CS and interdisciplinary ELA/CS contexts. A worked example illustrates how such an assessment would work, and serves as a case study for a subsequent article.


Similarities between ELA practices and CT. Figure 1 illustrates a structural similarity between core E/LA practices and CT. The primary and secondary discipline of English/Language Arts is organized around the relationship between text and meaning. Reading focuses on learning how to make text meaningful; writing involves creating texts for others to interpret. Literary and rhetorical analysis involves closer study of the process of interpretation. Most of the Next Generation ELA Learning Standards, and most of the National Council of Teachers of English Standards for the English Language Arts can be understood within this framing.

Computational thinking (CT) can be understood in parallel terms. Aho (2012) defines CT as a practice of mapping problems from their original domains into a computational domain. Students producing personally-meaningful projects engage in CT by figuring out how to create the effects they want with code. Students can use CT as a critical lens on computational systems by thinking about how they are implemented. While the bulk of this emphasis is on mathematical analysis of the formal properties of meaning (e.g. information theory), interest in how computer programs become meaningful to people, particularly within collaborative organizations, dates to Knuth’s (1984) concept of literate programming.

Figure 1. Conceptual framework. Meaning is produced from text and code through interpretation. Text is interpreted through a reading; code is interpreted through a reading of both the effect produced by code execution and the source code.

Assessment in ELA is centrally interested in the question of how text becomes meaningful. Formative assessment of student writing asks, "What does this mean, and how has the meaning been achieved? Where are opportunities to deepen its meaning?" Issues of technique and craft--where specificity and correctness are important--are addressed in the context of meaning-making.

In contrast, assessment in CS is not generally focused on student meaning-making; the emphasis is on correctness over expressivity. Assessment focused on student meaning-making could be the basis for more productive interdisciplinary integration of CT and ELA practices, while also supporting more welcoming CS learning environments. Such assessment could also help with assessment of CT within CS. When students' intended meaning is also considered (ideally documented in planning, author statements, and reflections), teachers can understand what students were trying to achieve with their programs.

Research question How might assessment of student-authored computational texts recognize and support CT as a process of meaning-making?


This case study applies a method of rhetorical analysis developed by Proctor and Blikstein (2019) to analyze student meaning-making in four steps:

  1. Computational and literary elements (here I focus on the former)
  2. Genre: How elements become meaningful, including emergent genres
  3. Meaning: The effects students are trying to create
  4. Critical possibilities: How texts might enact change

The goal is to make connections across categories, showing how students use computational elements (as well as literary elements) to create meaning. In this case study, I conduct a formative assessment of a student's use of CT in an interactive story, analyzing how she used computational structures to create meaning. My goal is to understand students' CT and to identify opportunities to advance students' authorial intentions through more effective use of computaitional structures.

Worked example: Assessing "Couples Therapy" "Couples therapy" is a 279-line interactive story written by "Capricorn," a 6th grade student in a small city in the US midwest. Figure 2 shows the story's logical flow. In "Couples therapy," you play as one member of a couple going to therapy to address marital difficulties. The story's tone is sarcastic, presenting an absurd therapist who offers the couple alcoholic drinks, consults horoscopes, and subjecting the couple to a lie detector test, before having them exit through the gift shop. "Couples therapy" was written as part of a ten-week curriculum unit focusing on introductory CS concepts (control structures, variables, planning, debugging) while writing and sharing interactive stories exploring placemaking and identity.

Dead ends. Numerous branches lead to dead ends, or offer the player a second chance to make the right choice before leading to a dead end. This might have resulted in a frustrating playing experience, expect that the students had developed a practice of playing through stories multiple times and reading the source code to understand stories' full structure. Capricorn uses these dead ends to explore forms of possible resistance within an absurd system, and the limits of such resistance.

For example, in EXPLAIN, "you explain that you and your significant other are having the nothing fight and don't know how to solve it. She starts talking about zodiac compatibility. You can listen nicely or start to argue with her." Listening nicely leads to a sarcastic dead end: "You listen nicely and all your problems were solved." In TEST, the lie detector claims that both partners are lying when they claim they have been faithful. You have two options, LET IT GO or ATTACK. If you choose ATTACK, "You attack your significant other, and then they sue you. You lost the lawsuit so now you are poor." Currently, when you transgress too far, the story ends. I would encourage Capricorn to consider whether there are ways the player might transgress and then recover, potentially using a complex graph structure in which certain choices lead to subgraphs which reconnect to the main narrative.

Multi-edges. Toward the end of the story, Capricorn offers the user multiple choices which all lead to the same node. (For example, in DINNER, you can choose to eat at Cheddar's, Hu-Hot, Red Lobster, or Chick-Fil-A; all choices lead to FOOD.) This gives the player a sense of agency while managing the story's complexity, and perhaps inviting reader immersion through the Sims-like genre of customizing an imagined world. I might suggest that Capricorn enhance this effect by using variables to keep track of earlier choices in the story, and having the setting and characters reflect those choices later on. For example, in SNACK CHOICE, the therapist asks the couple to "choose a snack together to build cooperation skills." Storing the chosen snack in a variable would allow the author to mention the snack's wrapper on the table in a later part of the story.

Characterization Although the story's dominant tone is sarcastic, both married partners are thoughtfully-developed through dialogue, and the story's plot puts them in subtle emotional situations. When you enter the therapist's office, "You explain that you and your significant other are having the nothing fight and don't know how to solve it." Playing as the story's main character, second-person "you," repeatedly state that you do not respect therapy; this contributes to tension between the married couple.

This story was clearly written by a youth with (likely painful) experience with marital conflict and family therapy. The story's absurdity and dark humor allow her to voice frustration and skepticism about the value of therapy, a stance which might not be sanctioned in other parts of her life. If I were working with Capricorn on revising her story, I would ask her whether she thinks it is possible for people to change, and to repair damaged relationships. If so, I would ask her how choices made within the story might lead to such change. One method of modeling character change could be through the use of variables tracking characters' internal state, so that characters might react differently depending on what had happened in the past. Creating situations where your own internal state constrains your dialogue choices could open productive conversations about why we choose to speak and act the way we do.

CT is not currently used in characterization (conventional literary elements are used), but an analysis of the story's meaning-making surfaces an excellent opportunity to use CT to enrich the story's existing meaning and critical possibilities.

Figure 2. Flow diagram of "Couples Therapy" by Capricorn. Boxes represent chunks of the story; arrows indicate player options.

Discussion In "Couples therapy," much more may be at stake for Capricorn than a class assignment. She is clearly exploring impactful lived experiences, and may be voicing emerging interpretations of those experiences. This creates a rich and authentic context for CT, but also creates an ethical obligation to respect the text for its meaning and authorial intent, not just as an artifact of CT learning.

Formative and summative assessment practices in CT might be more effective if they were to focus on interpretation of CT and recognition of learning opportunities, rather than on evaluation. The locus of educational decision-making is the classroom; visibility of learning to external stakeholders should be of secondary concern.

Framing CT as a practice of mapping problems into a computational domain may be better-suited to interdisciplinary collaboration than framing CT as a taxonomy of knowledge and skills (ELA teachers already have their own learning objectives) or as mere identification of computational structures in ELA practices ("The writing process is an algorithm!") without any mapping back into a computational representation or motivation for doing so. Several authors have recently questioned whether student work alone can be the basis for assessing CT, as CT inheres in the process rather than the product (Denning, 2017; Salac & Franklin, 2020). Focusing on how students create meaning through CT could make visible both the effects students were trying to create and how they implemented them in code.

The relationship between reading, writing, and literary/rhetorical analysis in ELA could be an effective model for how introductory CS might integrate formal study of CS concepts into pedagogy focused on creating personally-meaningful projects. In writer's workshop pedagogy (Dorn & Soffos, 2001; Burke & Kafai, 2012), for example, craft lessons are situated in the context of students working on personally-meaningful writing.

Reading, writing, and discussing student-authored texts could help CS learning environments go beyond passive inclusion to actively making space for students' identities and voices (Fairclough, 2004; Ryoo, et al., 2020). Specifically, interactive stories put CT to work through critical discourse models representing and interrogating social reality and imagining alternatives (Proctor & Blisktein, 2019). If social transformation is a central pedagogical goal, then assessment practices ought to be aligned to recognize and support critical CT.

Next steps

This worked example of assessing a student-authored computational text helped develop my conceptual framework and refine my approach. An article under development will use qualitative coding to analyze 49 students' CT across the 2758 stories they wrote during the unit, tracing individual learners' trajectories within a classroom literacy space which was itself producing critical possibilities via new genres and audiences.


Aho, A. V. 2012. “Computation and Computational Thinking.” Comput. J. 55 (7): 832–35.
Burke, Quinn, and Yasmin B. Kafai. 2012. “The Writers’ Workshop for Youth Programmers: Digital Storytelling with Scratch in Middle School Classrooms.” In Proc. 43rd ACM Tech. Symp. Comput. Sci. Educ. - SIGCSE 12, 433. Raleigh, North Carolina, USA: ACM Press.
Denning, Peter J. 2017. “Remaining Trouble Spots with Computational Thinking.” Commun. ACM 60 (6): 33–39.
Dorn, Linda J, and Carla Soffos. 2001. Scaffolding Young Writers: A Writer’s Workshop Approach. Stenhouse Publishers.
Fairclough, Norman. 2004. “Semiotic Aspects of Social Transformation and Learning.” In An Introduction to Critical Discourse Analysis in Education, edited by Rebecca Rogers, 225–35. Mahwah, NJ: Lawrence Erlbaum Associates.
Ivanič, R. 1998. Writing and Identity: The Discoursal Construction of Identity in Academic Contexts. Amsterdam: John Benjamins Publishing Co.
Knuth, Donald Ervin. 1984. “Literate Programming.” Comput. J. 27 (2): 97–111.
Proctor, Chris, and Paulo Blikstein. 2019. “Unfold Studio: Supporting Critical Literacies of Text and Code.” ILS 120 (5/6): 285–307.
Ryoo, Jean J., Tiera Tanksley, Cynthia Estrada, and Jane Margolis. 2020. “Take Space, Make Space: How Students Use Computer Science to Disrupt and Resist Marginalization in Schools.” Comput. Sci. Educ. 30 (3): 337–61.
Salac, Jean, and Diana Franklin. 2020. “If They Build It, Will They Understand It? Exploring the Relationship Between Student Code and Performance.” In Proc. 2020 ACM Conf. Innov. Technol. Comput. Sci. Educ., 473–79. Trondheim Norway: ACM.