Matching Items (3)
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
135148-Thumbnail Image.png
Description
\English is a programming language, a method of allowing programmers to write instructions such that a computer may understand and execute said instructions in the form of a program. Though many programming languages exist, this particular language is designed for ease of development and heavy optimizability in ways that no

\English is a programming language, a method of allowing programmers to write instructions such that a computer may understand and execute said instructions in the form of a program. Though many programming languages exist, this particular language is designed for ease of development and heavy optimizability in ways that no other programming language is. Building on the principles of Assembly level efficiency, referential integrity, and high order functionality, this language is able to produce extremely efficient code; meanwhile, programmatically defined English-based reusable syntax and a strong, static type system make \English easier to read and write than many existing programming languages. Its generalization of all language structures and components to operators leaves the language syntax open to project-specific syntactical structuring, making it more easily applicable in more cases. The thesis project requirements came in three parts: a compiler to compile \English code into NASM Assembly to produce a final program product; a standard library to define many of the basic operations of the language, including the creation of lists; and C translation library that would utilize \English properties to compile C code using the \English compiler. Though designed and partially coded, the compiler remains incomplete. The standard library, C translation library, and design of the language were completed. Additional tools regarding the language design and implementation were also created, including a Gedit syntax highlighting configuration file; usage documentation describing in a tutorial style the basic usage of the language; and more. Though the thesis project itself may be complete, the \English project will continue in order to produce a new language capable of the abilities possible with the design of this language.
ContributorsDavey, Connor (Author) / Gupta, Sandeep (Thesis director) / Bazzi, Rida (Committee member) / Calliss, Debra (Committee member) / Barrett, The Honors College (Contributor)
Created2016-05
165938-Thumbnail Image.png
Description

This paper will demonstrate that the Agile development process helps to ensure incremental work on an Unreal Engine game project is achieved by presenting a product produced in Unreal Engine along with my experience in utilizing Scrum to facilitate the game’s development. Section 2 discusses project goals and motivations for

This paper will demonstrate that the Agile development process helps to ensure incremental work on an Unreal Engine game project is achieved by presenting a product produced in Unreal Engine along with my experience in utilizing Scrum to facilitate the game’s development. Section 2 discusses project goals and motivations for using Agile, using Unreal Engine, and for the choice of genre in the final product. Section 3 contextualizes these goals by presenting the history of Unreal Engine, the novel applications of Unreal Engine, and the use of Unreal Engine in the development of Heady Stuff. Section 4 presents findings from the project’s development by describing my use of Agile and by presenting the steps taken in learning Unreal Engine. Section 4 continues by highlighting important development considerations in the use of Blueprints, C++, and HLSL in Unreal Engine. The section ends with the presentation of project feedback, its incorporation in the final product, and the resources used to assist development. Section 5 compares the workflow, help resources, and applications of Unreal Engine with those of Unity, another highly popular game engine. Lastly, Section 6 performs a post-mortem on the overall development process by considering how well Agile development processes were upheld along with how much of the original plans in the Design Document was present in the final product. Additionally, the section presents the major challenges encountered during project development. These challenges will help in proposing possible best practices for game development in Unreal Engine.

ContributorsHreshchyshyn, Jacob (Author) / Acuna, Ruben (Thesis director) / Hentges, John (Committee member) / Barrett, The Honors College (Contributor) / Software Engineering (Contributor) / Computing and Informatics Program (Contributor)
Created2022-05