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

Other Computer Sciences Commons

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

Articles 1 - 30 of 42

Full-Text Articles in Other Computer Sciences

The Design Of An Emerging/Multi-Paradigm Programming Languages Course, Saverio Perugini Aug 2019

The Design Of An Emerging/Multi-Paradigm Programming Languages Course, Saverio Perugini

Saverio Perugini

We present the design of a new special topics course, Emerging/Multi-paradigm Languages, on the recent trend toward more dynamic, multi-paradigm languages. To foster course adoption, we discuss the design of the course, which includes language presentations/papers and culminating, 􀏐inal projects/papers. The goal of this article is to inspire and facilitate course adoption.


Developing A Contemporary And Innovative Operating Systems Course, Saverio Perugini, David J. Wright Aug 2019

Developing A Contemporary And Innovative Operating Systems Course, Saverio Perugini, David J. Wright

Saverio Perugini

This birds-of-a-feather provides a discussion forum to foster innovation in teaching operating systems (os) at the undergraduate level. This birds-of-a-feather seeks to generate discussion and ideas around pedagogy for os and, in particular, how we might develop a contemporary and innovative model, in both content and delivery, for an os course—that plays a central role in a cs curriculum—and addresses significant issues of misalignment between existing os courses and employee professional skills and knowledge requirements. We would like to exchange ideas regarding a re-conceptualized course model of os curriculum and related pedagogy, especially in the areas of mobile OSs and …


An Interactive, Graphical Simulator For Teaching Operating Systems, Joshua W. Buck, Saverio Perugini Aug 2019

An Interactive, Graphical Simulator For Teaching Operating Systems, Joshua W. Buck, Saverio Perugini

Saverio Perugini

We demonstrate a graphical simulation tool for visually and interactively exploring the processing of a variety of events handled by an operating system when running a program. Our graphical simulator is available for use on the web by both instructors and students for purposes of pedagogy. Instructors can use it for live demonstrations of course concepts in class, while students can use it outside of class to explore the concepts. The graphical simulation tool is implemented using the React library for the fancy ui elements of the Node.js framework and is available as a web application at https://cpudemo.azurewebsites.net. The goals …


An Introduction To Declarative Programming In Clips And Prolog, Jack L. Watkin, Adam C. Volk, Saverio Perugini Aug 2019

An Introduction To Declarative Programming In Clips And Prolog, Jack L. Watkin, Adam C. Volk, Saverio Perugini

Saverio Perugini

We provide a brief introduction to CLIPS—a declarative/logic programming language for implementing expert systems—and PROLOG—a declarative/logic programming language based on first-order, predicate calculus. Unlike imperative languages in which the programmer specifies how to compute a solution to a problem, in a declarative language, the programmer specifies what they what to find, and the system uses a search strategy built into the language. We also briefly discuss applications of CLIPS and PROLOG.


Cse: U: Mixed-Initiative Personal Assistant Agents, Joshua W. Buck, Saverio Perugini, Tam Nguyen Nov 2018

Cse: U: Mixed-Initiative Personal Assistant Agents, Joshua W. Buck, Saverio Perugini, Tam Nguyen

Saverio Perugini

Specification and implementation of flexible human-computer dialogs is challenging because of the complexity involved in rendering the dialog responsive to a vast number of varied paths through which users might desire to complete the dialog. To address this problem, we developed a toolkit for modeling and implementing task-based, mixed-initiative dialogs based on metaphors from lambda calculus. Our toolkit can automatically operationalize a dialog that involves multiple prompts and/or sub-dialogs, given a high-level dialog specification of it. The use of natural language with the resulting dialogs makes the flexibility in communicating user utterances commensurate with that in dialog completion paths—an aspect …


Chameleon: A Customizable Language For Teaching Programming Languages, Saverio Perugini, Jack L. Watkin Oct 2018

Chameleon: A Customizable Language For Teaching Programming Languages, Saverio Perugini, Jack L. Watkin

Saverio Perugini

ChAmElEoN is a programming language for teaching students the concepts and implementation of computer languages. We describe its syntax and semantics, the educational aspects involved in the implementation of a variety of interpreters for it, its malleability, and student feedback to inspire its use for teaching languages.


