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

Physical Sciences and Mathematics Commons

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

Articles 1 - 11 of 11

Full-Text Articles in Physical Sciences and Mathematics

Unoapi: Balancing Performance, Portability, And Productivity (P3) In Hpc Education, Konstantin Laufer, George K. Thiruvathukal Nov 2022

Unoapi: Balancing Performance, Portability, And Productivity (P3) In Hpc Education, Konstantin Laufer, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

oneAPI is a major initiative by Intel aimed at making it easier to program heterogeneous architectures used in high-performance computing using a unified application programming interface (API). While raising the abstraction level via a unified API represents a promising step for the current generation of students and practitioners to embrace high- performance computing, we argue that a curriculum of well- developed software engineering methods and well-crafted exem- plars will be necessary to ensure interest by this audience and those who teach them. We aim to bridge the gap by developing a curriculum—codenamed UnoAPI—that takes a more holistic approach by looking …


Tests As Maintainable Assets Via Auto-Generated Spies: A Case Study Involving The Scala Collections Library's Iterator Trait, Konstantin Läufer, John O'Sullivan, George K. Thiruvathukal Jul 2019

Tests As Maintainable Assets Via Auto-Generated Spies: A Case Study Involving The Scala Collections Library's Iterator Trait, Konstantin Läufer, John O'Sullivan, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

