Matching Items (43)
Filtering by

Clear all filters

156331-Thumbnail Image.png
Description
Graph theory is a critical component of computer science and software engineering, with algorithms concerning graph traversal and comprehension powering much of the largest problems in both industry and research. Engineers and researchers often have an accurate view of their target graph, however they struggle to implement a correct, and

Graph theory is a critical component of computer science and software engineering, with algorithms concerning graph traversal and comprehension powering much of the largest problems in both industry and research. Engineers and researchers often have an accurate view of their target graph, however they struggle to implement a correct, and efficient, search over that graph.

To facilitate rapid, correct, efficient, and intuitive development of graph based solutions we propose a new programming language construct - the search statement. Given a supra-root node, a procedure which determines the children of a given parent node, and optional definitions of the fail-fast acceptance or rejection of a solution, the search statement can conduct a search over any graph or network. Structurally, this statement is modelled after the common switch statement and is put into a largely imperative/procedural context to allow for immediate and intuitive development by most programmers. The Go programming language has been used as a foundation and proof-of-concept of the search statement. A Go compiler is provided which implements this construct.
ContributorsHenderson, Christopher (Author) / Bansal, Ajay (Thesis advisor) / Lindquist, Timothy (Committee member) / Acuna, Ruben (Committee member) / Arizona State University (Publisher)
Created2018
136179-Thumbnail Image.png
Description
CourseKarma is a web application that engages students in their own learning through peer-driven social networking. The influence of technology on students is advancing faster than the school system, and a major gap still lingers between traditional learning techniques and the fast-paced, online culture of today's generation. CourseKarma enriches the

CourseKarma is a web application that engages students in their own learning through peer-driven social networking. The influence of technology on students is advancing faster than the school system, and a major gap still lingers between traditional learning techniques and the fast-paced, online culture of today's generation. CourseKarma enriches the educational experience of today's student by creating a space for collaborative inquiry as well as illuminating the opportunities of self and group learning through online collaboration. The features of CourseKarma foster this student-driven environment. The main focus is on a news-feed and Question and Answer component that provides a space for students to share instant updates as well ask and answer questions of the community. The community can be as broad as the entire ASU student body, as specific as students in BIO155, or even more targeted via specific subjects and or skills. CourseKarma also provides reputation points, which are the sum of all of their votes received, identifying the individual's level and or ranking in each subject or class. This not only gamifies the usual day-to-day learning environment, but it also provides an in-depth analysis of the individual's skills, accomplishments, and knowledge. The community is also able to input and utilize course and professor descriptions/feedback. This will be in a review format providing the students an opportunity to share and give feedback on their experience as well as providing incoming students the opportunity to be prepared for their future classes. All of the student's contributions and collaborative activity within CourseKarma is displayed on their personal profile creating a timeline of their academic achievements. The application was created using modern web programming technologies such as AngualrJS, Javascript, jQuery, Bootstrap, HTML5, CSS3 for the styling and front-end development, Mustache.js for client side templating, and Firebase AngularFire as the back-end and NoSQL database. Other technologies such as Pivitol Tracker was used for project management and user story generation, as well as, Github for version control management and repository creation. Object-oreinted programming concepts were heavily present in the creation of the various data structures, as well as, a voting algorithm was used to manage voting of specific posts. Down the road, CourseKarma could even be a necessary add-on within LinkedIn or Facebook that provides a quick yet extremely in-depth look at an individuals' education, skills, and potential to learn \u2014 based all on their actual contribution to their academic community rather than just a text they wrote up.
ContributorsCho, Sungjae (Author) / Mayron, Liam (Thesis director) / Lobock, Alan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor) / School of Arts, Media and Engineering (Contributor)
Created2015-05
137392-Thumbnail Image.png
Description
Despite the advancement of online tools for activities related to the core experience of taking classes on a college campus, there has been a relatively small amount of research into implementing online tools for ancillary academic resources (e.g. tutoring centers, review sessions, etc.). Previous work and a study conducted for

