Barrett, The Honors College at Arizona State University proudly showcases the work of undergraduate honors students by sharing this collection exclusively with the ASU community.

Barrett accepts high performing, academically engaged undergraduate students and works with them in collaboration with all of the other academic units at Arizona State University. All Barrett students complete a thesis or creative project which is an opportunity to explore an intellectual interest and produce an original piece of scholarly research. The thesis or creative project is supervised and defended in front of a faculty committee. Students are able to engage with professors who are nationally recognized in their fields and committed to working with honors students. Completing a Barrett thesis or creative project is an opportunity for undergraduate honors students to contribute to the ASU academic community in a meaningful way.

Displaying 11 - 17 of 17
Description

This creative project develops an environment in which three species inhabit a shared land and models the movement of the creatures to determine the survival rates over time in specific conditions. The three species modelled include a predator and a prey species with movement capabilities as well as a stagnant

This creative project develops an environment in which three species inhabit a shared land and models the movement of the creatures to determine the survival rates over time in specific conditions. The three species modelled include a predator and a prey species with movement capabilities as well as a stagnant fruit species. There are a variety of configurable variables that can be used to modify and control the simulation to observe how the resulting population charts change. The big difference between this project and a normal approach to simulating a predation relationship is that actual creatures themselves are being created and their movement is simulated in this virtual environment which then leads to population counts, rather than integrating differential equations relating the population sizes of both species and purely tracking the populations but not the creatures themselves. Because of this difference, my simulation is not meant to handle all the complexities of life that come in the real-world but instead is intended as a simplified approach to simulating creatures' lives with the purpose of conveying the idea of a real predation relationship. Thus, the main objective of my simulation is to produce data representative of real-world predator-prey relationships, with the overall cyclical pattern that is observed in natural achieved through simulating creature movement and life itself rather than estimating population size change.

ContributorsPerry, Jordan (Author) / Burger, Kevin (Thesis director) / Miller, Phillip (Committee member) / Barrett, The Honors College (Contributor) / Department of Physics (Contributor) / Computer Science and Engineering Program (Contributor)
Created2023-05
Description

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays all have very strong visual components. Not only that, but resources for them are abundantly available online. Automata Theory, on the other hand, is the first Computer Science course students encounter that has a significant focus on deep theory. Many of the concepts can be difficult to visualize, or at least take a lot of effort to do so. Furthermore, visualizers for finite state machines are hard to come by. Because I thoroughly enjoyed learning about Automata Theory and parsers, I wanted to create a program that involved the two. Additionally, I thought creating a program for visualizing automata would help students who struggle with Automata Theory develop a stronger understanding of it.

ContributorsSmith, Andrew (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / School of Mathematical and Statistical Sciences (Contributor) / Computer Science and Engineering Program (Contributor)
Created2021-12
187174-Thumbnail Image.png
Description
Alongside the many challenges of Covid-19, the pandemic also disrupted the normal structure of education for students. As classes were being transferred to online formats, computer science students started learning more through constructivism principles rather than the traditionally taught, in-person lectures. This quantitative assessment hopes to determine whether constructivist principles

Alongside the many challenges of Covid-19, the pandemic also disrupted the normal structure of education for students. As classes were being transferred to online formats, computer science students started learning more through constructivism principles rather than the traditionally taught, in-person lectures. This quantitative assessment hopes to determine whether constructivist principles or traditional/visual cognition principles are better for teaching computer science topics. Determinations will be made through a social behavioral experiment teaching pointers to participants. Participants were split into three groups: a control group, a constructivist group, and a visual cognition group. Each group took part in an assessment testing their knowledge retention about pointers after having a lecture based around each teaching method. The assessment evaluated retries per assessment, time per correct answer, time per question, and the average time taken in total. The results of the experiment led to a conclusion that, according to the resulting data, constructivism teaching principles benefited participant scores, and visual cognition teaching principles worsened participant scores. However, a definitive answer of which teaching method is better for computer science could not be made due to insufficient sample size. When reflecting on the first iteration of this experiment, it is clear that future iterations of this experiment would benefit from a higher sample size, an easier assignment for the constructivist group, a feedback survey, and a longer period to experiment.
ContributorsTiruchinapalli, Sai Santosh (Author) / Burger, Kevin (Thesis director) / Hartwell, Leland (Committee member) / Barrett, The Honors College (Contributor)
Created2023-05
161217-Thumbnail Image.png
Description

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays all have very strong visual components. Not only that, but resources for them are abundantly available online. Automata Theory, on the other hand, is the first Computer Science course students encounter that has a significant focus on deep theory. Many
of the concepts can be difficult to visualize, or at least take a lot of effort to do so. Furthermore, visualizers for finite state machines are hard to come by. Because I thoroughly enjoyed learning about Automata Theory and parsers, I wanted to create a program that involved the two. Additionally, I thought creating a program for visualizing automata would help students who struggle with Automata Theory develop a stronger understanding of it.

ContributorsSmith, Andrew (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / School of Mathematical and Statistical Sciences (Contributor)
Created2021-12
Description

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays all have very strong visual components. Not only that, but resources for them are abundantly available online. Automata Theory, on the other hand, is the first Computer Science course students encounter that has a significant focus on deep theory. Many
of the concepts can be difficult to visualize, or at least take a lot of effort to do so. Furthermore, visualizers for finite state machines are hard to come by. Because I thoroughly enjoyed learning about Automata Theory and parsers, I wanted to create a program that involved the two. Additionally, I thought creating a program for visualizing automata would help students who struggle with Automata Theory develop a stronger understanding of it.

ContributorsSmith, Andrew (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / School of Mathematical and Statistical Sciences (Contributor)
Created2021-12
Description

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays

Among classes in the Computer Science curriculum at Arizona State University, Automata Theory is widely considered to be one of the most difficult. Many Computer Science concepts have strong visual components that make them easier to understand. Binary trees, Dijkstra's algorithm, pointers, and even more basic concepts such as arrays all have very strong visual components. Not only that, but resources for them are abundantly available online. Automata Theory, on the other hand, is the first Computer Science course students encounter that has a significant focus on deep theory. Many
of the concepts can be difficult to visualize, or at least take a lot of effort to do so. Furthermore, visualizers for finite state machines are hard to come by. Because I thoroughly enjoyed learning about Automata Theory and parsers, I wanted to create a program that involved the two. Additionally, I thought creating a program for visualizing automata would help students who struggle with Automata Theory develop a stronger understanding of it.

ContributorsSmith, Andrew (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / School of Mathematical and Statistical Sciences (Contributor)
Created2021-12
165485-Thumbnail Image.png
Description
Typical programming languages involve complex syntax and structure which can be daunting to first-time programmers. Particularly, elementary-age students may not be able to understand the relationship between a mathematical-looking program and its output. Thus, I created Engram, which teaches both English syntax as well as a version of typical functional

Typical programming languages involve complex syntax and structure which can be daunting to first-time programmers. Particularly, elementary-age students may not be able to understand the relationship between a mathematical-looking program and its output. Thus, I created Engram, which teaches both English syntax as well as a version of typical functional programming language syntax. Young English speakers can learn Engram to familiarize themselves with simple English sentence structure and critical programming concepts. This project has three parts: a parser & compiler, an Integrated Developer Environment (IDE) for the compiler, and lesson plans. The lexer, parser, and compiler were created using the C++ programming language. The IDE was created using C#, .NET Framework, and Windows Forms.
ContributorsCohen, Jacob (Author) / Burger, Kevin (Thesis director) / Nelson, Brian (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2022-05