User Tools

Site Tools


project:projects

Project Ideas

This page gives ideas for projects for a variety of subject areas. This list is rough and subject to change. Not all of the ideas are practical, and only a small number can be used for student projects. Eventually, each project should have notes describing which sequential and parallel topics of interest it will cover.

Some of these projects are for student implementation while others may be more suitable for classroom demonstration.

Project Sequential Concepts Parallel Concepts Parallel Payoff Difficulty
Games
Light Cycle Game class design, inheritance thread scheduling, synchronization,
event driven programming
Design simplicity 3
Checkers AI arrays (multi), recursion, GUI* task allotment Response time 4
Chess AI arrays (multi), recursion, GUI* task allotment Response time 4
Connect Four AI arrays (multi), recursion, GUI* task allotment Response time 4
Puzzles
Word Hunt
(DNA search)
arrays (multi), strings task allotment Essentially none 2
15-Puzzle arrays (multi), recursion, GUI* task allotment Speedup 3
8-Queens arrays (multi), recursion task allotment Speedup 3
Simulations
Monte Carlo
Approximation for Pi
arithmetic, GUI* task allotment Speedup 1
Life arrays (multi), GUI* task allotment, synchronization Essentially none 2
Planetary Motion arrays, arithmetic, GUI* task allotment, synchronization Speedup 3
Ideal Gas Simulation dynamic data structures, arithmetic, GUI* task allotment, synchronization Speedup 3
Business Applications
Spell Checking
(with suggestions)
string manipulation, arrays (multi),
file I/O, dynamic data structures
task allotment Speedup 4
Multithreaded Banking file I/O, dynamic data structures non-determinism, synchronization Response time 5
Stock Market file I/O, dynamic data structures non-determinism, synchronization Response time 5
Online Auction file I/O, dynamic data structures non-determinism, synchronization Response time 5
Web Server file I/O, strings non-determinism Response time 3
Multithreaded Database file I/O, strings, dynamic data structures non-determinism, synchronization Response time 5
Mathematics
Matrix Multiplication arrays (multi), arithmetic task allotment Speedup 1
Prime Number Testing arithmetic task allotment Speedup 1
Direct Approximation of Pi arithmetic task allotment Speedup 1
Sorting dynamic data structures task allotment, synchronization Speedup 3

* GUI can be supplied by the instructor or given as part of the assignment, depending on needs.

project/projects.txt · Last modified: 2010/05/11 14:43 by jtk