COMPUTER SCIENCE DEPARTMENT

The 1998-99 academic year was a very eventful one for the department. Professor Bill Lenhart replaced Professor Kim Bruce as chair, allowing Professor Bruce to take a well-earned sabbatical. On an equally well earned sabbatical this year was Associate Professor Duane Bailey. Filling in for them were Visiting Assistant Professor Jay Sachs, returning to the department for a second year, and Visiting Assistant Professor Marton Balazs, who joined us for the year from the Worcester Polytechnic Institute. Rounding out the department were Assistant Professor Andrea Danyluk, who had just returned from a very productive sabbatical, and Professor Tom Murtagh.
The growth of the department continues unabated. On the faculty side, we were delighted to have been able to welcome a new member to the department. Assistant Professor Barbara Staudt Lerner, currently at UMass Amherst, has accepted a position on the faculty and will be joining the department this fall. Professor Lerner’s area of research is Software Engineering, and she will be offering a junior-level elective on the topic this coming spring. Enrollments and the number of majors also remained high. There were 21 Computer Science majors in the graduating class this year, our largest group yet. This coming year we will have 15 senior majors and 15 junior majors. Our courses for non-majors also continued to grow in popularity; in particular, CSCI 105: Understanding the Web: Technologies and Techniques, attracted over 150 registrations for the 95 available openings in the course. And with the introduction of a robotics component, CSCI 108: Artificial Intelligence: Image and Reality, promises to become another very popular course for non-majors.

The robot-building CSCI 108 class with one of the robots (inset)