Natural Language, Mixed-Initiative Personal Assistant Agents, Joshua W. Buck, Saverio Perugini, Tam W. Nguyen Oct 2018

Natural Language, Mixed-Initiative Personal Assistant Agents, Joshua W. Buck, Saverio Perugini, Tam W. Nguyen

Saverio Perugini

The increasing popularity and use of personal voice assistant technologies, such as Siri and Google Now, is driving and expanding progress toward the long-term and lofty goal of using artificial intelligence to build human-computer dialog systems capable of understanding natural language. While dialog-based systems such as Siri support utterances communicated through natural language, they are limited in the flexibility they afford to the user in interacting with the system and, thus, support primarily action-requesting and information-seeking tasks. Mixed-initiative interaction, on the other hand, is a flexible interaction technique where the user and the system act as equal participants in an …


An Application Of The Actor Model Of Concurrency In Python: A Euclidean Rhythm Music Sequencer, Daniel P. Prince, Saverio Perugini Oct 2018

An Application Of The Actor Model Of Concurrency In Python: A Euclidean Rhythm Music Sequencer, Daniel P. Prince, Saverio Perugini

Saverio Perugini

We present a real-time sequencer, implementing the Euclidean rhythm algorithm, for creative generation of drum sequences by musicians or producers. We use the Actor model of concurrency to simplify the communication required for interactivity and musical timing, and generator comprehensions and higher-order functions to simplify the implementation of the Euclidean rhythm algorithm. The resulting application sends Musical Instrument Digital Interface (MIDI) data interactively to another application for sound generation.


Developing A Contemporary Operating Systems Course, Saverio Perugini, David J. Wright Oct 2018

Developing A Contemporary Operating Systems Course, Saverio Perugini, David J. Wright

Saverio Perugini

The objective of this tutorial presentation is to foster innovation in the teaching of operating systems (os) at the undergraduate level as part of a three-year NSF-funded IUSE (Improving Undergraduate STEM Education) project titled “Engaged Student Learning: Reconceptualizing and Evaluating a Core Computer Science Course for Active Learning and STEM Student Success” (2017–2020).


Revisiting The Futamura Projections: A Diagrammatic Approach, Brandon Williams, Saverio Perugini Feb 2018

Revisiting The Futamura Projections: A Diagrammatic Approach, Brandon Williams, Saverio Perugini

Saverio Perugini

The advent of language implementation tools such as PyPy and Truffle/Graal have reinvigorated and broadened interest in topics related to automatic compiler generation and optimization. Given this broader interest, we revisit the Futamura Projections using a novel diagram scheme. Through these diagrams we emphasize the recurring patterns in the Futamura Projections while addressing their complexity and abstract nature. We anticipate that this approach will improve the accessibility of the Futamura Projections and help foster analysis of those new tools through the lens of partial evaluation.


Mixed-Initiative Personal Assistants, Joshua W. Buck, Saverio Perugini Dec 2016

Mixed-Initiative Personal Assistants, Joshua W. Buck, Saverio Perugini

Saverio Perugini

Specification and implementation of flexible human-computer dialogs is challenging because of the complexity involved in rendering the dialog responsive to a vast number of varied paths through which users might desire to complete the dialog. To address this problem, we developed a toolkit for modeling and implementing task-based, mixed-initiative dialogs based on metaphors from lambda calculus. Our toolkit can automatically operationalize a dialog that involves multiple prompts and/or sub-dialogs, given a high-level dialog specification of it. Our current research entails incorporating the use of natural language to make the flexibility in communicating user utterances commensurate with that in dialog completion …


A Language-Based Model For Specifying And Staging Mixed-Initiative Dialogs, Saverio Perugini, Joshua W. Buck Oct 2016

A Language-Based Model For Specifying And Staging Mixed-Initiative Dialogs, Saverio Perugini, Joshua W. Buck

Saverio Perugini

Specifying and implementing flexible human-computer dialogs, such as those used in kiosks, is complex because of the numerous and varied directions in which each user might steer a dialog. The objective of this research is to improve dialog specification and implementation. To do so we developed a model for specifying and staging mixed-initiative dialogs. The model involves a dialog authoring notation, based on concepts from programming languages, for specifying a variety of unsolicited reporting, mixed-initiative dialogs in a concise representation that serves as a design for dialog implementation. Guided by this foundation, we built a dialog staging engine which operationalizes …


