|
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. 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. This
would be an ideal project for someone who enjoyed 417 and 612.
USEFUL BACKGROUND
MPI, graph theory.
Dr. Zimmerman: Campus-Maps on Mobile Devices
DESCRIPTION
This project would involve extending and/or adapting a project from a
prior semester. This earlier project involved developing a system that
would allow for the 'easy' generation of a campus navigation system,
deployable on a mobile device. A working prototype was developed. A
number of issues remain. Some of these are:
- improving the graphics
- navigation enhancements
- improving robustness
- user testing
There was some initial discussion as to use of 3D graphics -- it's
still not clear whether this is a viable (or even desirable option).
USEFUL BACKGFOUND
2D graphics
Dr. Zimmerman: Skeletal animator for XNA Game express.
DESCRIPTION
In many games, 3d animations (e.g. a humanoid running) are created
offline using tools like Maya and 3d studio max. The animations are then
'played' at specific times in the play of the game. The XNA game express
environment has limited support for use of such 'predefined' skeletal
animation. Ideally this project would have two overlapping components. 1)
develop a toolkit of C# classes to allow easy manipulation of predefined
animations within the XNA environment. 2) create a simple XBOX 360 game
that demonstrates the utility of the toolkit. XBOX 360 provided.
USEFUL BACKGROUND
3D Graphics
Dr. Zimmerman: A Java 3D construction presentation
toolkit.
DESCRIPTION
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 involve the creation of a set of software tools to create
construction-task presentations using Java3D for graphics and user
interaction.
USEFUL BACKGROUND
Java, Java3d, graphics.
Dr. Julie Barnes: Data Management Development Project
OBJECTIVE OF PROJECT
The online Bachelor of Liberal Studies program is seeking a reliable,
easy to use database for tracking prospective students from first
contact, to enrollment, and beyond.
GOALS
- Develop a database for prospective student management in Access or
File Pro.
- Create queries for use in tracking prospects and their enrollment
patterns.
- Construct queries for use in tracking prospect contact
activities.
- Generate queries for use in extracting a variety of prospect data
(i.e., zip code and ages).
- Design web-based form(s) for gathering client information and
successful importation to database system.
Student will be required to work with BLS advisor to determine the
specifications of the database, queries, reports, and forms. Student will
also be required to provide adequate documentation to maintain and use
the system.
Dr. Julie Barnes: Proteomics Analysis Software
OBJECTIVE OF PROJECT
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 160, 240, 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. Zimmerman: DirectX as a platform for 3D Game
development
DELIVERABLE
The deliverable of this project is an interesting game, developed with
the DirectX application suite.
STUDENT LEARNING OUTCOMES
- Become familiar with the DirectX programming "paradigm" and
API
-
Develop an understanding of fundamental aspects of game programming,
including some combination of the following:
- Graphics, 2D or 3D
- AI
- Networking ( e.g. multiplayer games)
- Physics
APPROXIMATE TIMELINE
Weeks 1-6
- The student will learn DirectX using suitable textbook and/or
online resources. (approximately 1/3 of the semester).
- The student will learn DirectX using suitable textbook and/or
online resources. (approximately 1/3 of the semester).
- The student will identify a suitable game to be implemented
Weeks 7-16
The student will develop the selected game.
VARIATIONS
I have several games projects from former students that could serve as
a starting point. A team project is a possibility.
Dr. Rajaei or Dr. Ramakrishnan: 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. Chao: Agile Project Estimation Tool
GOAL
The goal of this project is to develop a project management CASE tool
that allows an agile development team to estimate and track development
schedules.
BACKGROUND
In agile software development, tasks are estimated in magnitude rather
than in real time or "ideal" time. That is, a generic unit is used for
estimating the relative length of time that a task may take to complete.
In order to know how much the team can do in each release, developer
velocity (the relative productivity to a typical programmer) is also
estimated. A project buffer is then calculated and used along with the
project magnitude and team velocity to carry out a release plan. The tool
will automate the release planning and tracking in agile development. It
should allow the user to enter task information and team velocity,
calculate the project buffer, and then generate a release plan.
DETAILS
In this project, the student will first learn the process of agile
project management and then develop a CASE tool to automate the process.
The student can choose their own development environment on Windows. A
background in Agile Development is preferred.
Dr. Ramakrishnan: 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 464
ideas, PKI and aspects of CS 508, CS 629.
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. Leventhal: LEGO Construction Project
Developing VRML worlds and VRML presentation of a LEGO construction
project.
The student would need to:
1. Train themselves to use VRML and to interface VRML with java and C++
(this means go through some tutorials and practice exercises)
2. Learn about the notion of "inherent complexity" in building tasks
(this means read a paper)
3. Identify a LEGO building task with a suitable level of inherent
complexity
4. Build the VRMLs to present the building instructions for the building
task
5. Imbed the VRML's into a suitable user interface to use for an
experiment.
Students could work in the CHIL lab although the materials to do
development in VRML are mostly free.
START: summer or fall
Dr. Lancaster: GUI development using C++ and Visual
Studio
BACKGROUND
Introductory students want to be able to develop applications using a
GUI environment, but the C++ language extensions that allow this are
complex and employ an unusual syntax. Introductory students will not be
able to comprehend these language extensions while also learning
introductory programming concepts.
GOAL
The purpose of this project is to develop extensions to several .NET
controls (specifically form, text box, list box, button, label) that will
allow the student to develop GUI applications without using the C++
extensions employed by .NET. The controls will be developed in such a way
that they can be added to the toolbox and be used as alternatives to the
built-in controls.
Several examples and a tutorial document will also be developed as
part of the project.
Dr. Ramakrishnan: 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.
|