Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 30 of 39

Full-Text Articles in Physical Sciences and Mathematics

Virtual Field Environments Capstone Software Review, Ashton Sawyer Jun 2024

Virtual Field Environments Capstone Software Review, Ashton Sawyer

University Honors Theses

This is a review of the Virtual Field Environments computer science capstone project, sponsored by geology professor Rick Hugo. The tool aims to create and render VFEs, interactable 360° environments hosted on the web that are used as virtual field trips for K-12 students. This essay discusses the development process, including understanding requirements, tool and technology selection, problem-solving, and decision-making strategies. It also highlights the differences between the capstone and the other core computer science courses, and how those differences help to prepare students for the workforce. The project was completed over the course of twenty weeks by a team …


Job Management Portal Software Review, Ruchir Elukurthy Jun 2023

Job Management Portal Software Review, Ruchir Elukurthy

University Honors Theses

This essay provides an overview of a computer science capstone project focused on developing a website for Abilities At Work, a non-profit organization. The website aims to assist employment specialists in managing clients' information and tracking their job application in finding meaningful employment. The essay highlights the various stages of the project, understanding requirements, selecting tools and technologies, creating an application architecture, and writing code. Also, this essay focuses on the challenges encountered during the project, along with the valuable lessons learned. This essay emphasizes how the project closely resembles real-world software development, offering insights for prospective students and professionals. …


National Climate Data Graphical Plotting Software Review, Melissa Barnes Jun 2022

National Climate Data Graphical Plotting Software Review, Melissa Barnes

University Honors Theses

This is a review of an undergraduate Computer Science Capstone project. The paper discusses the development process, what software tools were used, the challenges faced during the development process, and what the software does. The software described in this paper is a python program that utilizes United States county-scoped climate and drought data from the National Climate Data Center to create visualizations and mathematical calculations. The software has an interactive user interface that displays various graphs, heat maps and calculated values. Elevation and population data estimates for populated areas in most counties is also provided. Users may select any set …


Classifying Dead Code In Software Development, Arman Alavizadeh Mar 2022

Classifying Dead Code In Software Development, Arman Alavizadeh

University Honors Theses

Dead code pervades as an issue in the world of software development as a source of many famous software disasters such as the ARIANE 5 rocket failure and chemical bank withdrawal error. Defining dead code on narrow levels of granularity has not been fully explored, yet is crucial to better our understanding of dead code. Here we will be starting a discussion on how to approach classifying dead code via comparing dead code research specific to an industry segment. Research will be compared primarily by methodology and limitations. Dead code subtype classifications are gleaned from research comparisons and can serve …


Rotten Green Tests In Java, Pharo And Python, Vincent Aranega, Julien Delplanque, Matias Martinez, Andrew P. Black, Stéphane Ducasse, Anne Etien, Christopher Fuhrman, Guillermo Polito Sep 2021

Rotten Green Tests In Java, Pharo And Python, Vincent Aranega, Julien Delplanque, Matias Martinez, Andrew P. Black, Stéphane Ducasse, Anne Etien, Christopher Fuhrman, Guillermo Polito

Computer Science Faculty Publications and Presentations

Rotten Green Tests are tests that pass, but not because the assertions they contain are true: a rotten test passes because some or all of its assertions are not actually executed. The presence of a rotten green test is a test smell, and a bad one, because the existence of a test gives us false confidence that the code under test is valid, when in fact that code may not have been tested at all. This article reports on an empirical evaluation of the tests in a corpus of projects found in the wild. We selected approximately one hundred mature …


Technological Evolution In Software Engineering, Cody Miller Apr 2018

Technological Evolution In Software Engineering, Cody Miller

Engineering and Technology Management Student Projects

In all software development processes, the software must evolve in response to its environment or user needs to maintain satisfactory performance. If software doesn’t support change, it gradually becomes useless. With many organizations today, being software-centric organizations, this has huge implications for their business: evolve your software, or risk your software becoming gradually useless, and therefore, your entire business.

Technology Evolution is a highly relevant subject, Intel’s business model for the last 50 years, has been that of Moore’s Law, a hardware centric Technology Evolution model. As a Software Engineer at Intel, our business group faces a similar issue, we …


Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones Jan 2017

Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones

Computer Science Faculty Publications and Presentations

