Date: Tue, 14 Jan 1997 19:48:48 GMT Server: NCSA/1.5.2 Last-modified: Sun, 12 Jan 1997 22:30:28 GMT Content-type: text/html Content-length: 5179 Hope 1997 REU Information

Undergraduate Research in Computer Science

Summer 1997

The Computer Science Department at Hope College with support from the Research Experiences for Undergraduates Program of the National Science Foundation, is providing an opportunity for a number of undergraduate computer science students to participate in a ten-week research program.

Dates: May 27, 1997 to August 1, 1997

Stipend: $3,000

Housing: On-campus housing provided at no cost

Travel: Limited travel funds are available for participants

Eligibility: Any U.S. citizen who has not received a baccalaureate degree and will be enrolled in an undergraduate degree program in Fall, 1997 is eligible. Women and members of minority groups are particularly encouraged to apply.

Projects:

  1. Concurrency Anomaly Prevention Using Java Threads
  2. Implementing Parallel Software Design Tools
  3. Animations of Algorithms and Object-Oriented Concepts
  4. Visualization of String Searching Algorithms
  5. Parallelization of Global Optimization Software

Application Deadline: An application, a transcript of all undergraduate work, and a letter of recommendation from a faculty member must be submitted on or before March 15, 1997

Applications and further Information: Applications forms may be downloaded in PostScript form from here. Applications and further information are available from

      Herbert L. Dershem
      Department of Computer Science
      Hope College
      Holland, MI 49423

      reu@cs.hope.edu

      phone: (616) 395-7508	
      FAX: (616) 395-7123	

Internet: There is more information available via anonymous FTP from the site "smaug.cs.hope.edu" under the "/pub/reu" directory. Also, information is available from the World Wide Web as the page "http://www.cs.hope.edu/~dershem/info.html"

Research Projects Hope College Computer Science Summer 1997

Project 1: Concurrency Anomaly Prevention Using Java Threads (Michael J. Jipping)

This project will implement the prediction and detection of concurrency anomalies in the language Java. This will implement detection methods as parallel threads in Java that monitor concurrent activity and detect when concurrent threads will damage a shared resource. We will be spending time with both threads programming and anomaly detection methods.

Project 2: Implementing Parallel Software Design Tools (Michael J. Jipping)

This project will focus on integrating design tools for parallel programs into a workable software development environment and demonstrating the usefulness of this environment. Specifically, we will build prototype design tools and evaluate these tools for usability, accuracy, and fitness for existing environments.

Project 3: Animations of Algorithms and Object-Oriented Concepts (Herbert L. Dershem)

This project will focus on the development and use of tools for animations within the framework of the Java programming language. One aspect will be the use of animations to illustrate object-oriented concepts by creating algorithm animation classes that will make such animations nearly transparent to the algorithm implementor. Another aspect will involve the animation of data structure algorithms adapting the techniques of the THREADS package that was developed by previous research projects.

Project 4: Visualization of String Searching Algorithms (Herbert L. Dershem)

Approaches will be investigated for visualizing the processes of various string searching algorithms. These will include Knuth-Morris-Pratt, Boyer-Moore, and Rabin-Karp methods. Java applets will be written to implement the visualization techniques that are designed.

Project 5: Parallelization of Global Optimization Software (Ronald Van Iwaarden)

Professor Van Iwaarden has developed a global optimization software package called VerGO. It solves global optimization problems using interval arithmetic and automatic differentiation. This project will develop a version of VerGO using MPI and PVM. Both of these versions will be tested on a network of Sun workstations to evaluate the efficiency of the different parallel implementations when running on either a single, multiple CPU machine or on many single CPU machines.