Title Page Previous Next Contents | COMPUTER SCIENCE DEPARTMENT

COMPUTER SCIENCE DEPARTMENT

The Computer Science Department enjoyed the presence of two visiting faculty members this year. Prof. Barath Raghavan joined the department as a Visiting Assistant Professor for the full academic year. Raghavan had recently received his Ph.D. from the Department of Computer Science at the University of California, San Diego. Prof. Alicia Wolfe joined us for the spring semester after completing her Ph.D. at the University of Massachusetts, Amherst. During the year Raghavan taught three courses – Data Structures, Theory of Computation, and Algorithms. Raghavan’s research interests fall primarily in the areas of networks and distributed systems. He collaborated on research projects throughout the year with Prof. Jeannie Albrecht and many of our students. He will continue in our department next year as a post-doctoral research associate. Wolfe taught an elective course, Artificial Intelligence. Wolfe’s research’s interests involve artificial intelligence and machine learning.
These temporary additions to our department were triggered by several temporary departures. Two of our newer faculty members, Prof. Brent Heeringa and Prof. Morgan McGuire were away on assistant professor leaves. Heeringa worked at Boston University for the year while McGuire worked at the NVDIA Research Laboratory. In addition, Prof. Andrea Danyluk moved from her office in our department to an office in Hopkins Hall where she served as acting Dean of Faculty while the college awaited the arrival of our new president, Adam Falk.
Each year the department participates in a special lectureship program funded through the generosity of the Class of 1960. This fall, we welcomed Dr. Melanie Mitchell from Portland State University and Santa Fe Institute. In her work, Prof. Mitchell applies techniques from artificial intelligence and machine learning to the understanding of complex systems. Her most recent book, “Complexity: A Guided Tour”, was named by Amazon.com as one of the ten best science books of 2009. In the spring, Prof. Paul Hudak of Yale University visited our department. Prof. Hudak has made many contributions to the field of programming languages, including playing a major role in the development of the language Haskell. During their visits, each of these distinguished guests gave several talks and met with faculty and students. As part of the Class of 1960 scholars program, several students were invited to participate in special events. This year’s scholars were:
Class of 1960 Scholars in Computer Science
Aaron Bauer
Steven Rubin
Sam Blackshear
Erdem Sahin
Danny Yuxing Huang
Ville Satopaa
Kefei Lei
April Shen
David Moore
Antal Spector-Zabusky
Arjun Ravi Narayan
Katherine Stevenson
Prof. Jeannie Albrecht continued to investigate the challenges of distributed application management as part of GENI <http://www.geni.net>, a National Science Foundation (NSF) funded project for creating a Global Environment for Network Innovations. In particular, Albrecht has continued to work on the development of a system called Gush, which is a framework for configuring and controlling distributed applications <http://gush.cs.williams.edu>. In addition to her work with GENI, last fall Albrecht received a CAREER award for $400,000. The CAREER award is the most prestigious award NSF gives to junior faculty. This grant will fund her extended work on distributed application management in mobile environments for the next five years.
In the context of application management, Albrecht’s current research focuses on two specific problems. First, she is exploring how to extend Gush to support volatile environments with frequent disruptions in network connectivity, such as wireless sensor networks or networks comprised of mobile devices. Danny Y. Huang ’11 worked with Albrecht on this task for the past three semesters, and will continue next year as part of his senior thesis. The second aspect of Albrecht’s research involves the development of a graphical user interface for Gush called Nebula <http://plush.cs.williams.edu/nebula/>. Kelsey Levine ’10 worked on application visualization using Nebula last summer, and Kaylee Weyerhaueser ’11 and April Shen ’13 will continue the project this summer.

images/ros201004.jpg
Antal Spector-Zabusky ’12 explains his research project
during the summer research program's poster session.