This article is an apologia for the design of inheritance in the Grace educational programming language: it explains how the design of Grace’s inheritance draws from inheritance mechanisms in predecessor languages, and defends that design as the best of the available alternatives. For simplicity, Grace objects are generated from object constructors, like those of Emerald, Lua, and Javascript; for familiarity, the language also provides classes and inheritance, like Simula, Smalltalk and Java. The design question we address is whether or not object constructors can provide an inheritance semantics similar to classes.


Interactive Ambient Visualizations For Soft Advice, Emerson Murphy-Hill, Titus Barik, Andrew P. Black Jan 2013

Interactive Ambient Visualizations For Soft Advice, Emerson Murphy-Hill, Titus Barik, Andrew P. Black

Computer Science Faculty Publications and Presentations

Some software packages offer the user soft advice: recommendations that are intended to help the user create high quality artifacts, but which may turn out to be bad advice. It is left to the user to determine whether the soft advice really will improve quality, and to decide whether or not to adopt it. Visualizations can help the user in making this decision, but we believe that conventional visualizations are less than ideal. In this paper, we describe an interactive ambient visualization to help users identify, understand and interpret soft advice.

Our visualization was developed to help programmers interpret code …


The Grace Programming Language Draft Specification Version 0.3.1261, Andrew P. Black, Kim B. Bruce, James Noble Jan 2013

The Grace Programming Language Draft Specification Version 0.3.1261, Andrew P. Black, Kim B. Bruce, James Noble

Computer Science Faculty Publications and Presentations

This is a specification of the Grace Programming Language. This specification is notably incomplete, and everything is subject to change.


Haskell For The Cloud, Andrew P. Black Jan 2011

Haskell For The Cloud, Andrew P. Black

Computer Science Faculty Publications and Presentations

We present Cloud Haskell, a domain specific language for developing programs for a distributed-memory computing environment. Implemented as a shallow embedding in Haskell, it provides a message-passing communication model, inspired by Erlang, without introducing incompatibility with Haskell's established sharedmemory concurrency. A key contribution is a method for serializing function closures for transmission across the network. Cloud Haskell has been implemented; we present example code and some preliminary performance measurements.


Squeak By Example, Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker Jan 2009

Squeak By Example, Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker

Computer Science Faculty Publications and Presentations

Squeak is a modern open-source development environment for the classic Smalltalk-80 programming language. This book, intended for both students and developers, will guide you gently through the language and tools by means of a series of examples and exercises.

Additional material is available from the book's web page at SqueakByExample.org.


Irrelevance, Polymorphism, And Erasure In Type Theory, Richard Nathan Mishra-Linger Nov 2008

Irrelevance, Polymorphism, And Erasure In Type Theory, Richard Nathan Mishra-Linger

Dissertations and Theses

Dependent type theory is a proven technology for verified functional programming in which programs and their correctness proofs may be developed using the same rules in a single formal system. In practice, large portions of programs developed in this way have no computational relevance to the ultimate result of the program and should therefore be removed prior to program execution. In previous work on identifying and removing irrelevant portions of programs, computational irrelevance is usually treated as an intrinsic property of program expressions. We find that such an approach forces programmers to maintain two copies of commonly used datatypes: a …


A Framework For Relationship Pattern Languages, Sudarshan Murthy, David Maier Feb 2008

A Framework For Relationship Pattern Languages, Sudarshan Murthy, David Maier

Computer Science Faculty Publications and Presentations

A relationship pattern is an abstraction of a recurring need when establishing relationships among information elements in specific contexts. By developing or leveraging a relationship pattern, modelers can solve a class of problems once and describe many relationship types at once. We have developed a framework for specifying relationship patterns and pattern languages (sets of patterns) in both modeling-language-independent and modeling-language-specific ways. We describe this framework both informally and formally. We provide examples of some commonly observed relationship patterns and show how to use them in ER with the help of a relationship pattern language called Exemplar. We also provide …


Better Refactoring Tools For A Better Refactoring Strategy, Andrew P. Black Feb 2008

Better Refactoring Tools For A Better Refactoring Strategy, Andrew P. Black

Computer Science Faculty Publications and Presentations

Refactoring tools can improve the speed and accuracy with which we create and maintain software – but only if they are used. In practice, tools are not used as much as they could be; this seems to be because they do not align with the refactoring strategy preferred by the majority of programmers: floss refactoring. We propose five principles that characterize successful floss refactoring tools – principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design more usable tools.


Patterns Of Aspect-Oriented Design, Black P. Andrew, James Noble, David J. Pearce, Arno Scmidmeir Jan 2008