The department places a high priority on involving undergraduates in research. As happens every year, students worked with members of the department on various projects this past summer. Joe Vanderwaart ‘99 worked with Professor Bruce on the design and implementation of better object-oriented programming languages. Neelay Shah ‘99 worked with Professor Murtagh on problems in digital watermarking of images. Reed Townsend ‘00 and Joshua Fincke ‘99 worked on preparing materials for CSCI 105: Understanding the Web, under the supervision of Professor Murtagh. The work of the research assistants is described below in the descriptions of faculty research. In addition, Alfonso Gonzalez del Riego ‘00 worked for the department last summer under the supervision of Systems Support Specialist Mary Bailey. This summer, Carlett Malcolm ‘01 will be replacing Alfonso in that position.
Three students pursued honors research this past year. Marc Blackstein ‘99 worked with Professor Lenhart to develop faster algorithms for finding minimum-weight triangulations of point sets; Neelay Shah ‘99 worked with Professor Murtagh on techniques for digital watermarking of images; and Joe Vanderwaart ‘99 worked with Professor Bruce on object-oriented language design and implementation.
Members of the department were also involved in educational activities beyond the College community. Professor Bruce, Professor Bailey, Mary Bailey, and Professor Murtagh organized and taught a summer workshop for local high school and middle school students last summer. The program was designed to introduce the students to a variety of aspects of digital technology related to the web. Topics included HTML, image processing software and Javascript programming. The workshop ran for one week in August. Each morning, a new topic was presented through a guided, hands-on project. In the afternoon, the instructors provided guidance to students working on projects of their own design. Professor Bailey, Mary Bailey, Professor Murtagh, and Professor Sachs also offered a course this past July on various web technologies to local teachers. The course is one of several that are offered by Williams each year as part of an ongoing program to support elementary and secondary education in local communities.
Associate Professor Duane Bailey continued his work on the study of data structures for supporting quasicrystals---a form of crystal that potentially exhibits long range symmetries not considered possible by classical theories. He visited researchers at Smith College, the University of Washington, Microsoft and Intel in the process of evaluating new directions for further work with students in fall of 1999. Professor Bailey will be giving a talk at Reed College this June at the CLAC (Consortium of Liberal Arts Colleges) conference. He will be discussing the use of computers to help visualize new approaches to traditionally difficult problems in the sciences.
In preparation for a new tutorial course to be offered in the spring of 2000 on the design of modern architectures, Professor Bailey took two graduate courses at the University of Massachusetts in electrical engineering. At UMass he worked with undergraduates to design and fabricate a single chip for performing high-speed modular exponentiation of numbers. Within the chip, a parallel systolic array is used to accelerate the computation of very large products. Such chips form the heart of high-performance hardware encryption devices. He is also in negotiations with Intel to begin the development of a VLSI design laboratory at Williams.
Professor Bailey spent much of his leave completing his new introductory text in Java programming, Java Elements, to be published by McGraw-Hill in summer of 1999. This text is the first of a two book series written especially for students of the liberal arts. The second volume, Java Structures, has already met with great success.
Professor Kim Bruce’s research on the design of statically-typed object-oriented programming languages included work on extending the expressiveness of such languages, designing intermediate languages for type-based compilers, and writing a monograph on design and semantics. The overall goal of his research is to increase the understanding of the key concepts of object-oriented languages in order to promote the design of more secure and expressive languages.
During the summer of 1998, Joe Vanderwaart ‘99 once again worked with Professor Bruce on refining the design and implementation of the object-oriented language, LOOM; in particular, to extend the design of LOOM to better support the use of inheritance with closely integrated systems of classes and objects. In the spring of 1998, Bruce, Odersky, and Wadler proposed an extension of Java to support this increased expressiveness. The work during the summer involved working out all of the details of the type system and implementation of virtual types in the language LOOM. Professor Bruce, along with Joe Vanderwaart, and Leaf Petersen ‘96 co-authored a technical report on the module system for LOOM. He also worked with Chris White ‘00 during the summer of 1998 on extending the honors work of Jon Burstein ‘98 in the design and implementation of an extension of Java which will support parametric polymorphism and a “MyType” construct.
During the fall semester of his sabbatical, Professor Bruce taught a Programming Languages course at Princeton University and consulted at the NEC Research Center in Princeton on the design of a typed intermediate language for Java. He was in residence in Williamstown in the spring during which time he worked on the manuscript of a monograph on his research. Professor Bruce’s work in the fall with NEC resulted in one of the first typed intermediate languages designed for object-oriented languages (in this case, Java).
Joe Vanderwaart ‘99 worked with Professor Bruce this year on an honors thesis that also had to do with typed intermediate languages for object-oriented languages. Professor Bruce’s work at NEC involved the design of a relatively high-level object-based intermediate language. Joe’s work, by contrast, involved compiling to a lower-level intermediate language which is similar to that used by researchers working with functional languages. The hope is eventually to connect Joe’s implementation to the back-end of Yale’s FLINT compiler, which is currently used with the SML of NJ compiler. Joe will be working on similar research next year as a graduate student at Carnegie-Mellon University, where his study will be supported by an NSF graduate fellowship.
Professor Bruce had three papers accepted at refereed conferences in 1998-99. The first paper, “A Statically Safe Alternative to Virtual Types,” was co-authored with Martin Odersky and Phil Wadler. It was presented at ECOOP ‘98 in July in Brussels. The second, Formal Semantics and Interpreters in a Principles of Programming Languages Course,” was presented at the ACM SIGCSE Technical Symposium on Computer Education in New Orleans in March. The paper discussed some unusual assignments used in the Principles of Programming Languages course at Williams. The last paper, “Semantics-Driven Language Design: Statically Type-Save Virtual Types in Object-Oriented Languages,” was co-authored with Joe Vanderwaart and was presented at the conference on Mathematical Foundations of Programming Systems in April in New Orleans.
In addition to all of this, Professor Bruce gave a talk on “Grouping Constructs & Semantics in Object-Oriented Languages” at the Dagstuhl Seminar on The Semantic Challenge of Object-Oriented Programming in Wadern, Germany in July of 1998. He also gave an invited talk titled, CS 2: How did we get here? Where should we be going?” at the OOPSLA Workshop on the Future of CS 2 and Data Structures. In September he gave an invited talk titled “Semantics-driven language design: Statically type-safe virtual types in object-oriented languages” at the New Jersey Programming Languages Seminar at the NEC Research Institute, Princeton, NJ. During the year, he also presented talks on his research on virtual types and module systems for object-oriented languages at Computer Science colloquia at the University of Pennsylvania, Yale University, Cornell University, Boston University, Swarthmore College, and Bell Laboratories. He gave half-day tutorials on the design of statically type-safe object-oriented languages at ECOOP ‘98 in Brussels and OOPSLA ‘98 in Vancouver. He also gave a talk to an alumni group in Rochester in March on “Computers, the Internet, and Everything.”
Professor Bruce also served as the external reader for a Ph.D. thesis at the Free University of Brussels in the summer of 1998, and served on a visiting committee in mathematics and computer science at Simmons College in Boston in November. He continued as chair of the organizing committee of the Workshop on the Foundations of Object-Oriented Languages (FOOL 6), held in January in San Antonio, Texas, and co-edited a special issue of the journal “Theory and Practice of Object-Oriented Systems” containing the best papers from the FOOL 5 workshop. He is now editing a special issue of Information and Computation that will contain the best papers from FOOL 6. Miscellaneous other activities included reviewing book manuscripts for publishers and refereeing papers submitted to conferences and journals.
Assistant Professor Andrea Danyluk continued her research in Artificial Intelligence, specifically on issues arising from the application of Machine Learning to real-world problems. This year the focus of her research was in exploring the effects of systematic data error on inductive machine learning algorithms.
Inductive machine learning algorithms extrapolate general trends from large data sets. It is generally assumed that the data to which the algorithms are applied are reasonably free of error. Inductive learning algorithms do accommodate for some noise in the data, but few studies exist that accurately address the effects of noise on the algorithms. Virtually no work has been done on characterizing the effects of systematic errors in the data. Professor Danyluk has received a NSF POWRE Grant in the amount of $74,352 to work on this topic over an 18-month period. She is addressing two major questions in this work: 1) What are the effects of different types of systematic data error on existing machine learning algorithms? and 2) Is it possible to detect systematic data error when it exists? A short position paper on these issues appeared in the Working Notes of the Workshop on Keys to the Commercial Success of Data Mining, held in conjunction with the International Conference on Knowledge Discovery in Databases last summer.
Several students are involved in this work. Alex Eaton-Salners ‘99 began to investigate the problem of detecting systematic error in an Independent Study during the Fall ‘98 semester. Three students will be working with Professor Danyluk during the summer of ‘99. They are Alfonso Gonzalez del Riego ‘00, Steve Roman ‘00, and Art Munson ‘01.
Professor Danyluk continued to work with Brendan Burns ‘98, who had been her thesis student last year. Together they wrote a paper entitled “Feature Selection vs. Theory Reformulation: a Study of Genetic Refinement of Knowledge-based Neural Networks,” which has been accepted for publication in the journal Machine Learning.
Last year, together with Dr. Foster Provost and Dr. Tom Fawcett, researchers at Bell Atlantic, she began a new research project with a focus on Time-Series Analysis. In the summer of ‘98, Professor Danyluk chaired a workshop on “AI Approaches to Time-series Problems,” held in conjunction with both the National Conference on AI and the International Machine Learning Conference. Drs. Provost and Fawcett were also members of the organizing committee. Their summary of the workshop appeared in AI Magazine. The proceedings of the workshop have been turned into an AAAI (American Association for Artificial Intelligence) technical report. Professor Danyluk, with Dr. Provost, also had a paper accepted by the journal Informatica. The paper is entitled “Problem Definition, Data Cleaning, and Evaluation: A Classifier Learning Case Study.” In addition, Professor Danyluk discussed her research in two Sigma Xi Faculty Lectures in the spring.
This year Professor Danyluk taught four courses, Artificial Intelligence, Theory of Computation, Data Structures and Advanced Programming, and Artificial Intelligence: Image and Reality. The last of these is an introductory level course for non-majors. Professor Danyluk revised this course substantially from previous offerings. Most of the course focussed on robotics, with groups of students building and programming their own robotic vehicles. The robot vehicles were built around the Handy Board, a processor for running robotic applications that was developed at the MIT Media Lab. Over the course of the semester the students put their vehicles together, soldering wires and connectors for motors and various types of sensors. They then programmed the vehicles. The robots and more specific details about the course can be found by starting at Professor Danyluk’s Home Page: http://www.cs.williams.edu/~andrea/.
While a great deal of his time this year was spent chairing the department and serving on the Faculty Steering Committee and later, the Presidential Search Committee, Professor Bill Lenhart managed to find some time to devote to his continuing work in algorithm design and analysis. His research currently focuses, for the most part, on graph drawing algorithms, that is, methods for automated layout of diagrams. He attended GD ‘98, the 6th International Symposium on Graph Drawing, this past August in Montreal, Quebec. This coming year he is serving on the program committee for GD ‘99, which will be held this September, in Prague, Czech Republic. This past summer Professor Lenhart also attended CCCG ‘98, the Tenth Annual Canadian Conference on Computational Geometry, which was also held in Montreal.
Professor Lenhart supervised two undergraduate honors theses this year, one in the Computer Science Department and one in the Mathematics Department. He worked with Marc Blackstein ‘99 on the problem of finding more efficient algorithms for computing minimum-weight triangulations of point sets in the plane. Marc was able to improve the performance of the best-known algorithm for this problem by designing an optimal algorithm for computing the number of empty triangles in an arbitrary finite point set. He implemented his improved version of the algorithm in Java, and it currently runs as part of the Zarbiff system (developed a few years ago by some of our majors) for editing and visualizing graphs. Later this summer, Marc will be pursuing his computing interests at Intel in Portland. Professor Lenhart also worked with Davina Kunvipusilkul ‘99 on developing an algorithm for laying out graphs on a hexagonal grid so that the number of bends along edges of the graph is minimized. Davina was able to develop such an algorithm for series-parallel planar graphs of maximum degree at most six. She will be entering the Ph.D. program in Operations Research this fall at Cornell.
Professor Tom Murtagh recently began a research project in the area of digital watermarking. Digital watermarks are an example of the application of techniques designed to enable one to hide some small piece of information in the encoding of a larger “host” document. In the case of digital watermarking the purpose of the hidden information is to prevent copyright infringement by identifying the owner of the host document. To be effective, the encoding techniques used to hide a digital watermark must make it difficult for anyone other than the owner of the document to remove the identifying information from the document. Professor Murtagh supervised Neelay Shah ‘99 in the completion of an honors project in this field. He and Neelay experimentally compared the resilience of several proposed watermarking techniques to transformations intended to remove the watermark from the host document.
Professor Murtagh also attended the SIGPLAN Programming Language Design and Implementation Symposium at the 1999 Federated Computing Research Conference in Atlanta, Georgia.

