Cs 6910 Projects

Computer Science faculty have the projects described below available for students to work on. Other projects are also possible. You can visit individual faculty to discuss a project of your choosing, or other projects that they might have available.


Dr. Rajaei or Dr. Kresman: Use of Java and Parallel Distributed Simulation

BACKGROUND

Parallel or distributed simulation refers to the execution of discrete-event simulation programs on a multiprocessor system or network of workstations. This may be carried out in a number of programming paradigms, including Java.

OBJECTIVE

Evaluate the suitability of certain public domain Java simulation libraries by developing Java based simulation applications using these libraries. The applications may use several techniques. Conduct test runs on target architectures and generate numerical data on performance and other factors. Prepare a detailed report on your work and give an oral presentation at the department colloquium slot.

The project may employ more than one student. It involves many phases with opportunities for students to work in groups or in different phases of the project.

PREREQUISITES

Familiarity with discrete-event simulation and parallel computing. Good Java programming skills.


Dr. Kresman: Component Development for Public-domain C Library

BACKGROUND

The Internet Research Group at Sun Microsystems initiated the development of a public-domain C library to validate chains of X.509 certificates. The relevant standard is RFC 3280. Volunteers from outside have been working on many pieces of this library. When completed, it can be used by users/programs across a range of platforms. Soon, the library may become part of open source code. For now, it is still work in progress and a number of additional components are needed.

OBJECTIVE

Your part is a piece of the overall puzzle; you need to follow good software engineering principles and established architecture and programming guidelines for the library. As well, the development employs unit testing and code review.

Following the completion of the code and comprehensive write-up, you will give an oral presentation at the department colloquium slot.

PREREQUISITES

Prerequisite include good C programming skills (NOT C++), CS 4640 ideas, PKI and aspects of CS 5080, CS 6290.

ELIGIBLE COMPONENTS

Some of the components are listed below, each of which may be worked on by a team of students:

  • Certificate status checking (starting with full direct CRLs and moving on to OCSP, segmented CRLs, indirect CRLs, delta CRLs, etc.)
  • Name constraints checking; Certificate policy processing
  • Fetching certificates and CRLs from LDAP, HTTP, and other repositories (using information provided in AIA, SIA, or CRLDP extensions or through configuration)

Dr. Kresman: Component Development for Public-domain C Library

BACKGROUND

The Internet Research Group at Sun Microsystems initiated the development of a public-domain C library to validate chains of X.509 certificates. The relevant standard is RFC 3280. Volunteers from outside have been working on many pieces of this library. When completed, it can be used by users/programs across a range of platforms. Soon, the library may become part of open source code. For now, it is still work in progress and a number of additional components are needed.

OBJECTIVE

Your part is a piece of the overall puzzle; you need to follow good software engineering principles and established architecture and programming guidelines for the library. As well, the development employs unit testing and code review.

Following the completion of the code and comprehensive write-up, you will give an oral presentation at the department colloquium slot.

PREREQUISITES

Prerequisite include good C programming skills (NOT C++), CS 4640 ideas, PKI and aspects of CS 5080, CS 6290.

ELIGIBLE COMPONENTS

Some of the components are listed below, each of which may be worked on by a team of students:

  • Certificate status checking (starting with full direct CRLs and moving on to OCSP, segmented CRLs, indirect CRLs, delta CRLs, etc.)
  • Name constraints checking; Certificate policy processing
  • Fetching certificates and CRLs from LDAP, HTTP, and other repositories (using information provided in AIA, SIA, or CRLDP extensions or through configuration)

Dr. Kresman: Parallel and distributed algorithms for mining frequent patterns of large data sets

OBJECTIVE

Study and implement at least 4 or 5 existing algorithms. Empirical performance evaluation using large (real) data sets. Use of real (OSU) and simulated processors.

GOALS

Propose some improvement over one of the existing ones, possibilities:
- patterns in underlying data sets vs influence on performance
- improved data structure vs influence on performance
- processor topology vs influence performance metrics
- anything else?

EXPECTATIONS

Weekly progress report/meet with me (at least once a week)

Write a VERY detailed, formatted, and self-contained project report
- on the literature
- your understanding
- your improvements
- program design and methodology
- code walk through + documented code
- program run snapshots and discussion

The write-up may have to be iterated a few times in consultation with me and possibly one other faculty.

Formal oral presentation at a departmental colloquium.


Dr. Lee: Information Visualization

OBJECTIVE

The goal of this project is to develop new ways to visualize useful information in 2D and 3D data such as medical data (e.g., CT and MRI scans). The project will involve literature reviews in visualization and develop new ways to show changes in the data.

USEFUL BACKGROUND

2D and/or 3D graphics.


Dr. Lee: Computer Vision with GPU Computing

OBJECTIVE

The goal of this project is to implement a computer vision algorithm using Cg/CUDA-based GPU programming language. In particular, the project will involve GPU implementation of an existing satellite image structural segmentation algorithm.

USEFUL BACKGROUND

2D Graphics with OpenGL/GLUT, image processing, GPU programming.

ADDITIONAL NOTES

Dr. Lee has other graphics-related projects.


Dr. Zimmerman: Parallel Graph Algorithms

OBJECTIVE

Adapt or retool code that generates families of Graphs/DiGraphs according to user specified parameters and then allows algorithms to be executed on those graphs. This would likely involve: the BGSU cluster and the new SMP machine, but could also involve use of machines at OSC.

USEFUL BACKGROUND

MPI, graph theory

ADDITIONAL NOTES

This would be an ideal project for someone who enjoyed CS 4170 and CS 6120