This page provides links to free, legal, fulltext copies of all publications by John MacCormick that appear in the ACM Digital Library, courtesy of ACM's author-izer service.
Recognizing the significance of a cornerstone of computer science.
Many readers will be familiar with the Computational Complexity blog, started in 2003 by Lance Fortnow and, since 2007, co-blogged by Bill Gasarch. Professor Gasarch is also the first author of Problems with a Point, which is based on 24 of Gasarch's ...
Many computer science programs have capstone experiences or project courses that allow students to integrate knowledge from the full breadth of their major. Such capstone projects may be student-designed, instructor-designed, designed in conjunction ...
Computational and complexity theory are core components of the computer science curriculum, and in the vast majority of cases are taught using decision problems as the main paradigm. For experienced practitioners, decision problems are the best tool. ...
This work provides the first rigorous investigation of multi-camera video chat, concentrating especially on the ability of a user at one end of the conversation to switch between multiple views at both ends of the conversation. A user study of 23 ...
An analysis of data from 259 CS1 students is performed to compare the performance of students who were paired by demonstrated ability to that of students who were paired randomly or worked alone. The results suggest that when given individual ...
Kinesis is a novel data placement model for distributed storage systems. It exemplifies three design principles: structure (division of servers into a few failure-isolated segments), freedom of choice (freedom to allocate the best servers to store and ...
The task of consistently and reliably replicating data is fundamental in distributed systems, and numerous existing protocols are able to achieve such replication efficiently. When called on to build a large-scale enterprise storage system with built-in ...
General-purpose, commercial software platforms are increasingly used as system building blocks, even for dependable systems. One reason for their generality, usefulness, and popular adoption is that these software platforms can evolve through ad hoc ...
Coliseum is a multiuser immersive remote teleconferencing system designed to provide collaborative workers the experience of face-to-face meetings from their desktops. Five cameras are attached to each PC display and directed at the participant. From ...