Mining Mixed-Initiative Dialogs, Saverio Perugini Oct 2016

Mining Mixed-Initiative Dialogs, Saverio Perugini

Saverio Perugini

Human-computer dialogs are an important vehicle through which to produce a rich and compelling form of human-computer interaction. We view the specification of a human-computer dialog as a set of sequences of progressive interactions between a user and a computer system, and mine partially ordered sets, which correspond to mixing dialog initiative, embedded in these sets of sequences—a process we refer to as dialog mining—because partially ordered sets can be advantageously exploited to reduce the control complexity of a dialog implementation. Our mining losslessly compresses the specification of a dialog. We describe our mining algorithm and report the results of …


User Interface Design, Moritz Stefaner, Sebastien Ferre, Saverio Perugini, Jonathan Koren, Yi Zhang Apr 2016

User Interface Design, Moritz Stefaner, Sebastien Ferre, Saverio Perugini, Jonathan Koren, Yi Zhang

Saverio Perugini

As detailed in Chap. 1, system implementations for dynamic taxonomies and faceted search allow a wide range of query possibilities on the data. Only when these are made accessible by appropriate user interfaces, the resulting applications can support a variety of search, browsing and analysis tasks. User interface design in this area is confronted with specific challenges. This chapter presents an overview of both established and novel principles and solutions.


Program Transformations For Information Personalization, Saverio Perugini, Naren Ramakrishnan Apr 2016

Program Transformations For Information Personalization, Saverio Perugini, Naren Ramakrishnan

Saverio Perugini

Personalization constitutes the mechanisms necessary to automatically customize information content, structure, and presentation to the end user to reduce information overload. Unlike traditional approaches to personalization, the central theme of our approach is to model a website as a program and conduct website transformation for personalization by program transformation (e.g., partial evaluation, program slicing). The goal of this paper is study personalization through a program transformation lens and develop a formal model, based on program transformations, for personalized interaction with hierarchical hypermedia. The specific research issues addressed involve identifying and developing program representations and transformations suitable for classes of hierarchical …


A Tool For Staging Mixed-Initiative Dialogs, Joshua W. Buck, Saverio Perugini Apr 2016

A Tool For Staging Mixed-Initiative Dialogs, Joshua W. Buck, Saverio Perugini

Saverio Perugini

We discuss and demonstrate a tool for prototyping dialog-based systems that, given a high-level specification of a human-computer dialog, stages the dialog for interactive use. The tool enables a dialog designer to evaluate a variety of dialogs without having to program each individual dialog, and serves as a proof-of-concept for our approach to mixed-initiative dialog modeling and implementation from a programming language-based perspective.


An Immersive Telepresence System Using Rgb-D Sensors And Head-Mounted Display, Xinzhong Lu, Ju Shen, Saverio Perugini, Jianjun Yang Jan 2016

An Immersive Telepresence System Using Rgb-D Sensors And Head-Mounted Display, Xinzhong Lu, Ju Shen, Saverio Perugini, Jianjun Yang

Saverio Perugini

We present a tele-immersive system that enables people to interact with each other in a virtual world using body gestures in addition to verbal communication. Beyond the obvious applications, including general online conversations and gaming, we hypothesize that our proposed system would be particularly beneficial to education by offering rich visual contents and interactivity. One distinct feature is the integration of egocentric pose recognition that allows participants to use their gestures to demonstrate and manipulate virtual objects simultaneously. This functionality enables the instructor to effectively and efficiently explain and illustrate complex concepts or sophisticated problems in an intuitive manner. The …


Metalogic Notes, Saverio Perugini Jun 2015

Metalogic Notes, Saverio Perugini

Saverio Perugini

A collection of notes, formulas, theorems, postulates and terminology in symbolic logic, syntactic notions, semantic notions, linkages between syntax and semantics, soundness and completeness, quantified logic, first-order theories, Goedel's First Incompleteness Theorem and more.


Statistics Notes, Saverio Perugini Jun 2015

Statistics Notes, Saverio Perugini

Saverio Perugini

A collection of terms, definitions, formulas and explanations about statistics.


Recommender Systems Research: A Connection-Centric Survey, Saverio Perugini, Marcos André Gonçalves, Edward A. Fox Dec 2014