In addition to Gush, last year Albrecht explored a new project with Prof. Barath Raghavan, Antal Spector-Zabusky ’12, and Ville Satopaa ’11. The project investigated how distributed resources can be shared to increase the utility of the resources for all users. The work ultimately resulted in two separate conference paper submissions. Antal Spector-Zabusky also won a prestigious Goldwater Scholarship.
In preparation for her upcoming sabbatical at the University of Massachusetts, Amherst, Albrecht continued to collaborate with Prof. Brian Levine and Prof. Mark Corner (both at the University of Massachusetts, Amherst) to address the challenges associated with running experiments on mobile/sensor networks. Albrecht plans to leverage the infrastructure created by Levine and Corner to experiment with partially predictable resource scheduling in mobile environments during the upcoming year.
During Winter Study, Albrecht and Prof. Murtagh jointly supervised six students — Kelsey Levine ’10, Moaj Musthag ’10, Dan Kenefick ’11, Emily Yu ’11, Josephat Koima ’12, and Diogenes Nunez ’12— who independently explored iPhone development. The students developed an application that allows members of the campus community to easily obtain dining hall menus from their iPhones. We are planning to release this application to the public very soon.
In the classroom, Albrecht taught an updated version of Distributed Systems (CSCI 339), in addition to Data Structures (CSCI 136) and Introduction to Computer Science (CSCI 134). The highlight of CSCI 339 was the use of Amazon’s Elastic Compute Cloud <http://aws.amazon.com/ec2/>. Through a generous grant from Amazon, the students in the course were able to experiment with the widely used Hadoop/MapReduce framework for efficiently processing massive amounts of data in parallel on pre-configured clusters of machines provided by Amazon.
Albrecht presented a paper this year at the Sixth International Conference on Testbeds and Research Infrastructures for the Development of Networks and Communities (TridentCom) in Berlin, Germany. She gave two invited talks at the IEEE Conference on Peer-to-Peer Systems (P2P) in Seattle, WA. She also gave talks at the GENI Engineering Conferences in Durham, NC and Seattle, WA, the Diversity Workshop of the ACM Symposium on Operating System Principles (SOSP), and the NSF workshop on Archiving Experiments at the University of Utah. In October, Albrecht attended the Grace Hopper Celebration of Women in Computing in Tucson, AZ along with Prof. Andrea Danyluk and students Katie Creel ’10, Mayada Gonimah ’10, Kaylee Weyerhaeuser ’11, and Emily Yu ’11.
Prof. Duane Bailey collaborated with Jack Wadden ’11 to implement memory and I/O interfaces for their implementation of Prof. Murtagh’s WC34000 processor, a soft core implemented on a Xilinx Field Programmable Gate Array (FPGA). During the spring, Bailey’s tutorial on VLSI design designed new reconfigurable FPGA hardware.
Bailey continued as a member of the NSF advisory panel on the redesign of the Advanced Placement exam in Computer Science. The curriculum is part of a national effort to boost participation in Computer Science. The National Science Foundation has supported the initiative, which seeks to significantly broaden the scope of the course traditionally taught at the college and high school levels.
During the spring, Bailey participated in the NSF-sponsored initiative, National Lab Day, an effort that supports the development of curricula and lab resources by high school and college instructors. This year, Brad Whateley, a physics teacher in the Pittsfield High School taught a course, Principles of Engineering. Whateley and Bailey co-designed a number of hardware experiments that demonstrated the use of logic in computer engineering. After positive initial results, Whateley and Bailey are developing a low-cost circuit prototyping system for wider use in math and science courses at the high school level.
Bailey continued as a member of the national panel of readers for the Goldwater, a congressional scholarship that recognizes the nation's best undergraduate students. Bailey also participated in various review panels at the National Science Foundation, and reviewed papers for a number of professional publications.