COMPUTER SCIENCE COLLOQUIA

Joseph Vanderwaart ‘99, Charles Hagenbuch ‘00, Neelay Shah ‘99, Daniel Sullivan ‘99, Michael Sullivan ‘99, Christopher White ‘00
Williams College
“Computer Science Majors Talked about Their Summer Work Experience”
Professor Lawrence Snyder
University of Washington
Class of 1960’s Scholars Speaker
“‘WWW’ Is Not Short For ‘World Wide Web,’ And Other Stuff Everyone Should Know about Computers”
Professor Lawrence Snyder
University of Washington
Class of 1960’s Scholars Speaker
“The Principles of ZPL”
Dr. William D. Shannon
Washington University School of Medicine
“Combining Classification Trees Using Maximum Likelihood Estimation”
Department of Computer Science Faculty
Williams College
“Graduate School in Computer Science”
Professor David Goldsman
Georgia Tech School of Industrial and Systems Engineering
“Procedures for Selecting the Best System”
Dr. Michael Reed
Columbia University
“Computer Modeling of Real-World Objects: An Approach to Automatic Shape Reconstruction Using Range Images.”
Professor David Jensen
University of Massachusetts, Amherst
“The Ghost in the Machine: How a Simple Statistical Error Causes Machine Learning Algorithms to Be Superstitious.”
Dr. Foster Provost
Bell Atlantic Science and Technology
“Robust Classification Systems for Imprecise Environments”
Gary Sevitsky
IBM Watson Research Center
“What Is That Java Program Really Doing: Using Information Exploration Techniques to Understand Program Behavior”
Marc Blackstein ‘99
Williams College
“Triangulations, Empty Triangles, and Output Sensitive Algorithms”
Neelay Shah ‘99
Williams College
“The Comparison of Watermarking Techniques”
Joseph C. Vanderwaart ‘99
Williams College
“LOOM into FLINT (almost): Typed Intermediate Representations for Compiling Object-Oriented Languages”
Alex Eaton-Salners ‘99
Williams College
“Using Conceptual Clustering to Identify Systematic Data Error”
Zachary Dodds
Yale University
“Making Robots Do What They See”
Monica Brockmeyer
University of Michigan
“Real-Time Specifications: Tools and Techniques for Improving Scalability”
Dr. Carlo C. Maley
University of New Mexico
“The Evolution of Biodiversity”
Dr. Ken Stanley
“Petaflops, Teraflops and Less: High Performance Scientific Computation”
Dr. Barbara Staudt Lerner
University of Massachusetts, Amherst
“From Software Development to Software Engineering: Making Software Process Explicit”
Professor Andrea Danyluk
Williams College
Sigma Xi Talks
“Machine Learning: Background and Recent History”
“Data Mining and Other Applications of Machine Learning”
Stina Bridgeman
Brown University
“Interactive Graph Drawing and Similarity Metrics”
Professor Adam Finkelstein
Princeton University
Class of 1960’s Scholars Speaker
“Texture Mapping for Cell Animation”
Computer Science Faculty
Williams College
“Research in Computer Science”
Professor Carla Brodley
Purdue University
“Applying Machine Learning in Practice”