Recommender Systems Research: A Connection-Centric Survey, Saverio Perugini, Marcos André Gonçalves, Edward A. Fox

Saverio Perugini

Recommender systems attempt to reduce information overload and retain customers by selecting a subset of items from a universal set based on user preferences. While research in recommender systems grew out of information retrieval and filtering, the topic has steadily advanced into a legitimate and challenging research area of its own. Recommender systems have traditionally been studied from a content-based filtering vs. collaborative design perspective. Recommendations, however, are not delivered within a vacuum, but rather cast within an informal community of users and social context. Therefore, ultimately all recommender systems make connections among people and thus should be surveyed from …


Automatically Generating Interfaces For Personalized Interaction With Digital Libraries, Saverio Perugini, Naren Ramakrishnan, Edward A. Fox Dec 2014

Automatically Generating Interfaces For Personalized Interaction With Digital Libraries, Saverio Perugini, Naren Ramakrishnan, Edward A. Fox

Saverio Perugini

We present an approach to automatically generate interfaces supporting personalized interaction with digital libraries; these interfaces augment the user-DL dialog by empowering the user to (optionally) supply out-of-turn information during an interaction, flatten or restructure the dialog, and inquire about dialog options. Interfaces generated using this approach for CITIDEL are described.


Symbolic Links In The Open Directory Project, Saverio Perugini Dec 2014

Symbolic Links In The Open Directory Project, Saverio Perugini

Saverio Perugini

We present a study to develop an improved understanding of symbolic links in web directories. A symbolic link is a hyperlink that makes a directed connection from a web page along one path through a directory to a page along another path. While symbolic links are ubiquitous in web directories such as Yahoo!, they are under-studied, and as a result, their uses are poorly understood. A cursory analysis of symbolic links reveals multiple uses: to provide navigational shortcuts deeper into a directory, backlinks to more general categories, and multiclassification. We investigated these uses in the Open Directory Project (ODP), the …


Interacting With Web Hierarchies, Saverio Perugini, Naren Ramakrishnan Dec 2014

Interacting With Web Hierarchies, Saverio Perugini, Naren Ramakrishnan

Saverio Perugini

Web site interfaces are a particularly good fit for hierarchies in the broadest sense of that idea, i.e. a classification with multiple attributes, not necessarily a tree structure. Several adaptive interface designs are emerging that support flexible navigation orders, exposing and exploring dependencies, and procedural information-seeking tasks. This paper provides a context and vocabulary for thinking about hierarchical Web sites and their design. The paper identifies three features that interface to information hierarchies. These are flexible navigation orders, the ability to expose and explore dependencies, and support for procedural tasks. A few examples of these features are also provided


The Partial Evaluation Approach To Information Personalization, Naren Ramakrishnan, Saverio Perugini Dec 2014

The Partial Evaluation Approach To Information Personalization, Naren Ramakrishnan, Saverio Perugini

Saverio Perugini

Information personalization refers to the automatic adjustment of information content, structure, and presentation tailored to an individual user. By reducing information overload and customizing information access, personalization systems have emerged as an important segment of the Internet economy. This paper presents a systematic modeling methodology— PIPE (‘Personalization is Partial Evaluation’) — for personalization. Personalization systems are designed and implemented in PIPE by modeling an information-seeking interaction in a programmatic representation. The representation supports the description of information-seeking activities as partial information and their subsequent realization by partial evaluation, a technique for specializing programs. We describe the modeling methodology at a …


The Staging Transformation Approach To Mixing Initiative, Robert Capra, Michael Narayan, Saverio Perugini, Naren Ramakrishnan, Manuel A. Pérez-Quiñones Dec 2014

The Staging Transformation Approach To Mixing Initiative, Robert Capra, Michael Narayan, Saverio Perugini, Naren Ramakrishnan, Manuel A. Pérez-Quiñones

Saverio Perugini