In testing stateful abstractions, it is often necessary to record interactions, such as method invocations, and express assertions over these interactions. Following the Test Spy design pattern, we can reify such interactions programmatically through additional mutable state. Alternatively, a mocking framework, such as Mockito, can automatically generate test spies that allow us to record the interactions and express our expectations in a declarative domain-specific language. According to our study of the test code for Scala’s Iterator trait, the latter approach can lead to a significant reduction of test code complexity in terms of metrics such as code size (in some …


Teaching And Assessing Programming Fundamentals For Non Majors With Visual Programming, William L. Honig Jul 2013

Teaching And Assessing Programming Fundamentals For Non Majors With Visual Programming, William L. Honig

Computer Science: Faculty Publications and Other Works

Visual programming tools and mobile device applications are a natural tool to engage university students; but, are they effective in teaching quantitative thinking skills to non computer science majors? Answering this question can be based on careful assessment of the learning outcomes.

This paper reports the results from teaching over 100 students mobile app development with App Inventor in a university core course. Results were measured using an assessment process motivated by Bloom's Taxonomy that included student self assessment, ratings by instructors, and comparisons of the two results. The categories in the assessment were mapped to specific levels of skills …


Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal May 2013

Spring­11: Pdc In Cs1/2 And A Mobile/Cloud Intermediate Mobile/Cloud Intermediate Software Design Course, Joseph P. Kaylor, Konstantin Läufer, Chandra N. Sekharan, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

Recent changes in the environment of Loyola University Chicago’s Department of Computer Science include a better differentiation of our four undergraduate majors, growing interest in computing among science majors, and an increased demand for graduates with mobile and cloud skills. In our continued effort to incorporate parallel and distributed computing topics into the undergraduate curriculum, we are focusing on these three existing courses:

CS1: In response to a request from the physics department, we started to offer a CS1 section aimed at majors in physics and other hard sciences this spring semester. This section includes some material on numerical methods …


Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal May 2013

Network Technologies Used To Aggregate Environmental Data, Paul Stasiuk, Konstantin Läufer, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

The goal of the Loyola Weather Service (lws) project is to design and build a system of functioning environmental monitoring widgets that can intelligently and autonomously control the environment around them based on set thresholds and triggers. The widgets will also have the ability to aggregate their data and easily display this data in various ways: through a user interface in the room that the widget is placed, via a web application, and programmatically via a RESTful web service.


Building Capable, Energy-Efficient, Flexible Visualization And Sensing Clusters From Commodity Tablets, Thomas Delgado Dias, Xian Yan, Konstantin Läufer, George K. Thiruvathukal May 2013

Building Capable, Energy-Efficient, Flexible Visualization And Sensing Clusters From Commodity Tablets, Thomas Delgado Dias, Xian Yan, Konstantin Läufer, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

We explore the application of clusters of commodity tablet devices to problems spanning a “trilogy” of concerns: visualization, sensing, and computation. We conjecture that such clusters provide a low-cost, energy-efficient, flexible, and ultimately effective platform to tackle a wide range of problems within this trilogy. This is a work in progress, and we now elaborate our position and give a preliminary status report.

A wide range of Android tablet devices are available in terms of price and capabilities. “You get what you pay for” w.r.t. display resolution, sensors, and chipset---corresponding to the trilogy. $200 gets one a 1280x800-pixel touch display, …


A Polyglot Approach To Bioinformatics Data Integration: Phylogenetic Analysis Of Hiv-1, Steven Reisman, Catherine Putonti, George K. Thiruvathukal, Konstantin Läufer Apr 2013

A Polyglot Approach To Bioinformatics Data Integration: Phylogenetic Analysis Of Hiv-1, Steven Reisman, Catherine Putonti, George K. Thiruvathukal, Konstantin Läufer

Computer Science: Faculty Publications and Other Works

RNA-interference has potential therapeutic use against HIV-1 by targeting highly-functional mRNA sequences that contribute to the virulence of the virus. Empirical work has shown that within cell lines, all of the HIV-1 genes are affected by RNAi-induced gene silencing. While promising, inherent in this treatment is the fact that RNAi sequences must be highly specific. HIV, however, mutates rapidly, leading to the evolution of viral escape mutants. In fact, such strains are under strong selection to include mutations within the targeted region, evading the RNAi therapy and thus increasing the virus’ fitness in the host. Taking a phylogenetic approach, we …


Intelligent Systems Development In A Non Engineering Curriculum, Emily A. Brand, William L. Honig, Matthew Wojtowicz Jun 2011

Intelligent Systems Development In A Non Engineering Curriculum, Emily A. Brand, William L. Honig, Matthew Wojtowicz

Computer Science: Faculty Publications and Other Works

Much of computer system development today is programming in the large - systems of millions of lines of code distributed across servers and the web. At the same time, microcontrollers have also become pervasive in everyday products, economical to manufacture, and represent a different level of learning about system development. Real world systems at this level require integrated development of custom hardware and software.

How can academic institutions give students a view of this other extreme - programming on small microcontrollers with specialized hardware? Full scale system development including custom hardware and software is expensive, beyond the range of any …


Reflective Remote Method Invocation, George K. Thiruvathukal, Lovely S. Thomas, Andy T. Korczynski Jan 1998

Reflective Remote Method Invocation, George K. Thiruvathukal, Lovely S. Thomas, Andy T. Korczynski

Computer Science: Faculty Publications and Other Works

Remote Method Invocation (RMI) is available in the current Java language design and implementation, providing the much-needed capability of allowing objects running in different Java processes to collaborate using a variation on the popular Remote Procedure Call (RPC).

Although RMI provides features which are desirable for high-performance distributed computing, its design and implementation are deficient in key areas of importance to the high-performance computing community in general. This paper addresses the key deficiencies of RMI and how these deficiencies affect the design and implementation of distributed object applications.

Reflective RMI (RRMI) is an open RMI implementation which makes better use …


Technologies For Ubiquitous Supercomputing: A Java Interface To The Nexus Communication System, Ian Foster, George K. Thiruvathukal, Steven Tuecke Jun 1997

Technologies For Ubiquitous Supercomputing: A Java Interface To The Nexus Communication System, Ian Foster, George K. Thiruvathukal, Steven Tuecke

Computer Science: Faculty Publications and Other Works

We use the term ubiquitous supercomputing to refer to systems that integrate low- and mid-range computing systems, advanced networks and remote high-end computers with the goal of enhancing the computational power accessible from local environments. Such systems promise to enable new applications in areas as diverse as smart instruments and collaborative environments. However, they also demand tools for transporting code between computers and for establishing flexible, dynamic communication structures. In this article, we propose that these requirements be satisfied by introducing Java classes that implement the global pointer and remote service request mechanisms defined by a communication library called Nexus. …


On The Interaction Of Object-Oriented Design Patterns And Programming Languages, Gerald Baumgartner, Konstantin Läufer, Vincent F. Russo Feb 1996

On The Interaction Of Object-Oriented Design Patterns And Programming Languages, Gerald Baumgartner, Konstantin Läufer, Vincent F. Russo

Computer Science: Faculty Publications and Other Works

Design patterns are distilled from many real systems to catalog common programming practice. However, some object-oriented design patterns are distorted or overly complicated because of the lack of supporting programming language constructs or mechanisms. For this paper, we have analyzed several published design patterns looking for idiomatic ways of working around constraints of the implementation language. From this analysis, we lay a groundwork of general-purpose language constructs and mechanisms that, if provided by a statically typed, object-oriented language, would better support the implementation of design patterns and, transitively, benefit the construction of many real systems. In particular, our catalog of …