Patterns Of Aspect-Oriented Design, Black P. Andrew, James Noble, David J. Pearce, Arno Scmidmeir

Computer Science Faculty Publications and Presentations

Aspect-oriented programming languages are becoming commonplace, and programmers are accumulating experience in building and maintaining aspect-oriented systems. This paper addresses how the use of these languages affects program design: how aspect-oriented languages change the design space, which designs should be emulated and which avoided, and the strengths and weaknesses of particular kinds of design. We identify five patterns of aspect-oriented design: Spectator, Regulator, Patch, Extension, and Heterarchical Design. For each pattern, we describe the problem it solves, show how aspect-oriented language features are used in the pattern, give characteristic examples of the pattern’s use, and assess its benefits and liabilities. …


Investment Technology For Trading Business: Delineating Requirements, Processes, And Design Decisions For Order-Management Systems, Daniel L. Mark Jan 2008

Investment Technology For Trading Business: Delineating Requirements, Processes, And Design Decisions For Order-Management Systems, Daniel L. Mark

Regis University Student Publications (comprehensive collection)

The requirements and processes for building a robust order management system (OMS) for trading of investments within financial services firms are investigated and enumerated. Requirements and process documentation are not readily available to members of the general public because they are considered a source of competitive advantage in a highly profitable industry. This paper provides single source documentation of those requirements and processes in the context of the Vested OMS application, which was constructed specifically to meet industry needs in this area. This paper describes in detail the core functionality investment businesses currently demand and the software development techniques used …


Refactoring Tools: Fitness For Purpose, Emerson Murphy-Hill, Andrew P. Black Jan 2008

Refactoring Tools: Fitness For Purpose, Emerson Murphy-Hill, Andrew P. Black

Computer Science Faculty Publications and Presentations

Refactoring tools can improve the speed and accuracy with which we create and maintain software -- but only if they are used. In practice, tools are not used as much as they could be: this seems to be because sometimes they do not align with the refactoring tactic preferred by the majority of programmers, a tactic we call floss refactoring. We propose five principles that characterize successful floss refactoring tools -- principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.


Directflow: A Domain-Specific Language For Information-Flow Systems, Andrew P. Black, Chuan-Kai Lin Jan 2007

Directflow: A Domain-Specific Language For Information-Flow Systems, Andrew P. Black, Chuan-Kai Lin

Computer Science Faculty Publications and Presentations

Programs that process streams of information are commonly built by assembling reusable information-flow components. In some systems the components must be chosen from a pre-defined set of primitives; in others the programmer can create new custom components using a general-purpose programming language. Neither approach is ideal: restricting programmers to a set of primitive components limits the expressivity of the system, while allowing programmers to define new components in a general-purpose language makes it difficult or impossible to reason about the composite system. We advocate defining information-flow components in a domain-specific language (DSL) that enables us to infer the properties of …


Why Don’T People Use Refactoring Tools?, Andrew P. Black, Emerson Murphy-Hill Jan 2007

Why Don’T People Use Refactoring Tools?, Andrew P. Black, Emerson Murphy-Hill

Computer Science Faculty Publications and Presentations

Tools that perform refactoring are currently under-utilized by programmers. As more advanced refactoring tools are designed, a great chasm widens between how the tools must be used and how programmers want to use them. In this position paper, we characterize the dominant process of refactoring, demonstrate that many research tools do not support this process, and initiate a call to action for designers of future refactoring tools.


A Pattern Language For Extensible Program Representation, Andrew P. Black, Daniel Vainsencher Oct 2006

A Pattern Language For Extensible Program Representation, Andrew P. Black, Daniel Vainsencher

Computer Science Faculty Publications and Presentations

For the last 15 years, implementors of multiple view programming environments have sought a single code model that would form a suitable basis for all of the program analyses and tools that might be applied to the code. They have been unsuccessful. The consequences are a tendency to build monolithic, single-purpose tools, each of which implements its own specialized analyses and optimized representation. This restricts the availability of the analyses, and also limits the reusability of the representation by other tools. Unintegrated tools also produce inconsistent views, which reduce the value of multiple views. This article describes a set of …


Java Synchronized Collaborative Multimedia Toolkit: A Collaborative Communication Tool, Rohit Chavan Jan 2004

Java Synchronized Collaborative Multimedia Toolkit: A Collaborative Communication Tool, Rohit Chavan

Theses Digitization Project

In this project a collaboration multimedia toolkit, JSCMT (Java Synchronized Collaborative Multimedia Toolkit) was developed which is intended to connect a group of people located in different geographical locations who are working on the same project.


