A Quantitative Assessment of Visual Cognition Versus Constructivism in Computer Science

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

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.
Date Created
2023-05
Agent

Computational Modeling of a Predator-Prey Relationship

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

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.

Date Created
2023-05
Agent

Engram: A Pure-English Programming Language for Computer Science Education

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

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.
Date Created
2022-05
Agent

Website Example NFA

161219-Thumbnail Image.jpg
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

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.

Date Created
2021-12
Agent

Website Example DFA

161218-Thumbnail Image.jpg
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

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.

Date Created
2021-12
Agent

Smith Thesis Project

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

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.

Date Created
2021-12
Agent

A Web Applet for Finite-State Automata Visualization

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

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.

Date Created
2021-12
Agent

Alternative Voting Systems

148091-Thumbnail Image.png
Description

The Electoral College, the current electoral system in the U.S., operates on a Winner-Take-All or First Past the Post (FPTP) principle, where the candidate with the most votes wins. Despite the Electoral College being the current system, it is problematic.

The Electoral College, the current electoral system in the U.S., operates on a Winner-Take-All or First Past the Post (FPTP) principle, where the candidate with the most votes wins. Despite the Electoral College being the current system, it is problematic. According to Lani Guinier in Tyranny of the Majority, “the winner-take-all principle invariably wastes some votes” (121). This means that the majority group gets all of the power in an election while the votes of the minority groups are completely wasted and hold little to no significance. Additionally, FPTP systems reinforce a two-party system in which neither candidate could satisfy the majority of the electorate’s needs and issues, yet forces them to choose between the two dominant parties. Moreover, voting for a third party candidate only hurts the voter since it takes votes away from the party they might otherwise support and gives the victory to the party they prefer the least, ensuring that the two party system is inescapable. Therefore, a winner-take-all system does not provide the electorate with fair or proportional representation and creates voter disenfranchisement: it offers them very few choices that appeal to their needs and forces them to choose a candidate they dislike. There are, however, alternative voting systems that remedy these issues, such as a Ranked voting system, in which voters can rank their candidate choices in the order they prefer them, or a Proportional voting system, in which a political party acquires a number of seats based on the proportion of votes they receive from the voter base. Given these alternatives, we will implement a software simulation of one of these systems to demonstrate how they work in contrast to FPTP systems, and therefore provide evidence of how these alternative systems could work in practice and in place of the current electoral system.

Date Created
2021-05
Agent

Alternative Voting Systems Creative Project

148106-Thumbnail Image.png
Description

The Electoral College, the current electoral system in the U.S., operates on a Winner-Take-All or First Past the Post (FPTP) principle, where the candidate with the most votes wins. Despite the Electoral College being the current system, it is problematic.

The Electoral College, the current electoral system in the U.S., operates on a Winner-Take-All or First Past the Post (FPTP) principle, where the candidate with the most votes wins. Despite the Electoral College being the current system, it is problematic. According to Lani Guinier in Tyranny of the Majority, “the winner-take-all principle invariably wastes some votes” (121). This means that the majority group gets all of the power in an election while the votes of the minority groups are completely wasted and hold little to no significance. Additionally, FPTP systems reinforce a two-party system in which neither candidate could satisfy the majority of the electorate’s needs and issues, yet forces them to choose between the two dominant parties. Moreover, voting for a third party candidate only hurts the voter since it takes votes away from the party they might otherwise support and gives the victory to the party they prefer the least, ensuring that the two party system is inescapable. Therefore, a winner-take-all system does not provide the electorate with fair or proportional representation and creates voter disenfranchisement: it offers them very few choices that appeal to their needs and forces them to choose a candidate they dislike. There are, however, alternative voting systems that remedy these issues, such as a Ranked voting system, in which voters can rank their candidate choices in the order they prefer them, or a Proportional voting system, in which a political party acquires a number of seats based on the proportion of votes they receive from the voter base. Given these alternatives, we will implement a software simulation of one of these systems to demonstrate how they work in contrast to FPTP systems, and therefore provide evidence of how these alternative systems could work in practice and in place of the current electoral system.

Date Created
2021-05
Agent

Web Interfacing Water Cooler System

135528-Thumbnail Image.png
Description
Abstract
This work details the process of designing and implementing an embedded system
utilized to take measurements from a water cooler and post that data onto a publicly accessible web server. It embraces the Web 4.0, Internet of Things, mindset of making

Abstract
This work details the process of designing and implementing an embedded system
utilized to take measurements from a water cooler and post that data onto a publicly accessible web server. It embraces the Web 4.0, Internet of Things, mindset of making everyday appliances web accessible. The project was designed to satisfy the needs of a local faculty member who wished to know the water levels available in his office water cooler, potentially saving him the disappointment of discovering an empty container. 


This project utilizes an Arduino microprocessor, an ESP 8266 Wi-Fi module, and a variety of sensors to detect water levels in filtered water unit located on the fourth floor of the the Brickyard Building, BYENG, at Arizona State University. This implementation will not interfere with the system already set in place to store and transfer water. The level of accuracy in water levels is expected to give the ability to discern +/- 1.5 liters of water. This system will send will send information to a created web service from which anyone with internet capabilities can gain access. The interface will display current water levels and attempt to predict at what time the water levels will be depleted. In the short term, this information will be useful for individuals on the floor to discern when they are able to extract water from the system. Overtime, the information this system gathers will map the drinking trends of the floor and can allow for a scheduling of water delivery that is more consistent with the demand of those working on the floor.
Date Created
2016-05
Agent