DEPARTMENT OF COMPUTER SCIENCE
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
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.
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.
Familiarity with discrete-event simulation and parallel computing. Good Java programming skills.
Dr. Kresman: Component Development for Public-domain C Library
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.
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.
Prerequisite include good C programming skills (NOT C++), CS 4640 ideas, PKI and aspects of CS 5080, CS 6290.
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
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.
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?
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
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.
2D and/or 3D graphics.
Dr. Lee: Computer Vision with GPU Computing
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.
2D Graphics with OpenGL/GLUT, image processing, GPU programming.
Dr. Lee has other graphics-related projects.
Dr. Zimmerman: Parallel Graph Algorithms
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.
MPI, graph theory
This would be an ideal project for someone who enjoyed CS 4170 and CS 6120