images/ros201005.jpg
Faculty and students attending the Grace Hopper Celebration of Women in Computing in Keystone, CO (Left to right - Mayada Gonimah ’10, Andrea Danyluk, Jeannie Albrecht, Katie Creel ’10, Kaylee Weyerhaeuser ’11, and Emily Yu '11

Prof. Andrea Danyluk spent the year in the Dean of Faculty Office, serving first as Acting Dean of the Faculty and then as Associate Dean. While in the Dean’s office, she remained connected to her computer science roots in a number of ways.
Danyluk, whose research is in the area of machine learning, a subfield of Artificial Intelligence (AI), supervised the honors thesis of David Moore ’10. David’s work addressed an issue related to Markov logic networks (MLNs). These are a recently developed formalism for compactly representing complex relationships and handling uncertainty in a principled manner. The deep transfer algorithm of Davis and Domingos proposes a method for automatically learning the structure of an MLN for a target domain of application by exploiting the structure of an existing MLN for some other domain. Dave explored several questions related to the deep transfer algorithm and to cross-domain transfer in general. He will present his results at the “Workshop on Statistical Relational Artificial Intelligence”, which will be held in conjunction with the National Conference on AI.
Danyluk is now beginning a new project in collaboration with Prof. Carla Brodley at Tufts University. The goal of this project from a practical standpoint is to develop a system that can automatically identify web pages that belong to computer scientists who are women or underrepresented minorities in order to develop a database for the outreach efforts of the CRA-W (the Computing Research Association’s board on the status of women in computing research) and the CDC (the Coalition to Diversify Computing). From a machine learning perspective, there are many interesting research questions to explore in this context. They will focus on issues related to active learning in which a machine learning system decides automatically what data would be most helpful for its own learning process. Three undergraduate students will be working on this project in summer 2010: Emily Yu ’11, Lucy Simko (from Washington and Lee University), and Heidy Khlaaf (from Florida State University). All will be resident at Tufts for the summer.
In spring 2010, Danyluk was named a CRA-W Distinguished Professor for the Cohort of Associate Professors Project for the second time. She continues her work with CRA-W as well as the Liberal Arts Computer Science Consortium.
Prof. Stephen Freund continued to work with his colleagues at UC Santa Cruz on tools to help programmers more easily find defects in software. As part of this work, he published two papers.  The first, “The RoadRunner Dynamic Analysis Framework for Multithreaded Programs” describes a system he designed with Cormac Flanagan (UC Santa Cruz). This is a general programming framework for trying out new bug finding techniques and comparing them to existing approaches.  The analysis framework is especially well-suited for implementing tools to find race conditions, a particularly pernicious type of bug caused when multiple parts of a program try to access a shared resource (such as a file or printer) at the same time.
Freund also wrote a second paper, “Adversarial Memory for Detecting Destructive Races.” A bug in a program is often hard to find because it only causes a program to crash in rare situations that are hard to reproduce. This paper describes a tool that attempts to make any such intermittent bugs appear with much higher frequency so that developers can more easily identify and fix them. In addition, he presented his work at several venues, including the University of Massachusetts and University of California at Santa Cruz, as well as a conference on “Program Analysis for Software Tools and Engineering” in Toronto.  He was also the invited keynote speaker at Schloss Dagstuhl, a workshop on the “Design and Validation of Concurrent Systems” held in Germany.
Freund is currently serving on the Programming Languages Education Board, the national committee in his research community that focuses on issues surrounding undergraduate education.  He has written a number of papers on this topic, including one presented at a workshop on “Curricula in Concurrency and Parallelism,” held in Florida.
Prof. Brent Heeringa spent the year on AP leave at Boston University (BU) where he was Visiting Scholar. At BU, Heeringa collaborated with John Byers, Giorgos Zervas and Michael Mitzenmacher (Harvard University) on new combinatorial problems called heapable sequences. The work is motivated by the secretary problem where a committee sequentially interviews candidates for a secretarial position. When interviewing a candidate, the committee learns the candidate’s rank relative to all the previously interviewed candidates. Immediately following the interview, the committee can either offer the job to the candidate (which he will always accept) or pass on the candidate, in which case the committee considers the next person. Perhaps surprisingly, the optimal hiring strategy samples the first 37% of the candidates and then offers the job to the first candidate in the remaining 63% that exceeds the best candidate seen so far. Heeringa and his colleagues extended these problems to scenarios where the committee is interesting in hiring an organization with the constraint that a candidate will only work under someone who is ranked higher. This work is currently in submission for publication.
Heeringa also continued his research on data structures and approximation algorithms. Working with Gordon Wilfong (Bell Labs) and Glencora Borradaile (Oregon State University), Heeringa studied new approximation algorithms for a suite of constrained versions of the classic knapsack problem. This work is currently in submission for publication and available on the arXiv. Building on M. Catalin Iordan’s ’09 (Stanford University) honors thesis, Heeringa together with Iordan and Louis Theran (Temple University) developed the Line-Leaf Tree – a new data structure for maintaining a dynamic partial order. The research is currently in submission for publication. In addition, Heeringa advised T. Andrew Lorenzen ’12 on an implementation of the Line-Leaf Tree. Finally, with Michael Gerbush ’09 (University of Texas, Austin), Heeringa completed a line of research on approximating reset sequences in synchronizing automata. This work has applications in assembly line workflow and experiment design. A paper, co-authored with Gerbush, detailing the results of the research will appear at the 15th Annual Conference on Implementation and Application of Automata in August. All of Heeringa’s research is supported by a $200,000 National Science Foundation award.
This past year Heeringa traveled extensively for research and pedagogical purposes. In the fall he gave invited talks at Bell Labs, Oregon State University, and the University of Minnesota, Twin Cities. He also used the trip to Minnesota to visit Prof. David Liben-Nowell at Carleton College in Northfield, MN. In October, Heeringa represented Williams College in Budapest as a member of a select committee of administrators and faculty that advised the fledgling Aquincum Institute of Technology (AIT). AIT will provide a study abroad opportunity for US undergraduates majoring in engineering and computer science starting spring of 2011.
Heeringa reviewed papers for SIAM Journal on Discrete Mathematics and SIAM Journal of Computing. He attended the 2009 Foundations of Computer Science (FOCS) conference held in Atlanta, GA and the 2010 Symposium on Discrete Algorithms (SODA) held in Austin, TX.
Prof. Morgan McGuire was also on AP leave during the 2009-10 academic year. Throughout the year, he worked with the NVIDIA Research laboratory. He explored new computational strategies for massively parallel Monte Carlo simulation motivated by specific problems arising in real-time 3D graphics. The results of this work appeared as a series of papers on techniques for approximating cinema-quality 3D in real time for games. They will impact the next generation of chip produced at NVIDIA, one of the leading parallel processor companies. McGuire is interested in parallel Monte Carlo strategies because they both directly affect consumer products today and have significant implications for how financial, medical and scientific modeling will be done in the future.
McGuire spent September 2009 at the Vicarious Visions subsidiary of Activision. There he learned about new problems in game development and consulted on lighting algorithms for the Marvel Ultimate Alliance 2 game for Xbox 360 and PS3. To archive the interesting new results he encountered in the literature and on the Internet while at these companies, McGuire started a blog that can be read at <http://graphics.cs.williams.edu>.
On campus, he served as a thesis advisor for Kefei Lei ’10. Lei’s independent research on surface scattering spans computer graphics and physics. It addresses a hole in scientific modeling of the large-scale interaction of matter and energy at the sub-micron scale just above molecules and just below features visible to the naked eye. Models of interaction at this scale are essential to computer graphics because they determine the appearance of a surface under specific lighting conditions. Lei’s work verified the validity of some long-standing computer graphics models in a limited context, while casting doubt on their accuracy in the general case. McGuire and Lei plan to continue collaborating when Lei enters graduate school at Brown University next semester.
McGuire attended several research conferences, including Interactive 3D Graphics and Games 2010 in D.C., High Performance Graphics 2009 and 2010 (which due to schedule shifts was held twice this academic year) in Los Angeles and Saarland, Germany, the joint symposium on Sketch-Based Interfaces and Modeling and Non-photorealistic Animation and Rendering (NPAR) 2010 in Annecy, France, and the 2010 SIGGRAPH annual conference in Los Angeles. He was the papers and general conference co-chair for NPAR and taught an invited course at SIGGRAPH. At I3D his early work on proximity shadows received the best poster award and at HPG his paper on real-time indirect light for games received second place in the best paper awards. With Eric Haines of Autodesk he edited a special issue of IEEE Transactions on Visualization and Computer Graphics and he served as an editor for the Journal of Graphics Tools.
Over the last few years, Prof. Thomas Murtagh has worked to design an alternative to traditional introductory computer science courses that focus narrowly on teaching programming skills. In particular, he has developed an introductory curriculum that uses the exploration of networking technology as a vehicle to motivate and focus the presentation of a broad overview of the techniques and principles underlying all work in computer science. This year, Murtagh gave a workshop on teaching such introductory courses at the annual SIGCSE Symposium on Computer Science Education. Murtagh also presented an overview of an innovative laboratory exercise developed for this new introductory curriculum as part of the Nifty Assignments panel at the SICCSE symposium.
During the summer of 2008, Murtagh worked with Michael Dinku ’11 on the analysis of traces of Internet traffic with the goal of identifying techniques that might be used within Internet router to efficiently distinguish between small and large data flows in order to design routers that more effectively allocate available bandwidth. This summer, Murtagh will continue this work with Michael. Murtagh attended the ACM SIGMETRICS conference in June 2010.
DEPARTMENT COLLOQUIA
Prof. Stephen Freund, Williams College
“FastTrack: Efficient and Precise Dynamic Race Detection”
Computer Science Faculty
“Graduate School - How to Apply and What to Expect”
Prof. Douglas Turnbull, Swarthmore College
“Combining Audio Content and Social Context to Improve Music Discovery”
Computer Science Alumni Panel
“Beyond Williams – Life After Williams”
Prof. Kristina Striegnitz, Union College
Evaluating Natural Language Generation Systems in Online Virtual Environments
Prof. Melanie Mitchell, Portland State University, Class of 1960 Scholars Lecture in Computer Science
“Complexity: A Guided Tour”
“Four Principles of Pattern Recognition in Living Systems”
Computer Science Faculty, Williams College
“Ongoing and Prospective Research in Computer Science”
Prof. Barath Raghavan, Visiting Professor of Computer Science, Williams College
“Computing in the Long Emergency”
Prof. Daniel Aalberts and Bill Jannen ’10, Williams College
“Introducing Zfold: Somewhere over the RNAbow”
Prof. Kathi Fisler, Worcester Polytechnic Institute
“How a Card Game Changed My View of Access-Control Policies”
Prof. Stephen Chong, Harvard University
“Inference of Usable Declassification Policies”
J. Nate Foster ’01, Postdoc, Princeton University
“Matching Lenses: Alignment and View Update”
Prof. Laura Toma, Bowdoin College
“Scalable Algorithms for Visibility Computation on Massive Terrains”
Dr. Paul Hudak, Yale University, Class of 1960 Scholars Lecture in Computer Science
“Euterpea: from Signals to Symphonies”
“Causal Commutative Arrows”
Andrea Danyluk, Williams College
“Identification of Individual Spotted Salamanders”
DEPARTMENT STUDENT COLLOQUIA
Dan Fast ’10, Erdem Sahin ’11, Mayada Gonimah ’10, T. Andrew Lorenzen ’12 and Katie Creel ’10
“What I Did This Summer”
David Moore ’10
"Rethinking Transfer Learning in Markov Logic Networks"
Kefei Lei ’10
“Assessment of the Microfacet Theory in Modeling Bidirectional Reflectance Distribution Functions”
OFF-CAMPUS COLLOQUIA
Jeannie Albrecht
“Achieving Experiment Repeatability on PlanetLab”
University of Utah (NSF Archive Workshop), Salt Lake City, UT, May 2010
“Managing Distributed Applications using Gush”
TridentCom, Berlin, Germany, May 2010
“Running Experiments with Gush”
GENI Engineering Conference 7, Durham, NC, March 2010
“Academic Career Paths and Skills for Success”
SOSP Diversity Workshop, Big Sky, MT, October 2009
“Application Management and Visualization with Plush”
“PlanetLab – P2P Testing in the Wild”
P2P, September 2009, Seattle, WA
“PlanetLab Experimenter Tools”
GENI Engineering Conference 5, Seattle, WA, July 2009
Andrea Danyluk
“Promotion to Full Professor”
“Leadership in its Various Manifestations”
CRA-W Advanced Career Mentoring Workshop, Providence, RI
“The Best Way: Research by Undergraduates”
“Recruiting and Retaining at Primarily Undergraduate Institutions”
“The Graduate School Experience”
“Work/Life Balance and Time Management”
Grace Hopper Celebration of Women in Computing, Tucson, AZ
Stephen Freund
“Types for Concurrency”
Invited Keynote Lecture Schloss Dagstuhl, Germany, Aug. 2009
“FastTrack: Precise and Efficient Dynamic Race Detection”
University of Massachusetts, Amherst, September 2010
“The RoadRunner Dynamic Analysis Framework for Multithreaded Programs”
ACM Workshop on Program Analysis for Software Tools and Engineering
Toronto, Canada, June 2010
Brent Heeringa
“A Data Structure for Dynamic Partial Orders”
Invited talk at Boston University Theory Seminar
“Approximating Optimal Binary Decision Trees”
Invited talk at Alcatel-Lucent Bell Laboratories
Invited talk at Oregon State University
Invited talk at the University of Minnesota, Twin Cities
Invited panel discussion on graduate school at the University of Massachusetts
Morgan McGuire
“Image Space Photon Mapping”
Rensselaer Polytechnic Institute, Troy, NY, Dec. 3, 2009
University of Massachusetts at Amherst, Amherst, MA, Nov. 17, 2009
University of Pittsburgh, Pittsburgh, PA, Feb. 16, 2010
University of Maryland-Baltimore County, Baltimore, MD, Feb. 18, 2010
University of Maryland, College Park, MD, Feb. 22, 2010
POSTGRADUATE PLANS OF COMPUTER SCIENCE MAJORS
Samuel Blackshear
Graduate school in Computer Science at the University of Colorado, Boulder, CO
Brian Citro
RightNow Technologies, Bozeman, MT
Katie Creel
MIT Lincoln Laboratory, Lexington, MA
Daniel Fast
Undecided
Mayada Gornimah
Goldman Sachs, New York, NY
Samuel Jackson
Undecided
Kefei Lei
Graduate school in Computer Science at Brown University, Providence, RI
Kelsey Levine
Williams College, Assistant Ski Coach
David Moore
Graduate school in Computer Science at the University of California, Berkley, CA
Mohamed Musthag
Graduate school in Computer Science at the University of Massachusetts, Amherst, MA
Arjun Narayan
Graduate school in Computer Science at the University of Pennsylvania, PA
Jeffrey Perlis
Teacher of Math and Computer Science, Kingswood-Oxford School, West Hartford, CT
Austin Stanley
Master’s Degree in Computer Science at St. Andrews, Scotland