Mixed-initiative interaction is an important facet of many conversational interfaces, flexible planning architectures, intelligent tutoring systems, and interactive information retrieval systems. Software systems for mixed-initiative interaction must enable us to both operationalize the mixing of initiative (i.e., support the creation of practical dialogs) and to reason in real-time about how a flexible mode of interaction can be supported (e.g., from a meta-dialog standpoint). In this paper, we present the staging transformation approach to mixing initiative, where a dialog script captures the structure of the dialog and dialog control processes are realized through generous use of program transformation techniques (e.g., partial …


A Study Of Out-Of-Turn Interaction In Menu-Based, Ivr, Voicemail Systems, Saverio Perugini, Taylor J. Anderson, William F. Moroney Dec 2014

A Study Of Out-Of-Turn Interaction In Menu-Based, Ivr, Voicemail Systems, Saverio Perugini, Taylor J. Anderson, William F. Moroney

Saverio Perugini

We present the first user study of out-of-turn interaction in menu-based, interactive voice-response systems. Out-ofturn interaction is a technique which empowers the user (unable to respond to the current prompt) to take the conversational initiative by supplying information that is currently unsolicited, but expected later in the dialog. The technique permits the user to circumvent any flows of navigation hardwired into the design and navigate the menus in a manner which reflects their model of the task. We conducted a laboratory experiment to measure the effect of the use of outof- turn interaction on user performance and preference in a …


Exploring Out-Of-Turn Interactions With Websites, Saverio Perugini, Naren Ramakrishnan, Manuel A. Pérez-Quiñones, Mary E. Pinney, Mary Beth Rosson Dec 2014

Exploring Out-Of-Turn Interactions With Websites, Saverio Perugini, Naren Ramakrishnan, Manuel A. Pérez-Quiñones, Mary E. Pinney, Mary Beth Rosson

Saverio Perugini

Hierarchies are ubiquitous on the web for structuring online catalogs and indexing multidimensional attributed data sets. They are a natural metaphor for information seeking if their levelwise structure mirrors the user's conception of the underlying domain. In other cases, they can be frustrating, especially if multiple drill‐downs are necessary to arrive at information of interest. To support a broad range of users, site designers often expose multiple faceted classifications or provide within‐page pruning mechanisms. We present a new technique, called out-of-turn interaction, that increases the richness of user interaction at hierarchical sites, without enumerating all possible completion paths in the …


Pointing Devices For Wearable Computers, Saverio Perugini, Andres A. Calvo Dec 2014

Pointing Devices For Wearable Computers, Saverio Perugini, Andres A. Calvo

Saverio Perugini

We present a survey of pointing devices for wearable computers, which are body-mounted devices that users can access at any time. Since traditional pointing devices (i.e., mouse, touchpad, and trackpoint) were designed to be used on a steady and flat surface, they are inappropriate for wearable computers. Just as the advent of laptops resulted in the development of the touchpad and trackpoint, the emergence of wearable computers is leading to the development of pointing devices designed for them. However, unlike laptops, since wearable computers are operated from different body positions under different environmental conditions for different uses, researchers have developed …


Personalizing The Gams Cross-Index, Saverio Perugini, Priya Lakshminarayanan, Naren Ramakrishnan Dec 2014

Personalizing The Gams Cross-Index, Saverio Perugini, Priya Lakshminarayanan, Naren Ramakrishnan

Saverio Perugini

The NIST Guide to Available Mathematical Software (GAMS) system at http://gams.nist .gov serves as the gateway to thousands of scientific codes and modules for numerical computation. We describe the PIPE personalization facility for GAMS, whereby content from the cross-index is specialized for a user desiring software recommendations for a specific problem instance. The key idea is to (i) mine structure, and (ii) exploit it in a programmatic manner to generate personalized web pages. Our approach supports both content-based and collaborative personalization and enables information integration from multiple (and complementary) web resources. We present case studies for the domain of linear, …


Information Assurance Through Binary Vulnerability Auditing, William B. Kimball, Saverio Perugini Dec 2014

Information Assurance Through Binary Vulnerability Auditing, William B. Kimball, Saverio Perugini

Saverio Perugini

The goal of this research is to develop improved methods of discovering vulnerabilities in software. A large volume of software, from the most frequently used programs on a desktop computer, such as web browsers, e-mail programs, and word processing applications, to mission-critical services for the space shuttle, is unintentionally vulnerable to attacks and thus insecure. By seeking to improve the identification of vulnerabilities in software, the security community can save the time and money necessary to restore compromised computer systems. In addition, this research is imperative to activities of national security such as counterterrorism. The current approach involves a systematic …