Java/Xml-Based Trading Information Processing System For Produce Wholesale Market, Ching-Ling Yang Jan 2004

Java/Xml-Based Trading Information Processing System For Produce Wholesale Market, Ching-Ling Yang

Theses Digitization Project

The purpose of this project is to investigate the use of the emerging XML technologies to improve online Business to Business (B2B) supply chain processes.


Web Based Internship Management System: A Collaborative Coordinating Tool, Vishal Dharod Jan 2004

Web Based Internship Management System: A Collaborative Coordinating Tool, Vishal Dharod

Theses Digitization Project

The main purpose of this project is to provide an easy-to-use interface for students and faculty members to interact with each other during the course of a student's internship class.


Easy Net Admin: Inventory Tool For Network Administrators, Rohini Mopu Reddy Jan 2004

Easy Net Admin: Inventory Tool For Network Administrators, Rohini Mopu Reddy

Theses Digitization Project

The purpose of this project was to develop a tool / utility for network administrators to maintain information about all the systems operated by the College of Natural Sciences at California State University, San Bernardino.


A Browser For Incremental Programming, Andrew P. Black Sep 2003

A Browser For Incremental Programming, Andrew P. Black

Computer Science Faculty Publications and Presentations

Much of the elegance and power of Smalltalk comes from its programming environment and tools. First introduced more than 20 years ago, the Smalltalk browser enables programmers to “home in” on particular methods using a hierarchy of manually-defined classifications. By its nature, this classification scheme says a lot about the desired state of the code, but little about the actual state of the code as it is being developed. We have extended the Smalltalk browser with dynamically computed virtual categories that dramatically improve the browser’s support for incremental programming. We illustrate these improvements by example, and describe the algorithms used …


Prescription Express System, Chia-Yu Tsai Jan 2003

Prescription Express System, Chia-Yu Tsai

Theses Digitization Project

The Prescription Express System is a software program that was developed with express service of health care in mind. The purpose was to provide easy access for doctors to check on upcoming appointments with patients and send prescriptions via wireless network directly to the pharmacy to provide faster service.


Gscope: A Visualization Tool For Time-Sensitive Software, Ashvin Goel, Jonathan Walpole Jun 2002

Gscope: A Visualization Tool For Time-Sensitive Software, Ashvin Goel, Jonathan Walpole

Computer Science Faculty Publications and Presentations

This paper describes gscope, a visualization tool for time-sensitive applications. Gscope provides an oscilloscope-like interface that can be integrated with applications. It focuses on software visualization and is thus designed to handle various types of signal waveforms, periodic or event-driven, in single or multithreaded environments as well as local or distributed applications. Gscope helps in visually verifying system correctness and modifying system parameters and thus can complement standard debugging techniques and be used to build compelling software demos. Initial experiments with using gscope show that the library has low overhead.


The Development, Design, And Theory Of Educational Interactive Multimedia Software, William James Chapman Jan 2002

The Development, Design, And Theory Of Educational Interactive Multimedia Software, William James Chapman

Theses Digitization Project

This project provides teachers and students with background information regarding software design. Specifically it will focus on design theory including content, interface, graphics, animation, navigation, and audio issues which may arise during the design and construction of educational multimedia software. The design issues represented here are demonstrated in the software "You can make a difference ... Human Rights".


Meeting The Challenge Of Dynamic User Requirements Using Data-Driven Techniques On A 4gl-Database Environment, Christopher Bolan Jan 2001

Meeting The Challenge Of Dynamic User Requirements Using Data-Driven Techniques On A 4gl-Database Environment, Christopher Bolan

Theses : Honours

Accompanying the ever-growing reliance on computers within contemporary organisations, the task of software maintenance is, increasingly, becoming a resource burden. The author has identified that there is a need for proven techniques to allow the modelling of flexible/changing user requirement, to enable systems to cope with requirements creep without suffering major code change and associated down-time from rebuilds of the database. This study ascertains the applicability of extension to current data modelling techniques that allows innate flexibility within the data model. The extension of the data model is analysed for potential benefits in the provision of such a dynamic/flexible base …


Adap: A Component-Based Model Using Design Patterns With Applications In E-Commerce, Katrina Yun Ji Jan 2000

Adap: A Component-Based Model Using Design Patterns With Applications In E-Commerce, Katrina Yun Ji

Theses Digitization Project

No abstract provided.