Graphical user interface (GUI) applications based on object-oriented design are difficult to build without a supportive tool to graphically visualize the structure of the entire application. As an application becomes larger and more complex, it becomes harder to visualize its class hierarchy. Several systems, such as Smalltalk, MacApp, THINK C...
Monte-Carlo Tree Search (MCTS) is an online-planning algorithm for decision-theoretic planning in domains with stochastic and combinatorial structure. The general applicability of MCTS makes it an ideal first choice to investigate when developing planners for complex applications requiring automated control and planning. The first contribution of this thesis is to...
The visual programming language Forms/3 currently uses a graphical user interface implemented in Garnet. Garnet was developed by the User Interface Software Group in the Human Computer Interaction Institute at Carnegie Mellon University, but is no longer supported. This paper presents an implementation of a user interface for Forms/3 written...
Multiparadigm programming languages are a recent development in the realm of programming languages. A multiparadigm programming language allows the use of multiple, differing programming paradigms without departing from a single, unified linguistic framework. Multiparadigm programming languages are claimed to have benefits to both pedagogy and complex application creation. The beneficial...
Continuous Improvement (CI) of academic computing programs is a main requirement of accreditation. Academic computing programs must have a well-documented CI plan in order to be granted accreditation. Based on the existing literature, we developed a comprehensive CI (or 360-CI) model consisting of 8 components: course, curriculum, administration, faculty, research,...
How can software practitioners assess whether their software supports diverse users? Although there are empirical processes that can be used to find “inclusivity bugs” piecemeal, what is often needed is a systematic inspection method to assess software’s support for diverse populations. To help fill this gap, this thesis introduces InclusiveMag,...
Applications supporting a graphical user interface (GUI) are difficult to write. While existing tools can accelerate software development, they suffer from a number of problems that limit their helpfulness. They offer too little functionality, and support only a small part of the GUI software development task. They lack architectural models...
Ecological domains seeking to understand the environment and the behavior of species have received little attention in machine learning (ML), despite the fact that environmental changes have a significant impact on humans as well as ecosystems. Some ecological problems can be formulated similarly to other common ML applications, but there...
Many parallel machines, both commercial and experimental, have been/are being designed with toroidal interconnection networks. For a given number of nodes, the torus has a relatively larger diameter, but better cost/performance tradeoffs, such as higher channel bandwidth, and lower node degree, when compared to the hypercube. Thus, the torus is...
RNAs play important roles in multiple cellular processes, and many of their functions rely on folding to specific structures. To maintain their functions, secondary structures of RNA homologs are conserved across evolution. These conserved structures provide critical targets for diagnostics and therapeutics. Thus, there is a need for developing fast...