Matching Items (3)
Filtering by

Clear all filters

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
135981-Thumbnail Image.png
Description
Education in computer science is a difficult endeavor, with learning a new programing language being a barrier to entry, especially for college freshman and high school students. Learning a first programming language requires understanding the syntax of the language, the algorithms to use, and any additional complexities the language carries.

Education in computer science is a difficult endeavor, with learning a new programing language being a barrier to entry, especially for college freshman and high school students. Learning a first programming language requires understanding the syntax of the language, the algorithms to use, and any additional complexities the language carries. Often times this becomes a deterrent from learning computer science at all. Especially in high school, students may not want to spend a year or more simply learning the syntax of a programming language. In order to overcome these issues, as well as to mitigate the issues caused by Microsoft discontinuing their Visual Programming Language (VPL), we have decided to implement a new VPL, ASU-VPL, based on Microsoft's VPL. ASU-VPL provides an environment where users can focus on algorithms and worry less about syntactic issues. ASU-VPL was built with the concepts of Robot as a Service and workflow based development in mind. As such, ASU-VPL is designed with the intention of allowing web services to be added to the toolbox (e.g. WSDL and REST services). ASU-VPL has strong support for multithreaded operations, including event driven development, and is built with Microsoft VPL users in mind. It provides support for many different robots, including Lego's third generation robots, i.e. EV3, and any open platform robots. To demonstrate the capabilities of ASU-VPL, this paper details the creation of an Intel Edison based robot and the use of ASU-VPL for programming both the Intel based robot and an EV3 robot. This paper will also discuss differences between ASU-VPL and Microsoft VPL as well as differences between developing for the EV3 and for an open platform robot.
ContributorsDe Luca, Gennaro (Author) / Chen, Yinong (Thesis director) / Cheng, Calvin (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2015-12
131558-Thumbnail Image.png
Description
Different tools have been developed by physicists to detect particle interactions, including one tool called a cloud chamber. A cloud chamber is a device that uses a supersaturated alcohol vapor to outline the paths of subatomic particles. It requires an adequate source of radiation, either background radiation or a radioactive

Different tools have been developed by physicists to detect particle interactions, including one tool called a cloud chamber. A cloud chamber is a device that uses a supersaturated alcohol vapor to outline the paths of subatomic particles. It requires an adequate source of radiation, either background radiation or a radioactive element, that is placed inside the chamber and allowed to decay. The particles emitted from the decaying element form tracks, as a result of the condensation of the supersaturated alcohol. This condensation ionizes the particles as they are being emitted, which creates the visible track. In order to produce curved tracks, which are necessary for data analysis, a suitable magnetic field must also be applied to the moving particles. As these particles come into contact with the magnetic field, their tracks curve, allowing for measurements of the radius of curvature for each track to be deduced. The radius of curvature can then be used to determine the identity of the atomic nucleus that the emitted particle came from. Computer programming can be applied to this process to make it faster and more efficient. This thesis project involved the composition of a software that could control a cloud chamber apparatus set up to view the beta decay of Pb-210 and analyze the tracks produced by emitted electrons to determine their radius of curvature. By the completion of this project, a software was developed that could accurately detect tracks from test images and control several parts of a cloud chamber.
ContributorsBogdanovic, Natalija (Author) / Tucker, Ross (Thesis director) / Solis, Francisco (Committee member) / School of Social and Behavioral Sciences (Contributor) / School of Mathematical and Natural Sciences (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05