We present ASM Visualizer, a tool that is designed to help students learn assembly programming, aiding in their understanding of how assembly instructions are executed and the relationship between assembly and equivalent high-level language code. Our tool allows a user to step both forward and backward through the execution of an assembly program, one instruction at a time, seeing how instruc- tions use and modify values in stack memory and CPU registers. ASM Visualizer presents three user-interface modes, supporting different stages of learning assembly programming. Beginners can step through basic arithmetic instructions, whereas more advanced learners can trace through function call/return sequences, stack frame manipulation, or entire assembly programs. We present our experiences using ASM Visualizer in introductory-level courses at our two institutions, and we discuss other ways in which our tool could be used by educators in both introductory and advanced CS courses. Results from a preliminary assessment of students using our tool show that students gain confidence in their understanding of different aspects of assembly programming. We feel that the visual interface to assembly code execution that ASM Visualizer provides is key to helping students understand assembly.
more »
« less
An Open-Source BinaryGame for Learning Reverse Engineering
This paper introduces an open-source BinaryGame that assists students learning reverse engineering. The game consists of ten levels that increase in difficulty, help pages on GDB, and supports three flavors of assembly language. Work on the BinaryGame is ongoing; for our initial study, we used the BinaryGame to introduce students in a computer systems \& organization course to Arm assembly. These students had prior knowledge of x64 assembly, but no prior knowledge of Arm assembly; our goal was to boost our students' confidence in learning unfamiliar assembly languages. Our results suggest that the BinaryGame increased student confidence in their a.) general reverse engineering abilities; b.) ability to reverse engineer programs in an unfamiliar assembly language, and c.) ability to reverse programs in Arm assembly. We believe that the BinaryGame can help students build their reverse engineering skillset.
more »
« less
- Award ID(s):
- 2141814
- PAR ID:
- 10497213
- Publisher / Repository:
- Consortium for Computing Sciences in Colleges
- Date Published:
- Journal Name:
- Journal of computing sciences in colleges
- Volume:
- 38
- Issue:
- 8
- ISSN:
- 1937-4771
- Page Range / eLocation ID:
- 136–145
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
This research evaluates the impact of switching college engineering courses from in-person instruction to emergency remote learning among engineering students at a university in the Midwest. The study aimed to answer the question: What were the concerns and perceived challenges students faced when traditional in-person engineering courses suddenly transitioned to remote learning? The goal of this study is to uncover the challenges students were facing in engineering online courses and to understand students’ concerns. Our findings can help improve teaching instruction to provide students with previously unavailable educational assistance for online engineering courses. We collected online survey responses during weeks 8 and 9 of the academic semester, shortly after the COVID-19 shutdown and emergency transition to remote learning in Spring 2020. The survey included two open-ended questions which inquired about students’ feedback about moving the class online, and one two-item scale which assessed students’ confidence in online engineering learning. Data analysis for the open-ended questions was guided by the theoretical framework - Social Cognitive Career Theory [1] that explores how context, person factors and social cognitions contribute to career goals, interests and actions. A phenomenological approach [2] was conducted to understand the experience of these students. Open coding and axial coding [2] methods were used to create initial categories then themes related to students' concerns and challenges. Data from the two-item scale was evaluated using descriptive statistics: means, standard deviations, and ranges. Four main themes with separate sub-categories emerged from the student responses: 1) Instructor’s ability to teach course online (Instructional limitations, Seeking help, Increased Workload), 2) Student’s ability to learn online (Time Management, Lower engagement and motivation, Harder to absorb material, Hard to focus, Worry about performance), 3) Difficulties outside of class (Technology issues), and 4) No concerns. Students seemed more concerned about their ability to learn the material (48% of responses) than the instructor’s ability to teach the material (36% of responses). The instructional limitations or lack of instructional support (22% of responses) and time management (12% of responses) were among the major concerns in the sub-categories. The results from two-item scale indicated participants' s confidence in their ability to master their classroom knowledge was at an intermediate level via online instruction (6/10), and participants' confidence in the instructor's ability to teach knowledge in online classes is moderate to high (7/10). The results align with the open-ended question response in which students were somewhat more concerned about their ability to learn than the instructor’s ability to teach. The themes and analysis will be a valuable tool to help institutions and instructors improve student learning experiences.more » « less
-
This research work in progress research paper examines student perceptions after completing an exploratory learning lesson before instruction on an introductory programming concept. During exploratory learning activities, students explore a novel concept prior to instruction—the reverse of typical instruct-then-practice methods. Exploratory learning before instruction can help students activate prior knowledge, become aware of their knowledge gaps, and discern important problem features to improve conceptual understanding. Students in a first-year engineering course (N=402) learned about Python error messages in one of two conditions. In the explore-first condition, students completed a collaborative activity prior to instruction. In the instruct-first condition, students received instruction prior to the activity. Following the activity and instruction, students completed a survey to assess their perceptions of the activities. Survey items (e.g. cognitive load, self-efficacy, belonging, knowledge gaps) were chosen as potential factors that could explain learning outcomes between the two conditions. In prior work, we found higher posttest scores in the instruct-first compared to explore-first condition, contrary to the majority of previous studies. Cognitive load and knowledge gaps were higher in the explore-first condition than the instruct-first condition. Self-efficacy and competence were lower in the explore-first condition. No other significant differences were found. Exploring before instruction might disrupt learning and perceived efficacy and competence if the activity is too challenging, or if the instruction does not fully resolve gaps in students’ knowledge.more » « less
-
There is an increasing need for knowledgeable K-12 computer science (CS) teachers. It is necessary to inform teachers how to debug and help their students debug programs. Research has shown that debugging is difficult for novices because the process requires different skills from creating programs and instructing students how to debug can help them acquire these skills. To this end, we developed a CS professional development for middle grade teachers (grades 5th-8th/ages 10-13) that includes lessons on debugging. The teachers completed debugging activities that involved finding bugs in Scratch programs and explaining how they would help their students in debugging. We qualitatively analyzed their responses and found that teachers successfully identified the problem but they struggled to locate it in the code. In considering how they would help students who had such a bug, the teachers often focused on helping the student find a solution for the bug rather than on identifying the problem or its source. Finally, teachers’ ability to identify bugs and the pedagogical strategies to engage students in this process differed based on CS teaching experience and prior CS knowledge. This work contributes to our understanding of teachers’ debugging abilities and advances our knowledge on how to support teachers in teaching their students how to debug their programs.more » « less
-
null (Ed.)Engineering programs, in general, do not explicitly address the need to enhance divergent thinking. To a certain extent this is due to a lack in knowledge on the cognitive and neural mechanisms underlying divergent thinking, and creative ideation more generally. We hypothesize that we can help enhance our students’ divergent thinking and creative processing outcomes by investigating the impacts of carefully selected methods and tools enabled by developments in the robust analysis of engineering ideation performance, and neurocognitive responses to creativity. In this paper, we present an experiment using the Event-Related brain Potentials (ERP) technique and creative language use (funded by Core R&D Programs). More specifically, we collected ERP responses to literal, nonsense, and novel metaphorical sentences that were either referring to engineering knowledge or general knowledge, testing engineering and non-engineering students. Following Rutter et al. [1], sentences differed in verb only and had been classified in prior sentence norming studies as highly unusual and highly appropriate (novel metaphors), low unusual and highly appropriate (literal sentences), and highly unusual and low appropriate (nonsense sentences). Participants read sentences while their EEG was recorded, and after reading the sentence made judgments about its unusualness and appropriateness. The findings indicate that prior knowledge modulates novel metaphor processing at the stage of lexico–semantic access, indexed by the amplitude of N400 component. Specifically, N400 amplitudes to novel metaphorical sentences are significantly reduced and pattern with literal sentences in engineers; in nonengineers, by contrast, we observed increased N400 amplitudes to novel metaphorical sentences that pattern with anomalous sentences. This mirror effect on the N400 corroborates recent findings demonstrating a strong impact of prior experience and expertise on meaning ambiguity resolution, which may in turn have implications for creative cognition.more » « less
An official website of the United States government