Despite the advancement of online tools for activities related to the core experience of taking classes on a college campus, there has been a relatively small amount of research into implementing online tools for ancillary academic resources (e.g. tutoring centers, review sessions, etc.). Previous work and a study conducted for this paper indicates that there is value in creating these online tools but that there is value in maintaining an in-person component to these services. Based on this, a system which provides personalized, easily-accessible, simple access to these services is proposed. Designs for user-centered online-tools that provides access to and interaction with tutoring centers and review sessions are described and prototypes are developed to demonstrate the application of design principles for online tools for academic services.
ContributorsBerk, Nicholas Robert (Author) / Balasooriya, Janaka (Thesis director) / Eaton, John (Committee member) / Walker, Erin (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2013-12
137462-Thumbnail Image.png
Description
Web-application development constantly changes \u2014 new programming languages, testing tools and programming methodologies are often proposed. The focus of this project is on the tool Selenium and the fairly new technique known as High Volume Automated Testing (HVAT). Both of these techniques were used to test the Just-in-Time Teaching and

Web-application development constantly changes \u2014 new programming languages, testing tools and programming methodologies are often proposed. The focus of this project is on the tool Selenium and the fairly new technique known as High Volume Automated Testing (HVAT). Both of these techniques were used to test the Just-in-Time Teaching and Learning Classroom Management System software. Selenium was used with a black-box testing technique and HVAT was employed in a white-box testing technique. Two of the major functionalities of this software were examined, which include the login and the professor functionality. The results of the black-box testing technique showed parts of the login component contain bugs, but the professor component is clean. HVAT white-box testing revealed error free implementation on the code level. We present an analysis on a new technique for HVAT testing with Selenium.
ContributorsEjaz, Samira (Author) / Balasooriya, Janaka (Thesis director) / Nakamura, Mutsumi (Committee member) / Wilkerson, Kelly (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2013-05
132922-Thumbnail Image.png
Description
Charleston, South Carolina currently faces serious annual flooding issues due to tides and rainfall. These issues are expected to get significantly worse within the next few decades reaching a projected 180 days a year of flooding by 2045 (Carter et al., 2018). Several permanent solutions are in progress by the

Charleston, South Carolina currently faces serious annual flooding issues due to tides and rainfall. These issues are expected to get significantly worse within the next few decades reaching a projected 180 days a year of flooding by 2045 (Carter et al., 2018). Several permanent solutions are in progress by the City of Charleston. However, these solutions are years away at minimum and faced with development issues. This thesis attempts to treat some of the symptoms of flooding, such as navigation, by creating an iPhone application which predicts flooding and helps people navigate around it safely. Specifically, this thesis will take into account rainfall and tide levels to display to users actively flooded areas of downtown Charleston and provide routing to a destination from a user’s location around these flooded areas whenever possible.
ContributorsSalisbury, Mason (Author) / Balasooriya, Janaka (Thesis director) / Faucon, Christophe (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
134360-Thumbnail Image.png
Description
The goal of this research study was to empirically study the effects of a project based learning activity. The effectiveness of this study was benchmarked according to two results: the effectiveness in communicating the scope and impact of engineering, and the effectiveness in increasing interest in computer systems engineering (CSE).

The goal of this research study was to empirically study the effects of a project based learning activity. The effectiveness of this study was benchmarked according to two results: the effectiveness in communicating the scope and impact of engineering, and the effectiveness in increasing interest in computer systems engineering (CSE). This research report presents an analysis of the effects of making engineering education socially relevant, interesting and accessible. High school students participated in a learning experience in which they designed flood evacuation systems that could warn a city of incoming floods. Both pre-assessments and post-assessments were implemented to capture students' awareness of engineering tasks and their interest levels in engineering tasks. Data on students' perceptions of specific engineering tasks were analyzed quantitatively through Wilcoxon signed-rank testing and determined that the program had significant positive effects on developing more accurate conceptions of engineering tasks. The results relating to student interest in CSE indicated that there was an increased level of interest in CSE engineering tasks after the program. There was a 14% increase in number of students who found engineering tasks interesting from 64% to 78%. However, as participants self-selected to participate in this learning experience, many students had positive perceptions of engineering tasks prior to engaging in the learning experience. This study was successful and met both of its primary goals of enhancing awareness and interest in engineering in this particular group of high school students.
ContributorsRidhwaan, Syed (Author) / Ganesh, Tirupalavanam (Thesis director) / Shrake, Scott (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-05
135078-Thumbnail Image.png
Description
The Internet of Things has spread Wi-Fi connectivity to household and business devices everywhere. It is important that we understand IoT's risks and capabilities as its popularity continues to grow, and that we recognize new and exciting uses for it. In this project, the ESP8266 Wi-Fi controller, powered by a

The Internet of Things has spread Wi-Fi connectivity to household and business devices everywhere. It is important that we understand IoT's risks and capabilities as its popularity continues to grow, and that we recognize new and exciting uses for it. In this project, the ESP8266 Wi-Fi controller, powered by a lithium battery, is used to transmit messages from a user's browser or mobile phone to an OLED display. The ESP8266 is a system on a chip (SOC) which boasts impressive features such as full TCP/IP stack, 1 MB of flash memory, and a 32-bit CPU. A web server is started on the ESP8266 which listens at a specific port and relays any strings from the client back to the display, acting as a simple notification system for a busy individual such as a professor. The difficulties with this project stemmed from the security protocol of Arizona State University's Wi-Fi network and from the limitations of the Wi-Fi chip itself. Several solutions are suggested, such as utilizing a personal cellular broadband router and polling a database for stored strings through a service such as Data.Sparkfun.com.
ContributorsKovatcheva, Simona Kamenova (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Computer Science and Engineering Program (Contributor) / School of International Letters and Cultures (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12
134879-Thumbnail Image.png
Description
The purpose of this project was to implement and analyze a new proposed rootkit that claims a greater level of stealth by hiding in cache. Today, the vast majority of embedded devices are powered by ARM processors. To protect their processors from attacks, ARM introduced a hardware security extension known

The purpose of this project was to implement and analyze a new proposed rootkit that claims a greater level of stealth by hiding in cache. Today, the vast majority of embedded devices are powered by ARM processors. To protect their processors from attacks, ARM introduced a hardware security extension known as TrustZone. It provides an isolated execution environment within the embedded device that enables us to run various memory integrity and malware detection tools to identify possible breaches in security to the normal world. Although TrustZone provides this additional layer of security, it also adds another layer of complexity, and thus comes with its own set of vulnerabilities. This new rootkit identifies and exploits a cache incoherence in the ARM device as a result of TrustZone. The newly proposed rootkit, called CacheKit, takes advantage of this cache incoherence to avoid memory introspection from tools in secure world. We implement CacheKit on the i.MX53 development board, which features a single ARM Cortex A8 processor, to analyze the limitations and vulnerabilities described in the original paper. We set up the Linux environment on the computer to be able to cross-compile for the development board which will be running the FreeScale android 2.3.4 platform with a 2.6.33 Linux kernel. The project is implemented as a kernel module that once installed on the board can manipulate cache as desired to conceal the rootkit. The module exploits the fact that in TrustZone, the secure world does not have access to the normal world cache. First, a technique known as Cache-asRAM is used to ensure that the rootkit is loaded only into cache of the normal world where it can avoid detection from the secure world. Then, we employ the cache maintenance instructions and resisters provided in the cp15 coprocessor to keep the code persistent in cache. Furthermore, the cache lines are mapped to unused I/O address space so that if cache content is flushed to RAM for inspection, the data is simply lost. This ensures that even if the rootkit were to be flushed into memory, any trace of the malicious code would be lost. CacheKit prevents defenders from analyzing the code and destroys any forensic evidence. This provides attackers with a new and powerful tool that is excellent for certain scenarios that were previously thought to be secure. Finally, we determine the limitations of the prototype to determine possible areas for future growth and research into the security of networked embedded devices.
ContributorsGutierrez Barnett, Mauricio Antonio (Author) / Zhao, Ziming (Thesis director) / Doupe, Adam (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12
135955-Thumbnail Image.png
Description
Instead of providing the illusion of agency to a reader via a tree or network of prewritten, branching paths, an interactive story should treat the reader as a player who has meaningful influence on the story. An interactive story can accomplish this task by giving the player a large toolset

Instead of providing the illusion of agency to a reader via a tree or network of prewritten, branching paths, an interactive story should treat the reader as a player who has meaningful influence on the story. An interactive story can accomplish this task by giving the player a large toolset for expression in the plot. LudoNarrare, an engine for interactive storytelling, puts "verbs" in this toolset. Verbs are contextual choices of action given to agents in a story that result in narrative events. This paper begins with an analysis and statement of the problem of creating interactive stories. From here, various attempts to solve this problem, ranging from commercial video games to academic research, are given a brief overview to give context to what paths have already been forged. With the background set, the model of interactive storytelling that the research behind LudoNarrare led to is exposed in detail. The section exploring this model contains explanations on what storyworlds are and how they are structured. It then discusses the way these storyworlds can be brought to life. The exposition on the LudoNarrare model finally wraps up by considering the way storyworlds created around this model can be designed. After the concepts of LudoNarrare are explored in the abstract, the story of the engine's research and development and the specifics of its software implementation are given. With LudoNarrare fully explained, the focus then turns to plans for evaluation of its quality in terms of entertainment value, robustness, and performance. To conclude, possible further paths of investigation for LudoNarrare and its model of interactive storytelling are proposed to inspire those who wish to continue in the spirit of the project.
ContributorsStark, Joshua Matthew (Author) / VanLehn, Kurt (Thesis director) / Wetzel, Jon (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2015-12
135605-Thumbnail Image.png
Description
An application called "Productivity Heatmap" was created with this project with the goal of allowing users to track how productive they are over the course of a day and week, input through scheduled prompts separated by 30 minutes to 4 hours, depending on preference. The result is a heat ma

An application called "Productivity Heatmap" was created with this project with the goal of allowing users to track how productive they are over the course of a day and week, input through scheduled prompts separated by 30 minutes to 4 hours, depending on preference. The result is a heat map colored according to a user's productivity at particular times of each day during the week. The aim is to allow a user to have a visualization on when he or she is best able to be productive, given that every individual has different habits and life patterns. This application was made completely in Google's Android Studio environment using Java and XML, with SQLite being used for database management. The application runs on any Android device, and was designed to be a balance of providing useful information to a user while maintaining an attractive and intuitive interface. This thesis explores the creation of a functional mobile application for mass distribution, with a particular set of end users in mind, namely college students. Many challenges in the form of learning a new development environment were encountered and overcome, as explained in the report. The application created is a core functionality proof-of-concept of a much larger personal project in creating a versatile and useful mobile application for student use. The principles covered are the creation of a mobile application, meeting requirements specified by others, and investigating the interest generated by such a concept. Beyond this thesis, testing will be done, and future enhancements will be made for mass-market consumption.
ContributorsWeser, Matthew Paul (Author) / Nelson, Brian (Thesis director) / Balasooriya, Janaka (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-05