skip to main content


Title: PCEX: Interactive Program Construction Examples for Learning Programming
A sizable body of research on instructional practices supports the use of worked examples for acquiring cognitive skills in domains such as mathematics and physics. Although examples are also important in the domain of programming, existing research on programming examples is limited. Program examples are used by instructors to achieve two important goals: to explain program behavior and to demonstrate program construction patterns. Program behavior examples are used to demonstrate the semantics of various program constructs (i.e., what is happening inside a program or an algorithm when it is executed). Program construction examples illustrate how to construct a program that achieves a specific purpose. While both functions of program examples are important for learning, most of the example-focused research in computer science education focused on technologies for augmenting program behavior examples such as program visualization, tracing tables, etc. In contrast, advanced technologies for presenting program construction examples were rarely explored. This work introduces interactive Program Construction Examples (PCEX) to begin a systematic exploration of worked-out program construction examples in the domain of computer science education. A classroom evaluation and analysis of the survey data demonstrated that the usage of PCEX examples is associated with better student's learning and performance.  more » « less
Award ID(s):
1740775
NSF-PAR ID:
10112138
Author(s) / Creator(s):
; ; ; ;
Date Published:
Journal Name:
18th Koli Calling International Conference on Computing Education Research
Page Range / eLocation ID:
1 to 9
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. This research is focused on how to support students’ acquisition of program construction skills through worked examples. Although examples have been consistently proven to be valuable for student’s learning, the learning technology for computer science education lacks program construction examples with interactive elements that could engage students. The goal of this work is to investigate the value of the “engaging” features in programming examples. We introduce PCEX, an online tool developed to present program construction examples in an engaging fashion. We also present the results of a controlled study with a between-subject design that was conducted in a large introductory Python programming class to compare PCEX with non-interactive worked examples focused on program construction. The results of our study show the positive impact of interactive program construction examples on student’s engagement, problem-solving performance, and learning. 
    more » « less
  2. Background/Context: After-school programs that focus on integrating computer programming and mathematics in authentic environments are seldomly accessible to students from culturally and linguistically diverse backgrounds, particularly bilingual Latina students in rural contexts. Providing a context that broadens Latina students’ participation in mathematics and computer programming requires educators to carefully examine how verbal and nonverbal language is used to interact and to position students as they learn new concepts in middle school. This is also an important stage for adolescents because they are likely to make decisions about their future careers in STEM. Having access to discourse and teaching practices that invite students to participate in mathematics and computer programming affords them opportunities to engage with these fields. Purpose/Focus of Study: This case study analyzes how small-group interactions mediated the positionings of Cindy, a bilingual Latina, as she learned binary numbers in an after-school program that integrated computer programming and mathematics (CPM). Setting: The Advancing Out-of-School Learning in Mathematics and Engineering (AOLME) program was held in a rural bilingual (Spanish and English) middle school in the Southwest. The after-school program was designed to provide experiences for primarily Latinx students to learn how to integrate mathematics with computer programming using Raspberry Pi and Python as a platform. Our case study explores how Cindy was positioned as she interacted with two undergraduate engineering students who served as facilitators while learning binary numbers with a group of three middle school students. Research Design: This single intrinsic case focused on exploring how small-group interactions among four students mediated Cindy’s positionings as she learned binary numbers through her participation in AOLME. Data sources included twelve 90-minute video sessions and Cindy’s journal and curriculum binder. Video logs were created, and transcripts were coded to describe verbal and nonverbal interactions among the facilitators and Cindy. Analysis of select episodes was conducted using systemic functional linguistics (SFL), specifically language modality, to identify how positioning took place. These episodes and positioning analysis describe how Cindy, with others, navigated the process of learning binary numbers under the stereotype that female students are not as good at mathematics as male students. Findings: From our analysis, three themes that emerged from the data portray Cindy’s experiences learning binary numbers. The major themes are: (1) Cindy’s struggle to reveal her understanding of binary numbers in a competitive context, (2) Cindy’s use of “fake it until you make it” to hide her cognitive dissonance, and (3) the use of Spanish and peers’ support to resolve Cindy’s understanding of binary numbers. The positioning patterns observed help us learn how, when Cindy’s bilingualism was viewed and promoted as an asset, this social context worked as a generative axis that addressed the challenges of learning binary numbers. The contrasting episodes highlight the facilitators’ productive teaching strategies and relations that nurtured Cindy’s social and intellectual participation in CPM. Conclusions/Recommendations: Cindy’s case demonstrates how the facilitator’s teaching, and participants’ interactions and discourse practices contributed to her qualitatively different positionings while she learned binary numbers, and how she persevered in this process. Analysis of communication acts supported our understanding of how Cindy’s positionings underpinned the discourse; how the facilitators’ and students’ discourse formed, shaped, or shifted Cindy’s positioning; and how discourse was larger than gender storylines that went beyond classroom interactions. Cindy’s case reveals the danger of placing students in “struggle” instead of a “productive struggle.” The findings illustrated that when Cindy was placed in struggle when confronting responding moves by the facilitator, her “safe” reaction was hiding and avoiding. In contrast, we also learned about the importance of empathetic, nurturing supporting responses that encourage students’ productive struggle to do better. We invite instructors to notice students’ hiding or avoiding and consider Cindy’s case. Furthermore, we recommend that teachers notice their choice of language because this is important in terms of positioning students. We also highlight Cindy’s agency as she chose to take up her friend’s suggestion to “fake it” rather than give up. 
    more » « less
  3. Today’s STEM classrooms have expanded the domain of computer science education from a basic two-toned terminal screen to now include helpful Integrated Development Environments(IDE) (BlueJ, Eclipse), block-based programming (MIT Scratch, Greenfoot), and even physical computing with embedded systems (Arduino, LEGO Mindstorm). But no matter which environment a student starts programming in, all students will eventually need help in finding and fixing bugs in their code. While the helpful IDE’s have debugger tools built in (breakpoints for pausing your program, ways to view/modify variable values, and "stepping" through code execution), in many of the other programming environments, students are limited to using print statements to try and "see" what is happening inside their program. Most students who learn to write code for Arduino microcontrollers will start within the Arduino IDE, but the official Arduino IDE does not currently provide any debugging tools. Instead, a student would have to move on to a professional IDE such as Atmel Studio or acquire a hardware debugger in order to add breakpoints or view their program’s variables. But each of these options has a steep learning curve, additional costs, and can require complex configurations. Based on research of student debugging practices[3, 7] and our own classroom observations, we have developed an Arduino software library, called Arduino Debugger, which provides some of these debugging tools (ex. breakpoints) while staying within the official Arduino IDE. This work continues a previous library, (redacted), which focused on features specific to e-textiles development boards. The Arduino Debugger library has been modified to support not only e-textile boards (Lilypad, Adafruit Circuit Playground) but most AVR and ARM based Arduino boards.We are also in the process of testing a set of Debugging Code Templates to see how they might increase student adoption of debugging tools. 
    more » « less
  4. There have been numerous demands for enhancements in the way undergraduate learning occurs today, especially at a time when the value of higher education continues to be called into question (The Boyer 2030 Commission, 2022). One type of demand has been for the increased integration of subjects/disciplines around relevant issues/topics—with a more recent trend of seeking transdisciplinary learning experiences for students (Sheets, 2016; American Association for the Advancement of Science, 2019). Transdisciplinary learning can be viewed as the holistic way of working equally across disciplines to transcend their own disciplinary boundaries to form new conceptual understandings as well as develop new ways in which to address complex topics or challenges (Ertas, Maxwell, Rainey, & Tanik, 2003; Park & Son, 2010). This transdisciplinary approach can be important as humanity’s problems are not typically discipline specific and require the convergence of competencies to lead to innovative thinking across fields of study. However, higher education continues to be siloed which makes the authentic teaching of converging topics, such as innovation, human-technology interactions, climate concerns, or harnessing the data revolution, organizationally difficult (Birx, 2019; Serdyukov, 2017). For example, working across a university’s academic units to collaboratively teach, or co-teach, around topics of convergence are likely to be rejected by the university systems that have been built upon longstanding traditions. While disciplinary expertise is necessary and one of higher education’s strengths, the structures and academic rigidity that come along with the disciplinary silos can prevent modifications/improvements to the roles of academic units/disciplines that could better prepare students for the future of both work and learning. The balancing of disciplinary structure with transdisciplinary approaches to solving problems and learning is a challenge that must be persistently addressed. These institutional challenges will only continue to limit universities seeking toward scaling transdisciplinary programs and experimenting with novel ways to enhance the value of higher education for students and society. This then restricts innovations to teaching and also hinders the sharing of important practices across disciplines. To address these concerns, a National Science Foundation Improving Undergraduate STEM Education project team, which is the topic of this paper, has set the goal of developing/implementing/testing an authentically transdisciplinary, and scalable educational model in an effort to help guide the transformation of traditional undergraduate learning to span academics silos. This educational model, referred to as the Mission, Meaning, Making (M3) program, is specifically focused on teaching the crosscutting practices of innovation by a) implementing co-teaching and co-learning from faculty and students across different academic units/colleges as well as b) offering learning experiences spanning multiple semesters that immerse students in a community that can nourish both their learning and innovative ideas. As a collaborative initiative, the M3 program is designed to synergize key strengths of an institution’s engineering/technology, liberal arts, and business colleges/units to create a transformative undergraduate experience focused on the pursuit of innovation—one that reaches the broader campus community, regardless of students’ backgrounds or majors. Throughout the development of this model, research was conducted to help identify institutional barriers toward creating such a cross-college program at a research-intensive public university along with uncovering ways in which to address these barriers. While data can show how students value and enjoy transdisciplinary experiences, universities are not likely to be structured in a way to support these educational initiatives and they will face challenges throughout their lifespan. These challenges can result from administration turnover whereas mutual agreements across colleges may then vanish, continued disputes over academic territory, and challenges over resource allotments. Essentially, there may be little to no incentives for academic departments to engage in transdisciplinary programming within the existing structures of higher education. However, some insights and practices have emerged from this research project that can be useful in moving toward transdisciplinary learning around topics of convergence. Accordingly, the paper will highlight features of an educational model that spans disciplines along with the workarounds to current institutional barriers. This paper will also provide lessons learned related to 1) the potential pitfalls with educational programming becoming “un-disciplinary” rather than transdisciplinary, 2) ways in which to incentivize departments/faculty to engage in transdisciplinary efforts, and 3) new structures within higher education that can be used to help faculty/students/staff to more easily converge to increase access to learning across academic boundaries. 
    more » « less
  5. Abstract  
    more » « less