BGSU Logo
BGSU Site Map
BGSU Home BGSU Academics BGSU Admissions The Arts BGSU Athletics Libraries Offices
Department of Computer Science
Computer Science Home Undergraduate Program Graduate Program Computer Science Faculty Academic Advising Mission and Vision
Small font Medium font Larger font Largest font
Left Bracket CS 6910 Projects Right Bracket

Use this button

to go quickly to a specific section

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. Julie Barnes: Proteomics Analysis Software

OBJECTIVE

To develop software to process spectra mass unit values for cells. At a minimum the software will need to sort two files in parallel, looking for an 80-unit difference in values between the peaks that are recorded on the two files. In addition, multiples of 80, such as 1600, 2400, etc. should be flagged if they are found.

BACKGROUND

Cells are affected by a compound called a tumor promoter, in such a way that they take on some of the properties of cancer cells. The investigators have evidence that these changes can be traced back to a single protein. This protein, called PKC, is an enzyme that donates phosphorescer groups to other, unknown proteins. The mission of the group is to find out the identity of the proteins. They will do so by cutting up the proteins of the whole cell, in cells where the PKC is unaltered versus those where it has been eliminated. By detecting the 80-unit difference between the peptides from PKC-replete and PKC-free cells, the investigators will identify the peptide fragments from the unknown proteins. >From that, they can learn the identity of the proteins by sequencing the peptides.

PROPOSAL

At present, the investigators have spectra from a technique known as MALDI-TOF. They need to compare the spectra obtained from the two types of cells, which has so far been done "by eye". However, there are already a number of spectra to be compared, and the investigators may not have found the differences. If software is used, we can determine whether every difference has been found "by eye" in those samples. This project will be followed by further experimentation to confirm the peptides as consistent products altered by the enzyme, PKC. The software will be used in the confirmation, as part of a graduate student's Ph.D. project. It may be of interest commercially as well.


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:

  1. Certificate status checking (starting with full direct CRLs and moving on to OCSP, segmented CRLs, indirect CRLs, delta CRLs, etc.)
  2. Name constraints checking; Certificate policy processing
  3. 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. Maner: Team Formation by Genetic Algorithm

GOAL

The goal of this project is to develop a GA (genetic algorithm) that will assign students to project teams of size N based, first, on personality factors; second, on skill sets; and third, on characteristics desirable in a team leader.

THE PROBLEM

Teams composed of the same personality types tend to be less productive than teams that are more diverse. In addition, for class projects, it is unfair for one team to have all the experts and another team to have all the novices.

THE SOLUTION

To solve these two problems, this GA program would start by randomly distributing students into teams of N members. Then, the GA would experiment with different distributions of students until personality factors are nicely balanced (i.e., as diverse as possible). Then, with minimal disturbance to the personality balance, the GA would experiment with different distributions of skill sets until both personality factors and skills sets are nicely balanced. Finally, with minimal disturbance to the balance reached for personality and skill sets, the GA would place someone in each group who has the potential to serve as team leader. If necessary, the GA could favor personality balance over skill balance, and skill balance over leader identification.

DETAILS

This program should run as a web application, and should collect the necessary student data by presenting interactive survey forms to users. The list of relevant personality factors and the list of relevant skills should be imported from simple text files, where they can be easily changed. Each line would be an ordered pair:

"factor or skill in quotes" integer-value

The integer-value represents the strength of the factor. For skills, this number will come from an online self-assessment form; for personality factors, this number will come from an online form that measures personality type (e.g., the "Personality Styles Inventory"). This information would be stored in a mySQL database as it is collected; as soon as information has been collected from the entire pool of students, the GA would import the data and begin its experimentation.

DEVELOPMENT STRATEGY

An iterative test-first strategy is expected. Before any coding is done, a set of representative test cases with known solutions should be created.

QUALIFICATIONS

To complete this project, the student must know (or be willing to learn) the required elements of JavaScript, HTTP, Perl (or PHP), XHTML, AJAX, CSS, mySQL and possibly HTML 5. The GA itself can be implemented using Python or Perl libraries.


Dr. Maner: Hartman Value Profile for BGSU Core Values

GOAL

Based on Robert S. Hartman's mathematical theory of value, develop an instrument similar to the Hartman Value Profile that would measure BGSU's core values as reflected in our general education requirements. Presino has written an background article showing how this might work. Hartman's mathematics of value is detailed in his book, The Structure of Value, which is available from the BGSU library.

QUALIFICATIONS

This project presupposes some knowledge of symbolic logic as taught, for example, in PHIL 3030.


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: MS Access Database

OBJECTIVE

Work with the Sidney A. Ribeau President's Leadership Academy ( http://www.bgsu.edu/offices/sa/pla/ ) to upgrade their program technology infrastructure. This would include: design and implementation of a new MS Access Database, assessing and upgrading an existing database, updating their website (including an electronic application submission form process).

START DATE

Project could be started in the summer and would continue in the Fall.


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


Dr. Zimmerman: iOS VRML

OBJECTIVE

We have been investigating the use of 3D graphics as a component in the delivery of instructions for construction tasks, e.g. build a Lego model. We have principally been using VRML to generate the graphics as well as to provide some of the user interaction capabilities. This project would be to develop 1) a new 3D construction task model and 2) a task presentation environment in VRML/X3D. Experiment design and preliminary testing as time allows.

USEFUL BACKGROUND

3D Graphics


Dr. Zimmerman: Mobile Game Implementation -- Part II

OBJECTIVE

A local entrepreneur has created a board game that he wishes to move to a computerized version. The game engine is complete. Part II will require refining/revamping the front end user interface and extending the game for network play. This project would require learning to use the iOS application development framework.

ADDITIONAL NOTES

This is a continuation of a project started by a former grad student.


Dr. Zimmerman: Mobile Game Implementation -- Game AI Subsystem

OBJECTIVE

A local entrepreneur has created a board game that he wishes to move to a computerized version. The game engine is complete. This project would involve developing an AI subsystem for the related project. This would allow a player to play against a computerized opponent. This project would require learning to use the iOS application development framework.


Dr. Zimmerman: Mobile Game Implementation -- Port to Android

OBJECTIVE

A game engine has been developed using sqlite. This project would first require developing a version for the Android platform. Several next steps would be possible including: developing an AI subsystem, creating a network version, other. This project would require learning to use the Android SDK. A game engine has been developed using sqlite. This project would first require developing a version for the Android platform. Several next steps would be possible including: developing an AI subsystem, creating a network version, other. This project would require learning to use the Android SDK.



webmaster@cs.bgsu.edu