OFF-CAMPUS COLLOQUIA

Kim Bruce
“Grouping Constructs & Semantics in Object-Oriented Languages” at the Dagstuhl Seminar on The Semantic Challenge of Object-Oriented Programming in Wadern, Germany
University of Pennsylvania
“A Statically Safe Alternative to Virtual Types” ‘98, Brussels, Belgium
“A Statically Safe Alternative to Virtual Types”
Tutorials at ECOOP ‘98, Brussels, Belgium and OOPSLA ‘98
“Semantics-Driven Language Design: Statically Type-Save Virtual Types in Object-Oriented Languages”
New Jersey Programming Languages Seminar, Princeton, NJ
“Modules in Object-Oriented Languages”
University of Pennsylvania
“CS 2: How Did We Get Here? Where Should We Be Going?”
OOPSLA Workshop on the future of CS2 and Data Structures
“LOOM: An Advanced Type System for Object-Oriented Programming Languages”
Yale University
“Designing Expressive, Yet Safe, Object-Oriented Languages”
Swarthmore College
“Statically Type-Save Virtual Types: Adding Expressiveness and Safety in Object-Oriented Languages”
Boston University, Cornell University, and Bell Laboratories, Murray Hill, NJ
“Computers, The Internet, and Everything”
Williams College Alumni meeting, Rochester, NY
“Semantics-Driven Language Design: Statically Type-Safe Virtual Types in Object-Oriented Languages”
Mathematical Foundations of Programming Semantics Conference, New Orleans, LA

