This paper addresses the high model complexity and overconfident frame labeling of state-of-the-art (SOTA) action segmenters. Their complexity is typically justified by the need to sequentially refine action segmentation through multiple stages of a deep architecture. However, this multistage refinement does not take into account uncertainty of frame labeling predicted...
Despite an increase in the number of people who rely on manual wheelchairs, there are still substantial economic barriers to affordable and accessible localization systems. As a result, there is a pressing need to build a versatile yet low cost localization system for manual wheelchairs. Such systems allow users to...
Sonification, or the “technique of rendering sound in response to data and interactions” [1], is an alternative to visual graphs and has the potential to make data more interpretable and accessible. As a combination of the arts (music) and the sciences (data), sonification is an interdisciplinary tool for connecting people...
Distributed version control allows developers to manage software evolution among distributed development teams. But it does not eliminate all consistency and concurrency issues, and instead introduces additional complexity when merging code. And resolving merge conflicts is nontrivial when automated merging fails. In such cases, developers are forced to inspect the...
Metric spaces (X, d) are ubiquitous objects in mathematics and computer science that are able to capture pairwise distance relationships d(x, y) between points x, y ∈ X. Because of this, it is natural to ask what useful generalizations there are of metric spaces for capturing “k-wise distance relationships” d(x1,...
This paper synthesizes various works Wang tiles up to this point, including: the reduction from the Halting Problem to Wang Tiling Problem and notions around various aspects of periodicity, including minimal period, aperiodicity, and axis-aligned periodicity. Additionally it includes new work, including: a proof that a tiling can be periodic...
Explainable Artificial Intelligence (XAI) systems aim to improve users’ understanding of AI but rarely consider the inclusivity aspects of XAI. Without inclusive approaches, improving explanations might not work well for everyone. This study investigates leveraging users’ diverse problem-solving styles as an inclusive strategy to fix an XAI prototype, with the...
We present student perceptions of a new first-year engineering programming class that was designed by informed research practices. While the College of Engineering at Oregon State University saw a lot of major switching in the first year, there were not many students switching into computer science (CS). This could have...
The use of genetic algorithms to compose music and generate sounds is an area of interest in the artificial intelligence field. Music and instrument sounds have known rules and structures that can be followed which make them well-suited for genetic algorithms. However, genetic algorithms still struggle to generate sounds comparable...
Over 37,000 people die each year in automobile accidents, with many of these fatalities resulting from collisions with emergency vehicles. The rise of autonomous cars creates the need for an accurate and failsafe method of detecting and responding to emergency vehicles safely and on time. This thesis investigates the ability...
Social media platforms use many techniques to engage users' attention with their platforms, including notifications, popups, and gamification elements. The impact of social media on physical and mental health has been studied, but limited publicly available research exists on how social media users can be helped to disengage from these...
Autonomous robotic agents are on their way to becoming in-home personal assistants, construction assistants, and warehouse workers. The degree of autonomy of such systems is reflected by the manner in which we specify goals to them; the abstraction of low-level commands to high-level goals goes hand-in-hand with increased autonomy. In...
Learning to recognize objects is a fundamental and essential step in human perception and understanding of the world. Accordingly, research of object discovery across diverse modalities plays a pivotal role in the context of computer vision. This field not only contributes significantly to enhancing our understanding of visual information but...
This study investigates the evaluation of Return on Investment (ROI) in education from the perspective of high school students, introducing a theoretical model that encompasses both financial and non-financial aspects, with a primary focus on the unique insights provided by high school students. Drawing from a literature review and survey-based...
This paper contributes to the ongoing discussion on the impacts of nuclear energy on the economy and energy security of select European countries. While previous literature has identified a connection between nuclear energy and economic growth, this study focuses on assessing the comparative effects of nuclear energy, measured by operable...
This thesis presents innovative pedagogical approaches to teach fundamental Computer Science (CS) concepts, such as abstraction, representation, algorithms, and computation utilizing manipulatives, which are physical objects that students interact with to teach or reinforce a concept. Teaching and learning with manipulatives has a long history in science and mathematics education,...
In this thesis, we propose a systematic code for correcting t = 1 insertion/deletion errors of the character ”0” that can occur between any two consecutive 1’s in a binary string. The code requires balanced input strings, where each word of length n contains ⌈n/2⌉ 0’s and ⌊n/2⌋ 1’s. This...
SpotFinder is the mobile frontend of a parking system that helps drivers find a parking spot on campus. (The backend piece of the parking system was developed by others in the lab as part of a previous project.) Finding parking can be viewed as both a search problem and a...
Emerging research shows that individual differences in how people use technology sometimes cluster by socioeconomic status (SES) and that when technology is not socioeconomically inclusive, low-SES individuals may abandon it. To understand how to improve technology’s SES-inclusivity, we present a multi-phase case study on SocioEconomicMag (SESMag), an emerging inspection method...
A secret sharing scheme allows a dealer to distribute a secret with a set of parties, such that only a certain subset of parties can collaborate and learn the shared secret. Traditional secret sharing schemes have been used as building blocks in various subdomains of cryptography. Recently, two new extensions...
One of the pervasive problems arising in our modern, digital world surrounds data breaches where an adversary, through zero-day exploitations, phishing, or old-fashioned social engineering attacks, gains access to a service’s data stores. Our society increasingly relies on these cloud-based services for everything from our taxes to personal communication. As...
The Pacific Islander diaspora in the Pacific Northwest United States is a unique community characterized by diverse cultures, experiences, and motivations for migration. This study aimed to explore the narratives of individuals from different Pacific Islander backgrounds residing in Oregon, shedding light on their reasons for migration and the impact...
Using supervised machine learning (ML) to train a computer vision model typically requires human annotators to label objects in images and video. Given a large training dataset, this can be labor intensive, presenting a significant bottleneck in the model-development process. LabelFlicks is an open-source desktop application that aims to address...
While digital inclusivity researchers and software practitioners have been trying to address exclusion biases in Windows, Icons, Menus, and Pointers (WIMP) user interfaces (UIs) for a long time, little has been done to investigate if and how inclusive software design and its methods that have been devised for WIMP UIs...
Over time, Open Source Software (OSS) has become indispensable in the creation and upkeep of software products, serving as the fundamental building block for widely used solutions in our daily lives, including applications that enable communication, entertainment, and productivity. A sustainable OSS ecosystem is one that attracts and retains a...
In an increasingly computation-driven world, algorithms and mathematical models significantly impact decision making across various fields. To foster trust and understanding, it is crucial to provide users with clear and concise explanations of the reasoning behind the results produced by computational tools, especially when recommendations appear counterintuitive. Legal frameworks in...
In the ever-evolving field of computer science (CS) education, the significance of teachers and their backgrounds have often been overshadowed by the predominant focus on students. Teachers in the K-12 often lack the necessary expertise and have limited support provided by existing CS-based curricula. While research on CS education effectiveness...
The understanding of Discipline-Specific Language is an important competency for students of any field to begin mastering early in their studies, since it serves as a prerequisite for both the analysis of expert text and precise communication. Therefore, an introductory curriculum should pay careful attention to how it incorporates, defines,...
Voltage fault injection is a technique to disrupt power supply, such that the data or instruction flow in a microcontroller can be modified. Recently, a new class of voltage glitches was introduced termed arbitrary wave voltage glitches. Despite its demonstrated success in practical studies it comes with additional challenges, such...
This dissertation delves into understanding, characterizing, and addressing dataset shift in deep learning, a pervasive issue for deployed machine learning systems. Integral aspects of the problem are examined: We start with the use of counterfactual explanations in order to characterize the behavior of deep reinforcement learning agents in visual input...
Compactness in deep learning can be critical to a model’s viability in low-resource applications, and a common approach to extreme model compression is quantization. We consider Iterative Product Quantization (iPQ) with Quant-Noise [Fan et al., 2020] to be state-of-the-art in this area, but this quantization framework suffers from preventable inference...
Secure Computation is a powerful tool that enables a set of parties to jointly compute any function over their private inputs, without a trusted third party. Private Set Intersection is a specific case of two-party Secure Computation, where Alice (with private set X) and Bob (with private set Y) specifically...
Intuitively, it seems as though natural language processing tasks might benefit from explicit representations of the syntactic and semantic properties of text. Ontonotes is a dataset which attempts to annotate texts, to represent as much as possible of the meaning of the text explicitly within the annotation. Many tools exist...
Simulation has provided much design inspiration for the field of robotics. While many astute ideas can be computationally formulated, there are some good structures in animals that people call “biologically-inspired”. Many robots are designed based on natural creatures such as crabs, spiders, etc. Before we can take full advantage of...
Ornithology is an exciting field with novel research emerging everyday. Researchers in bioacoustics often spend hours within the wilderness recording bird calls to analyze later in their lab. The burden of sifting through hours of audio recordings from the field continues to remain a time-consuming and manual task, despite the...
The advancement of artificial intelligence (AI) has led to transformative developments across multiple sectors, fostering innovation and redefining our interactions with technology. As AI matures and becomes integrated into society, it offers numerous opportunities to address global challenges and revolutionize a wide array of human endeavors. These advances are driven...
The types and rates of label noise in real-world data sets present a challenge to machine learning projects. In this thesis, we propose a novel approach to address this issue. Our method combines a noise modelling technique for correcting label noise across the entire data set with a robust loss...
Forests are important to Oregon for their beauty as well as economic value, and Douglas fir trees are among the most common and important in the state. Managing and monitoring Oregon’s forests is imperative to ensure they can remain healthy and productive. One tool that helps forest scientists to understand...
Users curate music playlists based on emotion to focus or relax, so streaming services often create playlists of songs to aid this process. Prior research focuses on generating playlists of a single mood or genre, although a few studies work to construct automatic playlists that transition between the genres of...
We construct a website to explain how Gaussian mixture models can be optimized using the expectation maximization algorithm. Previous free, online material on this process has been extremely limited. All sources surveyed failed to entirely describe our identified criteria for an in-depth description and useful visualizations. After surveying a variety...
We present a tool that converts any image into a painterly rendered one, or one that looks as though it was hand-painted. To do this, we implemented the Sobel filter to calculate the edge field that is used to create streamlines, which serve as the foundation for brush strokes. We...
Cryptographic systems are used for secure communications in the government, in industry, and by individuals. Many cryptographic systems base their security on our inability to factor quickly. For this reason, in the last few decades several fast factoring algorithms have been developed. The Quadratic Sieve is one of the best...
With the strong shift toward network-centric cluster-computing workload management has become increasingly important in both industrial and academic environments. To fully harness the distributed computing resources of the 32 PC's in our department, I developed a workload monitoring system together with a few utilities for users to submit either sequential...
A video server is the multimedia equivalent of a data file server. As video goes digital video servers that support digital media are required for production and broadcasting in television companies. Grass Valley Group provides comprehensive digital video solutions through a range of video servers called Profiles.
The Profile Media...
The purpose of this paper is to discuss some of the theory of Boolean matrices and apply this theory to construct contact networks by using algebraic methods.
The first section of this paper (Chapter I to III) describes Boolean algebra and its properties, the theory of Boolean matrices, and the...
The general problem of classroom scheduling is well known to be NP-complete. A typical classroom scheduling problem is that of assigning students to a limited number of pieces of laboratory equipment. Frequently several identical pieces of equipment are available only at fixed hours and have limited access due to physical...
The purpose of this project is to study the benefit at large parking lots having shuttle busses by providing a system that dynamically routes a shuttle. The shuttle route will be set by the placement of the travelers returning from the terminal. A parking space is assigned to the incoming...
The problem addressed in this paper is that of usability of the Petri Net Editor used to create applications in the Objex framework. This editor puts a lot of burden on the user, in that the user needs to remember all the GUI resources previously created for the application, has...
Interoperability is the ability to enable different systems to work together and exchange data. Interoperability between different systems is achieved by using common standards and specifications. This paper talks about our research work on interoperability in Calendaring and Scheduling. There are many calendaring and scheduling software products on the market...
Caesar is an interactive graphic editor that is used to generate layouts for VLSI circuits. It runs on a VAX-11 /780 under the UNIX operating system with Berkeley extensions. Caesar has a unique and simple user interface. Phled is an enhanced version of Caesar that runs on a M68000-based engineering...
Current approaches to presentation of mathematics (on paper or in electronic format have usability drawbacks that make learning and appreciation of mathematics challenging and often frustrating. In a framework of a big research project of identifying new approaches to communicating mathematical ideas in a highly usable and effective manner, we...
A structural active-object systems (SAOS) is a, transition-based object-oriented system consisting of a collection of interacting structural active objects (SAOs), which can be structurally and hierarchically composed from their component SAOs. The behaviors of SAOs are determined by the transition statements provided in their class definitions. Various concurrent systems such...
Real time delivery of products is the context of stochastic demands and multiple vehicles is a difficult problem as it requires the joint investigation of the problems in inventory control and vehicle routing. We model this problem in the framework of Average reward Reinforcement Learning (ARL) and present experimental results...
Since its introduction in 1995 by Sun Microsystems, the Java programming language has been widely accepted by the software development community. Besides being a natural fit for Internet and World Wide Web (WWW) based applications, Java is also being used in other diverse application areas due to its simplicity, reduced...
Structure Query Language (SQL) is widely used to access data stored in relational database systems. Although a powerful and flexible language, SQL can also be complex and hard to learn. For most new SQL users, it's easy to write SQL statement by following SQL grammar and syntax rules, but it's...
Deep learning is now being utilized widely in applications where sensitive data is being used for model training, for example, in health care. In this scenario, any data leakage will cause privacy concerns to whose data records are used to train the model. An attacker can actively cause privacy leakage...
University Honors Program Senior Project.
Many times the study of the behavior of an algorithm can be inhibited by the inability to actually see exactly what the algorithm does. Static diagrams and verbal descriptions are often not enough to provide real insight into the behavior of an algorithm. It would...
Transmit beamforming is an important technique employed to improve efficiency and signal quality in wireless communication systems by steering signals towards their in- tended users. It often arises jointly with the antenna selection problem due to various reasons, such as limited number of radio frequency (RF) chains and energy/resource effi-...
Visualization and simulation software serves an important role in education, especially in the education of abstract topics. The field of computational theory, and specifically the topics of formal languages and finite automata are well suited to visualization. When done properly, this improves the learning experience for both students and educators....
The major obstacle to widespread parallel programming of multiprocessors is the lack of a convenient parallel programming system. PPSE (Parallel Programming Support Environment) is a unified approach to parallel programming. Parallax is developed as a component of PPSE based on ELGDF which is a graphical language for designing parallel programs....
CREEDA (Crop Rotation Economic and Environmental Impact Decision Aid) is a Windows application for assessing economic and environmental impacts of agricultural activities. In implementing it, we extended the ProCosts database and incorporated the RUSLE (Revised Universal Soil-Loss Equation) application and the SCI (Soil Conditioning Index) application as COM components. ProCosts,...
Existing graphics systems are too large for students to study in an introductory computer graphics course. We have implemented a lightweight, object-oriented graphics system called OGS for instruction. OGS is written in Java. It demonstrates how a graphics system is implemented from scratch and is intended to help students understand...
This paper describes an investigation of a matrix algebraic method to determine isomorphism in pairs of undirected graphs. The method is described in some detail. The theoretical as well as the practical difficulties are given. It is shown that the method works for some cases. When the adjacency matrix of...
We present an extended mapping in the Hybrid Uncertainty Manager so that all the components of an influence diagram can be represented. This will allow us to perform decision analysis on a decision problem. Specifically, a representation for decision nodes, value node, and informational arcs will be given. With these...
In this paper, we describe a software mechanism, a software channel, that allows a group of distributed objects to communicate with each other automatically once they are connected to it. Software channels and predesigned distributed objects that are connected to them encapsulate the communication protocol and the network topology to...
A Kalman filter was developed to recover information on short period variations of ocean circulation from the satellite altimeter signals for the North Pacific Ocean. The ocean circulation at each grid point is specified by three variables: sea level height h, zonal velocity u, and meridional velocity v. In our...
A timing attack on a cryptosystem allows the attacker to deduce the secret key information based on the timing differences with respect to different inputs given to an encryption or decryption algorithm. Cryptosystems can take variable amounts of time to process due to performance optimizations in software, branching or conditional...
This project is an interactive environment which allows the user to explore various sound generation techniques. The three methods of sound generation used are (1) FM synthesis, (2) Additive synthesis, and (3) Karplus/Strong synthesis of plucked strings. The project also provides the capability to display the generated sound waveforms and...
The SAOS Road Network Simulator (SARNS) is a graphical simulation program for transportation planning, implemented using the structural active-object system (SAOS) approach. A SAOS is an object-oriented concurrent system that consists of a collection of interacting structural active objects (SAOs), whose behaviors are determined by transition statements provided in their...
This paper describes the design and implementation of a graphical user interface for construction and evaluation of influence diagrams. Specifically, this paper documents the representation, display and mouse sensitivity of an influence diagram, and the selection facility subsystem. The interface is designed to communicate with the user by a mouse...
In this project, we have investigated three different techniques for plagiarism detection and have compared its effectiveness against that of an unaided human grader. The techniques investigated were word frequency analysis, sentence inclusion analysis and sub string inclusion analysis. We found that a combination of word frequency analysis and sub...
We have developed a framework for Web-based GIS/database applications which allow users to insert, update, delete, and query data with a map interface displayed by Web browsers. The framework was designed so that a Web-based GIS application that uses ArcIMS as a map server can be easily created, customized, and...
Visualization is a useful method to teach classes in algorithms and data structures. Many animation systems of algorithms and data structures have been implemented. In these systems, students can set initial conditions, run algorithms and view the result graphically. In this project, a small visualization tool library is implemented using...
Web-Site Generator 3 (WebSiteGen3) is a rapid application development (RAD) tool that generates ASP.NET forms to insert, query, update and delete data stored in the user tables in a SQL Server 2000 database. WebSiteGen3 uses a graphical user interface to show the user tables in a hierarchical tree based on...
Satellite data ingestion tool is an automated database application for processing and archiving the ocean and land data that is broadcasted by a remote sensing satellite. This Ingestion system has a two-tier architecture, with data processing algorithm forming the first tier and the database server forming the second tier. The...
This document describes the need for, and design of, diagnostic software that provides circuit verification, fault isolation, and troubleshooting aids. The difference between verification software and true diagnostic software is explained. A modular design of diagnostic software is proposed, consisting of a series of 3-part tests, a test manager, results...
The World Trade Center disaster brought into focus, tragically, the need for well-designed evacuation systems in modem buildings. Today, designing an efficient evacuation system has become an integral part of designing large buildings. Simulation software enables an evacuation system to be evaluated. Modern day buildings, whether airports, auditoriums, public office...
A cluster of computers can be used to render large amounts of data at very high resolutions. One application of clusters is scientific visualization, which often involves the display of large data sets. This paper describes a prototype system that allows oceanographers to interactively view oceanographic data using a cluster...
Generative programming is a paradigm that seeks to automate the manufacture of software products the same way other industries automated the manufacture of consumer, electric, and mechanical products. I examine how meta-programming fits into the context of generative programming and, along the way, expose theoretic and taxonomic deficiencies. In some...
Interconnection Networks have been used as a high performance communication fabric in parallel processor architectures. Parallel processors built using off-the-shelf components, called clusters, are becoming increasingly attractive because of their high performance to cost ratio over parallel computers.
Many web servers and database servers make efficient use of clustering from...
Modern cryptanalysis is generally based on the mathematical theory. However, side-channel analysis has become increasingly popular recently. The benefit of side-channel cryptanalysis is due to the fact that performers can mount attacks with low costs in terms of time and equipment and are highly successful in extracting useful results. The...
Analysis of programs forms an important activity in the field of software engineering. It is necessary to help understand the code, which facilitates comprehensive testing, maintenance and optimization of code. Aristotle is a tool for analyzing programs written in C. We have designed a system on similar lines for Java...
WEPP (Water Erosion Prediction Project) is a stand-alone Windows application for predicting water erosion from overland flow on a hillslope. This application was developed by the National Soil Erosion Research Laboratory (NSERL). To make the WEPP application more accessible and easy to use, we created a web version of WEPP,...
In this project we examine the features of object oriented programming languages that make them most likely languages of choice for implementing simulations. Three simulations of a bank, hospital, and livestock farm scenarios were implemented in the language C++ in order to demonstrate how Object-Oriented languages are used in constructing...
In this paper, we present two systolic designs of a chip that can be used to perform Modular Multiplication. The time taken by these two designs is 5n and 3n respectively, where n is the number of digits. These designs are based on Montgomery's redc algorithm. We also present an...
Exception handling is a general purpose tool found in many modern programming language, but most work to date is based on textual languages. We present an approach to exception handling in a new context, the visual programming language Forms/3. The visual nature of Forms/3 supports an effective approach to exception...
A problem with a number of available parallel programming tools proposed and implemented by researchers is that there has been little consideration of the impact of the user interface on users outside the field of computer science.
In this paper we propose and implement Banger, an extension to the Parallel...
This project aims at building a Java application and a Java applet that would simulate a Stern-Gerlach laboratory in Quantum Mechanics. The project provides a tool for allowing the student to quickly design and run on the computer screen a number of experiments involving spin systems. This application could be...
Spreadsheet languages are widely used by end users for many different purposes. Previous research shows that spreadsheets often contain faults. To help end users test their spreadsheets, in previous research, a testing methodology for spreadsheets has been developed. Th.is methodology is supported by an automatic test case generation (ATCG) methodology....
This report describes "VIGRAM" (Visual Programming) which is a program understanding and complexity metric analysis tool for Pascal programs. VIGRAM is implemented on the Macintosh as one part of the "O.S.U." (Qregon Speedcode Universe) project. With VIGRAM, the source code of a Pascal procedure can be displayed as a visual...
Monitoring the performance of electrical utility assets is a critical activity for power companies. Gas chromatography has long been established as the analytical technique of choice for assessment of transformer fault conditions by detection of the presence of key fault gases through analysis of transformer oil. Chromatography is one of...
'Search engine for a book library section' was developed for the Philosophy department. This Search Engine is a user interface application used for the purpose of searching for words or phrases as the need may be from a directory of books in a section of the Philosophy department library. The...
I present a new heuristic search approach to compute approximate answers for the probability query in belief nets. This approach can compute the 'best' bounds for a query in a period of any given time (if time permitted, it will get an exact value). It inherits the essence of Symbolic...
This paper discusses Java Bytecode Obfuscation techniques that make the reverse engineering task more difficult. This paper is structured as follows: Java virtual machine and Java language specifications are discussed first. Then the paper talks about different techniques for protecting software and then details one promising approach named Obfuscation. The...