Computer Science
@ Colgate University

2007 Student Summer Research

Mid May--Mid July 2007


The following students spent time on campus doing summer research with their faculty sponsors;

  • Liana Hadarean '09, "Implementing Imperative Language Features into Haskell"
    Faculty Sponsor: Professor Philip Mulry


  • This research exploited advanced features of the lazy functional programming language Haskell to investigate how to impose imperative programming language features, such as I/O, into Haskell. The main area of investigation was the study and use of advanced tools such functors, monads and arrows. These mathematical entities, implementable in Haskell, also provide a framework for advanced programming design using polymorphic structures. Applications include standard I/O structures, animation, domain specific languages, and monadic interpreters.

  • Brendan Pavalow '08, "Studying Facebook"
    Faculty Sponsor: Visiting Assistant Professor Jaime Spacco


  • Brendan developed infrastructure for studying Facebook, the popular online social networking website. This work required the use of a MySQL database as well as Hibernate, an object-to-relational-database mapping technology for the Java language. In addition to this work, Brendan learned to write annotations with the Java Modeling Language (JML) and to test these annotations using the Version 2 of the Extended Static Checker for Java (ESCJava2). Finally, Brendan helped with courseware technology that will be used in COSC 201 in Fall 2007.

  • Colin Twomey '08, "Cybernetic house-hunting honeybee swarms for solving difficult optimization problems: an asynchronous, fine-grained parallel metaheuristic for combinatorial optimization."
    Faculty Sponsors: Professor A. Penny Anderson, Professor Frank Frey and Professor Aaron Robertson


  • Colin Twomey, Prof. A. Penny Anderson (Visiting Prof. in Computer Science for 2006-07 academic year), Prof. Frank Frey (Biology), and Prof. Aaron Robertson (Mathematics), developed an algorithm based on the collective intelligence exhibited by honeybee swarms when selecting a new nest site to solve difficult (NP-hard) combinatorial optimization problems (such as the Quadratic Assignment Problem). Their implementation lends itself very well to parallelization on the shared-memory, multi-core/multi-processor systems becoming more and more prominent in modern computer design. Their work on swarm intelligence provides a point of comparison for other biology-inspired algorithms, such as ant colony optimization, particle swarm optimization, and the numerous evolution-based algorithms.