This thesis presents the results of two studies that investigate the question of what interruption-styles are most appropriate for end-user programmers who are debugging programs. In the studies, end-user programmers are presented with surprises that encourage them to investigate, use, and learn about debugging devices in their programming environment. We...
Nowadays, wireless communication systems use high-order quadrature amplitude modulation (QAM) together with orthogonal frequency-division multiplexing (OFDM) to increase the link capacity and robustness. These signals always have large peak-to-average power ratio (PAPR) and require power amplifiers (PAs) achieve both high efficiency and linearity simultaneously. For the efficiency, the complementary metal...
Protein-protein interactions underlie all biological processes and are a field of study that has wide implications throughout many other fields including medicine, genetics, biology, and ecology. Proteins are the building blocks and primary actors of life. They work together to accomplish virtually every task within a cell, including, metabolism, signal...
Sensor system plays an important role in connecting everything including human body to the electrical information systems that we have built and that we are going to build, to make the world more intelligent and efficient. One of the key propulsive forces behind these emerging techniques is CMOS scaling that...
It is possible to purchase, for as little as $10,000, a cluster of computers with the capability to rival the supercomputers of only a few years ago. Now, users that have little to no experience developing distributed applications or managing a cluster are in a position to do so. To...
Successful software systems evolve over their lifetimes through the cumulative changes made by software maintainers. As software evolves, the problems resulting from software change worsen, exacerbated by increased system size and complexity, lack of program understanding, amount of effort required to make changes, and number of personnel involved. Experience shows...
Narratives are central to communication and the human experience. For a computer system to understand a narrative, it must be able to identify the key facts or plot elements that describe what happened or how the world has changed. These element are called events;establishing a document’s events and the relationships...
Free / Open Source Software developers come from a myriad of different backgrounds. While some contribute for personal reasons, many become involved because they receive compensation from corporations or foundations. The motivation for participating in a project can have dramatic impacts on how and what contribution an individual makes. These...
A fully integrated CMOS latched comparator is presented for use as a wake-up circuit that is attached to an RF energy harvester in a battery free wireless sensor network. The system consumes less than 36nA static current at 20°C and dissipates 2pJ of energy per conversion. The comparator comprises of...
Variability is an important and widely studied topic across domains such as version control, software product lines, and metaprogramming. This dissertation presents an investigation into the process of systematically adding variability to data structures and programs, leading to guidelines for variational data structures and implications for programs that create, manipulate,...