Title Page Previous Next Contents | COMPUTER SCIENCE DEPARTMENT

COMPUTER SCIENCE DEPARTMENT

To choose a life of teaching and research at the undergraduate level is to constantly surround oneself with youth. This year, the department of computer science graduates a class of 14 young and multitalented majors. Over the years, many of these students have performed research with faculty, several have second majors, and one is the class valedictorian.
In addition, the department has been host to the youthfully energetic Brent Heeringa whose enthusiasm for teaching has rubbed off on both students and faculty alike. Brent returns to the University of Massachusetts to finish his doctorate—and we look forward to following his promising career in computer science!
The department launched efforts to introduce changes to the computer science curriculum to be introduced in fall 2005. These changes will allow non-majors to enjoy a broader view of computer science, and will introduce new courses to help solidify both practical and theoretical skills of in computer science.
Through the generosity of the Class of 1960 Scholars program, the department invited two important contributors in computer science – Rebecca Mercuri, an expert on electric voting technologies and Manuela Veloso, an expert on artificial intelligence and robotics and a founder of the RoboCup competitions for robotic soccer players. As part of this program, fifteen students were selected to be this year’s Class of 1960 Scholars student scholars and meet with the speakers.
Class of 1960 Scholars in Computer Science
Daniel Berger
Alexandra Constantin
Christopher Cyll
Laura Effinger-Dean
Christopher Douglas
Evan Gee
Marina Lifshin
Andrew Marder
Martin Mudd
P. Chigozirim Nwankpa
Davis Stevenson
Alexander Timofeyev
Thomas White
Stephen Winslow
Brent Yorgey
The faculty continues its history of strong contributions in research and the landing of several grants. Behind most of the projects discussed below are students whose participation is vitally important to the success of the respective projects.
Professors Bruce, Danyluk and Murtagh continued their work on developing new materials for the innovative introductory course developed and taught at Williams over the last several years. This work is supported by a grant from the NSF CCLI program. This approach uses Java as the programming language, and places a heavy emphasis on the use of object-oriented graphics classes, event-driven programming and concurrency early in the course. The grant supports the writing of a textbook for this course as well as further refinement of the “objectdraw” library and other supporting software for the course. Ashok Pillai ’05 worked with the faculty on software for the course in the summer of 2003, and Brendan Dougherty ’06 will continue that work in the summer of 2004. The final manuscript will be submitted to Prentice-Hall by the end of June, and supporting instructor’s materials will be developed by the end of the summer.
Professor Duane Bailey is in the process of developing a new course, Life as an Algorithm, to be taught beginning spring 2005. The course investigates ideas common to computer science and biology and, while it encompasses many features of the current revolution in biotechnology, it also reconsiders many early papers in computer science and biology that have had an impact on the development of both fields. A draft of this course was offered during winter 2004. Students of the winter study course were hosted by several Williams alumni at MIT’s Broad Institute. Life as an Algorithm will be offered as CSCI 106 (cross-listed in Biology), and will serve as an introductory course in the Bioinformatics, Genomics, and Proteomics Program.
Professor Bailey worked with two senior research students this year, Kai Chen and Christopher Cyll. Bailey’s work with Kai Chen investigated models for DNA computation. This paradigm of computation uses DNA as a carrier of information in a computation that is promoted by complementary pairing and novel uses of existing wet-lab techniques. Most demonstrations of DNA computation involve solving difficult problems of computer science or mathematics. Chen investigated computations that support questions of biology, including string matching and homology. Such methods might provide techniques to perform suspect database searches in the test-tube or to answer phylogenic questions.
Christopher Cyll worked with Bailey to investigate the effect of dynamic memory allocation on cache performance. Cyll developed software to capture the allocation patterns for analysis off-line. Since allocated data may be positioned in a manner that may force the cache to displace useful data, Cyll constructed several placement algorithms that attempt to reduce the number of conflict misses. Cyll was able to identify several techniques that potentially improve the performance of programs that are run using alternative allocation strategies.
VLSI design for three-mode stopwatch
Seven students in Bailey’s course on VLSI design and modern architectures generated two different designs for an 8-lap, three-mode stopwatch. Fabricated at current feature sizes, these watch chips are less than two millimeters on a side.
Bailey continues to serve as a reader on the national committees for the Goldwater Science Scholarship, which rewards the top 300 undergraduate scientists in the country, and the Jack Kent Cooke Fellowship, which supports needy, but promising students from middle school through graduate school. He also evaluates curricular proposals for the National Science Foundation.
Professor Kim Bruce continued his research on the type theory and semantics of object-oriented languages. The overall goal of his research continues to be to increase the understanding of the key concepts of object-orientation in order to promote the design of more secure and expressive languages. His research is supported by grants from the National Science Foundation.
Research continued on two main projects. The first involved the design and implementation of an extension of Java that supports parametric polymorphism and a “ThisType” construct. Most of the work on that project this year was accomplished with Robert Gonzalez ’03, who, after completing his honors thesis, worked as a research assistant during the summer of 2003. Rob’s main work was on a modification of Sun’s Java virtual machine to increase the safety of the virtual machine when dealing with the new language features. His work also increased the efficiency of programs run with the virtual machine. Alexandra Constantin ’07 will be continuing this work as a research assistant during the summer of 2004.
Bruce and John “Nate” Foster ’01 wrote a paper based on Nate’s thesis (and the earlier thesis by Jon Burstein) on the design and implementation of the language LOOJ, as well as some more recent work on proving the correctness of the language design. The paper was accepted at ECOOP 2004 in Oslo, Norway. Foster, who was awarded an NSF Graduate Fellowship this spring to support his computer science graduate work at the University of Pennsylvania, presented this paper at ECOOP in June 2004.
The second project involved further work on providing type systems that support simultaneous extension of mutually referential systems of interfaces and classes. This work built on research undertaken earlier with Joe Vanderwaart ’98. Increases in the sophistication of the type system has enabled a larger number of programs to be type-checked, and work is continuing on developing more expressive type systems that will guarantee that more relations in the original group of types will be preserved under extensions.
Bruce was a co-organizer of the ECOOP 2003 Seventh Workshop on Pedagogies and Tools for Learning Object-Oriented Concepts in Germany in July 2003. While Bruce is no longer a co-organizer of the workshop, he will present a paper, coauthored with Danyluk and Murtagh, on why structural recursion should be taught early in the first course at the Eighth workshop at ECOOP 2004 in Oslo, Norway, June 2004. The three of them also presented workshops on the materials from their forthcoming book at SIGCSE 2004 in February in Norfolk, Virginia, and at NESCC in April at Union College. Bruce will present another workshop on the same materials at OOPSLA 2004 in Vancouver, B.C. in October.
Bruce chaired the winter meeting of the Liberal Arts Computer Science Consortium at SIGCSE 2004, and chaired a panel there on the newly revised Liberal Arts Computer Science Curriculum, which should be finalized by the end of the summer of 2004. Bruce also served on a newly formed ACM Java Task Force, which has been charged with identifying libraries that can be used to make it easier to teach Java to novices (e.g., students taking intro courses). Portions of the objectdraw library developed with Danyluk and Murtagh have been submitted to this task force for their consideration. Bruce has also been an active participant in the e-mail list supporting teachers for the Advanced Placement Computer Science exam. He was invited to address the graders of the Advanced Placement Computer Science exam on issues in teaching Java in introductory computer science courses, but was unable to accept because the timing conflicted with the ECOOP 2004 meeting.
Bruce participated in a panel on “Mathematical Logic in Computer Science Education” at the annual meeting of the Association for Symbolic Logic in Pittsburgh in May 2004. He also co-authored a paper on the role of mathematics in computer science that was published in the Communications of ACM in September 2003.
Bruce was involved in several other activities through the last academic year. He served as outside evaluator in a promotion case this fall. He served on a visiting committee for Mathematics and Computer Science at Skidmore College in November 2003. He attended the POPL 2004 and FOOL 10 meetings in Venice, Italy, in January 2004, the IBM Programming Days Workshop in May 2004, and the ECOOP 2004 meeting in Oslo, Norway, in June 2004. He served on the program committee for the FOOL 10 and IBM Programming Languages Day workshops, and chaired sessions at both.
His most exotic trip was to give an invited keynote address at the Andrei Ershov Fifth International Conference, Perspectives of System Informatics, in Novosibirsk, Siberia, Russia, in July 2003, where he was also interviewed on a local TV station. Later that month he gave a talk at the University of Genoa, in Genoa, Italy, and then participated on an informal panel on the future of object-oriented languages at the workshop on Object-Oriented Language Engineering for the Post-Java Era at ECOOP 2003.
He gave an invited talk at the International LISP conference in New York City. He gave talks at the New England Programming Languages Seminar at Northeastern University in February 2004 and at Boston University in April 2004. Finally, he gave tutorials on the Foundations of Object-Oriented Languages at OOPSLA 2003 in Anaheim, CA, and at ECOOP 2004 in Oslo, Norway. The tutorials are based on material in his text, Foundations of Object-Oriented Languages: Type and Semantics, published in 2002 by MIT Press.
On campus, he served as a member of the Committee of Appointments and Promotions, as a member of the Linguistics Advisory Committee, and as an advisor of first year students and computer science majors. He also made a presentation to an alumni group on the uses of technology in classes at Williams.
Bruce will be on leave during the 2004-2005 academic year as a visiting professor at the University of California at Santa Cruz. The leave will be partly financed by a Mellon Renewal Fellowship awarded by Williams. The grant will support his study of natural language linguistics, a new area for him. He will also be continuing his research on the design of object-oriented languages.
Professor Andrea Danyluk’s research is in the field of artificial intelligence (AI), specifically Machine Learning. Her research focus is on the application of inductive machine learning algorithms. Inductive learning algorithms extrapolate general rules or trends from large data sets. One might consider applying such algorithms to a phone company’s database of network outages, for instance, to determine general rules that might predict the occurrence of such events before they actually happen. Professor Danyluk enjoyed a semester of sabbatical in the fall of 2002, during which she was able to focus much of her time on her research.
In March, Professor Danyluk gave a talk entitled “Robotics as a Motivator in an AI Course for Non-majors” at a Symposium on Accessible Hands-on Artificial Intelligence and Robotics Education. A paper with the same title appears in the working notes from the symposium, which is available as a Technical Report from AAAI, the American Association for Artificial Intelligence. The course described in the paper is Artificial Intelligence: Image and Reality (CSCI 108). Professor Danyluk is working this summer to revise this course for the fall semester. This revision will include new laboratory exercises with some exciting new additions to our collection of robots.
Two students construct a new sensor for a
LEGO robot.
In the spring, Professor Danyluk taught Artificial Intelligence. This offering of the course included a new unit on Bayesian Networks and probabilistic reasoning as well as an expanded unit on robotics.
This year Professor Danyluk served on the Advisory Board and Program Committee for the International Conference on Machine Learning. She was also a member of the program committee for a Special Track on AI Education, held in conjunction with FLAIRS-04, the Florida AI Research Symposium. She will serve as a member of that committee next year as well. In the fall, she served as a reviewer for FIPSE, the Fund for the Improvement of Postsecondary Education.
Professor Stephen Freund continued his work on program analysis tools for identifying concurrency errors in multithreaded programs. The primary focus for the last year has been on tools to find atomicity errors. Atomicity is a strong but widely used noninterference property that excludes unintended interactions between threads. This work is supported by a $636,000 grant from the NSF/NASA HDCCSR program, which was awarded to Freund, in collaboration with Cormac Flanagan and Martin Abadi at University of California, Santa Cruz. Marina Lifshin ’05 is spending the summer extending a static atomicity checker to infer atomicity specifications.
Freund collaborated with Shaz Qadeer at Microsoft Research on a paper which developed a new technique for checking whether the implementation of a multithreaded program conforms to its specification. This work was presented at the Formal Techniques for Java-like Programs Workshop in Darmstadt, Germany, and it is published in the Journal of Object Technology.
Together with Flanagan, he also developed a dynamic atomicity checker that monitors a program for errors as it executes. The paper on this tool was presented at the Symposium on Principles of Programming Languages in Venice, Italy.
Freund, with John Mitchell at Stanford University, published a paper in the Journal of Automated Reasoning that summarizes his thesis work on formally specifying the Java byte code verifier, which is the part of the Java virtual machine that prevents untrusted code from compromising system security by performing illegal operations.
In addition to presenting the papers listed above at workshops and conferences, Freund gave technical talks on his research at Stanford University, Berkeley, AT&T Research, University of Pennsylvania, the New England Programming Languages Seminar, and Microsoft Research.
Brent Heeringa, along with Micah Adler (Assistant Professor, University of Massachusetts, Amherst) have a paper on optimal website design at the 31st annual International Colloquium on Automata, Languages and Programming in Turku, Finland in July. The conference is considered by many to be the top European venue for theoretical computer science. Brent will also present the work at the conference. In addition, Heeringa aided Professor Adler during the final program committee meeting of the Symposium on Parallel Algorithms and Architectures.
Professor William Lenhart began his term as Acting Dean of Faculty in the fall, and still found time to advise two students – Brent Yorgey and Tom White – on graphics-related research projects! Lenhart’s administrative term ends after fall 2004, when he hopes to take a well-deserved leave. We look forward to his return to the department, and join the rest of the college in thanking him for his hard work these past months.
Professor Barbara Lerner continued her research into the coordination of human and automated agents. The recent focus of her work has been to use software verification tools to analyze coordination processes written in the language Little-JIL. During summer 2003, two students participated in this research. Shimon Rura ’03 worked on a tool to assist an analyst in translating Little-JIL processes into FSP models to be analyzed by the LTSA model checker. Model checkers require a finite model of a process to operate, but processes typically include features such as looping and recursion that express unbounded execution. A straightforward translation of Little-JIL to FSP thus results in an infinite model. The translation tool assists an analyst in identifying portions of the process where unbounded behavior exists and redefining those portions to be a finite approximation of the original process so that it can be model checked. Once translated into FSP, we are able to prove whether or not a process contains deadlock and whether or not it satisfies safety properties of interest to the analyst.
Topher Cyll ’04 explored the application of Bogor, another model checker, to the analysis of Little-JIL processes. The unique characteristic of Bogor is that it is an extensible model checker. Bogor provides the general mechanisms to perform model checking and also provides hooks to allow a language’s semantics to be defined within the model checker. One of the major drawbacks of model checking is state space explosion, which dramatically limits the size of programs that can be checked. By building a language-specific model checker using Bogor, we expect to be able to analyze larger processes than we can using the translation technique required by LTSA.
Professor Murtagh continues to investigate the behavior of the congestion control mechanisms associated with the TCP protocol. Current implementations of TCP use a feedback mechanism to adjust the rate at which a machine attempts to send new messages in response to detected losses of data. This mechanism interacts poorly with internet applications that involve many small data transfers such as those associated with small email messages and images used as icons within web pages.
In addition, while the overhead required by TCP is small when amortized over a long data transfer, it represents a significant performance penalty in the context of short data transfers. Professor Murtagh’s work seeks to develop congestion control mechanisms better suited to such small data transfers. This year, with the assistance of Thomas White ’04, Professor Murtagh continued work on the construction of software to simulate the handling of web requests using serial HTTP request, parallel requests, persistent HTTP and TTCP.
In March, Professor Murtagh attended the First USENIX Symposium on Networked Systems Design and Implementation held in San Francisco, CA.
Professor James Teresco continued his research on parallel and distributed computing, specifically in the area of dynamic load balancing for adaptive scientific computation. He was on leave for 2003-04, and spent much of this productive and enjoyable year in Albuquerque, New Mexico, as a visiting researcher at the Computer Science Research Institute at Sandia National Laboratories. Professor Teresco worked in the computer science and mathematics department at Sandia.
Modern parallel processing is being performed on everything from the largest tightly-coupled supercomputers to clusters of workstations more recently in the transient and dynamic environments found in Internet, or “Grid” computing environments. Hierarchical and heterogeneous systems are increasingly common and present new challenges for the development of efficient software, particularly influencing dynamic load balancing procedures. Professor Teresco continued a collaboration with Dr. Karen Devine (Sandia), Professor Joseph Flaherty (Rensselaer), and Rensselaer Ph.D. candidates Jamal Faik and Luis Gervasio, to develop support for architecture-aware load balancing in the Zoltan Toolkit (http://www.cs.sandia.gov/Zoltan/). Zoltan is a software library developed at Sandia that provides a common interface to a number of state-of-the-art partitioning and dynamic load balancing algorithms. Professor Teresco’s team developed the Dynamic Resource Utilization Model (DRUM) (http://www.cs.williams.edu/drum/) to address partitioning and dynamic load balancing on clusters with heterogeneous and hierarchical hardware resources. DRUM includes a model that encapsulates hardware resources and their interconnection topology, and provides monitoring facilities for dynamic evaluation of communication, memory, and processing capabilities. DRUM is also used to guide Zoltan’s hierarchical partitioning and dynamic load balancing procedures, which were implemented by Professor Teresco while at Sandia. Here, different balancing procedures are used in different parts of the domain. This work has been funded by Sandia National Laboratories.
Professor Teresco worked with Diane Bennett ’03 during the summer of 2003 to analyze the performance of the dynamic load balancing procedures in Zoltan when applied to a number of problems of interest. Bennett’s work continued a project from the previous summer by Lida
Ungar ’02.
Professor Teresco is also investigating the efficient execution of parallel adaptive software in dynamic environments, in collaboration with Professor Szymanski (Rensselaer), Professor Varela (Rensselaer), Professor Flaherty (Rensselaer), and Rensselaer Ph.D. candidates Kaoutar El Maghraoui and Travis Desell. As part of this project, the team is developing SALSA-MPI, a middleware system that allowed existing applications to take advantage of transient and or unreliable computing resources.
Professor Teresco has begun a new collaboration with Professor Suvranu De (Rensselaer) and Professor Flaherty (Rensselaer) to investigate digital surgical simulations. Much like flight simulations, computational surgical simulations will eventually be used to train medical students and practitioners, allowing the trainee to touch, feel, and manipulate virtual tissues and organs through the same surgical instrument handles used in actual surgery, while seeing high-quality images of their deformations as in a real surgery. Modeling of the interaction of surgical tools with soft biological tissues requires an update rate of about 1kHz to drive a force feedback device in real time. Professor Teresco and his students will develop software infrastructure to allow numerical procedures to operate in parallel computing environments to provide the real-time feedback needed make such a system a reality.
Professor Teresco continues to be involved in the Bioinformatics, Genomics and Proteomics group at Williams, with his primary interest being high-performance computing issues.
Professor Teresco, with Professor Slimane Adjerid (Virginia Tech) and Professor Peter Moore (Southern Methodist), organized the conference ADAPT 03: Adaptive Methods for Partial Differential Equations and Large-Scale Computation, which was held in Troy, New York, in October 2003. Fifteen invited talks and twenty-one poster presentations were made over two days. The conference was supported by grants from the U.S. Army Research Office and the National Science Foundation. See http://www.cs.williams.edu/adapt03/.
Professor Teresco and Professor Flaherty (Rensselaer) co-organized the mini-symposium “Architecture-Aware Parallel Computing” at the Eleventh SIAM Conference on Parallel Processing for Scientific Computing (PP04), held in San Francisco, California, in February 2004. Seven talks were given by experts in the field, including the introductory and overview talk given by Professor Teresco. He is currently editing an article summarizing the work presented at the mini-symposium for publication in the conference proceedings. See http://www.siam.org/meetings/pp04/.
Professor Teresco and Professor Bailey served as co-chairs for tutorials, workshops, and panels at the Ninth Annual Consortium for Computing Sciences in Colleges Northeastern Conference (CCSCNE 2004), held at Union College in April 2004. See http://www.ccscne.org/2004/.
Professor Teresco has installed, configured, and continues to maintain a 25-processor Sun Microsystems compute cluster that supports research in parallel and distributed computing in the Computer Science Department. The cluster consists of 9 Enterprise servers, connected by fast Ethernet and by a gigabit interconnect from Dolphin, plus four Sun Ultra 10 workstations that have been used extensively in the development and testing of DRUM’s heterogeneous processor speed support. In addition to supporting research, the cluster is used in two of Professor Teresco’s upper-level electives (CSCI 432, Operating Systems, and CSCI 338, Parallel Processing). See bullpen.cs.williams.edu.
COMPUTER SCIENCE COLLOQUIA
Micah Adler, University of Massachusetts at Amherst   
“A Stochastic Process on the Hypercube with Applications to Peer-to-Peer Networks”
Dr. Andrew P. Black, Oregon Graduate Institute
“A Building Block for Classes”
Kim Bruce
“The Use of Computers in Classes at Williams”
Presentation to Williams College Class of 1945 Mini-Reunion
Aaron Cass, Instructor Union College, Schenectady, NY
“A Processed-Centered Framework for Design Guidance”
J. Nate Foster ’01, University of Pennsylvania
“Contexts, Boxes and Names - Oh My!”
Joshua Frankel ’02, Rhinoceros Visual Effects
“3-D Animation and Special Effects for Film and Television”
Shriram Krishnamurthi, Brown University
“Programming the Interactive Web”
Rebecca Mercuri, John F. Kennedy School of Government, Class of 1960 Scholars Program
“The Electronic Voting Enigma”
“Why Computers Can’t Count Votes”
Gregory Morrisett, Harvard University
“Cyclone: Type-Safe C”
Joseph O’Rourke, Smith College
“A Geometry Theorem on Protein Folding”
Rhys Price Jones, Rochester Institute of Technology
“Bioinformatics, Algorithms, and Graphs”
Manuela Veloso, Carnegie Mellon University, Class of 1960 Scholars Program
“Autonomous Teams of Robots”
“Multi-Robot Coordination in Highly Dynamic Environments”
Stacia K. Wyman, University of Texas at Austin
“Algorithms for Bioinformatics in the Post Genomic Era”
J. Nate Foster ’01, University of Pennsylvania,
Carlett Malcolm ’01, Goldman, Sachs and Company,
Ethan Zuckerman ’93, Geekcorps
“Careers in Computer Science”
Computer Science Faculty
“Discussion on Graduate Schools”
“Faculty Research in Computer Science at Williams”
COMPUTER SCIENCE STUDENT COLLOQUIA
Brent Yorgey ’04 and Steve Winslow ’04, Goldberg Prize Speakers
“Befunge”
Kai Chen ’04
“Extractors and Randomness”
“DNA based Computation”
(also as poster at CCSCNE, Union College, April 2004)
Christopher Cyll ’04
“Model Checking with Bogor”
“The Legend of the Static Malloc”
(also as poster at CCSCNE, Union College, April 2004)
Christopher Douglas ’05
“Research at NASA”
Eric Engler ’04
“Configuration Spaces”
Marina Lifshin ’05
“Adventures in Archeology in Southern France”
Martin Mudd ’04
“Analysis of Spectra”
Thomas White ’04
“Summer Research in Networks”
“Photon Mapping”
OFF-CAMPUS COLLOQUIA
Kim Bruce
“Bending without Breaking: Making Software More Flexible”
Andrei Ershov Fifth International Conference, Perspectives of System Informatics,
Novosibirsk, Siberia, Russia, July 2003
“What Semantics Can Teach Functional Programmers about Object-Oriented Languages”
International LISP conference, New York, NY, October 2003
“Some Challenging Typing Issues in Object-Oriented Languages”
University of Genoa, Genoa, Italy, July 2004
“Foundations of Object-Oriented Languages: Types and Language Design”
OOPSLA 2003, Anaheim, California, October 2003
ECOOP 2004
Eighth Workshop on Pedagogies and Tools for Learning Object-Oriented Concepts, Oslo, Norway, June 2004.
“Thoughts on Subtypes versus Inheritance”
NEPLS, Northeastern University, Boston, MA, February 2004.
“LOOJ: Weaving LOOM into Java”
Boston University, Boston, MA, April 2004.
“Why Structural Recursion Should Be Taught before Arrays in CS 1”
Eighth Workshop on Pedagogies and Tools for Learning Object-Oriented Concepts, Oslo, Norway, June 2004.
Kim Bruce, Andrea Danyluk, Tom Murtagh
“Java: an Eventful Approach”
SIGCSE 2004, Norfolk, VA, March 2004
“A Tutorial on Java: an Eventful Approach”
CCSCNE, Union College, April 2004
Andrea Danyluk
“Robotics as a Motivator in an AI Course for Non-majors”
AAAI Spring Symposium on Accessible Hands-on Artificial Intelligence and Robotics Education,
Palo Alto, CA, March 2004
Stephen N. Freund
“Hobbes: A Run-time Type Checker for Binary Programs”
Microsoft Research, Mountain View, CA
“Checking Concise Specifications for Multithreaded Software”
Formal Techniques for Java-like Programs Workshop, Darmstadt, Germany, July 2003
“Atomizer: A Dynamic Atomicity Checker for Multithreaded Programs”
AT&T Research, Florham Park, NJ, August 2003
Stanford University, Stanford, CA, September 2003
University of California, Berkeley, Berkeley, CA, December 2003
Principles of Programming Languages, Venice, Italy, January 2004
University of Pennsylvania, Philadelphia, PA, May 2004
“Finding Bugs in Software”
Bronfman Science Lunch, Williams College, November 2003
“Exploiting Purity for Atomicity”
New England Programming Languages Seminar, Boston, MA, February 2004
Brent Heeringa
“Optimal Website Design with the Constrained Subtree Selection Problem”
International Colloquium on Automata, Languages and Programming (ICALP)
Turku, Finland, July 2004
Barbara Lerner
“Constructing Software to Facilitate Model Checking”
Union College Computer Science Seminar, April 1, 2004
James Teresco and Joseph Flaherty
“An Overview of Architecture-Aware Parallel Computing”
Eleventh SIAM Conference on Parallel Processing for Scientific Computing (PP04) San Francisco, CA,
February 2004
“Hierarchical Partitioning and Dynamic Load Balancing for Scientific Computation”
PARA 04 Workshop on State-of-the-Art in Scientific Computing, Copenhagen, Denmark, June 2004
“Parallel Adaptive Scientific Computation in Heterogeneous Computing Environments”
Union College, January 2004
POSTGRADUATE PLANS OF DEPARTMENT MAJORS
Kai Chen
Microsoft, Stanford University graduate work
Leslie P. Chong
Undecided
Christopher Cyll
Senior Software Engineer, Intel, Oregon
Evan J.D. Gee
Consultant for IBM, Fairfax, VA
Sean W. Gillispie
Consultant for IBM, Fairfax, VA
Matthew F. Lipson
Undecided
Andrew N. Marder
Internship work, Federal Reserve
Martin D. Mudd
Teach for America, Mississippi Delta, Mathematics
Chgozirim P. Nwankpa
Undecided
Davis V. Stevenson
Travel
Alexander V. Timofeyev
Undecided
Thomas H. White
Undecided
Stephen D. Winslow
Scientific editing internship in Moscow, Russia
Brent A. Yorgey
Woodrow Wilson Senior High School, Washington, DC, Computer Science