POSTGRADUATE PLANS OF COMPUTER SCIENCE MAJORS

Zehra Abid: Information Tech Consultant for The Exeter Group, Cambridge, MA
Luis J. Baldivieso: Unknown
Matthew R. Bell: Programmer/Consultant for The Exeter Group, Cambridge, MA
Marc S. Blackstein: Rotation Engineer for Intel, Portland, OR
John J. Coffey Software Engineer for Lockheed Martin’s Management and Data Systems Group, Fairfax, VA
Alexander Eaton-Salners: Undecided
Joshua C. Fincke Unknown
Michael Goldstein Computer Science Graduate School, University of Michigan
Ethan D. Gutmann Geology Graduate School, University of Colorado
Josephine W. Hearn American School of Asuncion, Paraguay, Ninth Grade Math Teacher
Tyson L. Jacobs Unknown
Scott A. Kaplan Unknown
Sarah F. Moore Unknown
Daniel W. Nelson Work with Professor Kaplan in Chemistry at Williams College for one year on an NSF CD-ROM project
Snehal R. Patel Unknown
Jonathan R. Putman Unknown
Neelay N. Shah Rotation Engineer for Intel, Portland, Oregon
Daniel E. Sullivan Computer Science Position, Atlanta, GA
Michael B. Sullivan Obtain a position in the web or games industry
Joseph C. Vanderwaart Ph.D. Program in the Department of Computer Science, Carnegie Mellon University
Andrew R. Zimmer Work at the Whitehead Institute on the Human Genome Project