ECE 405/492 Requirements for Computer Engineering
Students wishing to take ECE 405 or ECE 492 in the computer engineering
area must select a project and an advisor. Generally, projects are
based on current interests of the advisor, but in some cases a student
may wish to propose a project to a specific advisor. Both student
and advisor must agree on the project.
Students must have a clear idea of what project they will be doing
before the start of the semester. Typical projects are expected to
to require work over the entire semester, thus one cannot expect to
research the project first and then complete it in the latter part of
the semester. Most projects require a substantial time commitment
ranging as high as 10 hours per week for a 3 credit hour class.
Each advisor has his own requirements for reporting status and answering
questions during the semester. Generally, students may be expected to
attend a weekly status meeting. It is the student's responsibility to
ensure that he is making progress on the project and to approach the
advisor if there are problems or questions. Students who fail to make
sufficient progress by the end of the semester can expect to receive a
poor grade, possibly failure.
Below are listed a number of project areas. These are divided into
several major areas, each of which is further divided into sub areas.
Within these sub areas is a description of the kind of projects that
may be available, and in most cases of few examples of specific
projects. Students should read about the respective areas and decide on
two or three that most coincide with his or her interests. Next,
students should contact the faculty and/or graduate students listed with
each area to get more information on the kind of projects that may be
ECE 405/492 Project Supbject Areas for Computer Engineering
All Projects have contact information. Grad students listed as in
the "EIB" are in Fluor Daniel Rm 352 656-7223. All email addresses
are @parl.clemson.edu or @ces.clemson.edu, or @clemson.edu.
Students wanting to take ECE 405 in computer engineering can consider a
number of different project areas:
System Software for Beowulf Parallel Computers
Beowulf systems consist of commercial off-the-shelf (COTS) hardware
(IOW, PCs) running open source software (usually Linux plus a number of
open source packages) that is used as a dedicated parallel processing
facility. Parallel processing is using multiple computers to solve a
single problem faster and is heavily used in scientific and engineering
applications. The Parallel architecture Research Lab is heavily
involved in developing system software for Beowulf systems. Projects in
this area could include implementing OS code, development or mangement
tools, or parallel applications that use these features.
Contacts: Dr. Ligon (walt), Phil Carns (EIB, pcarns), Carel Lewis (EIB, carell)
Parallel Virtual File System
Mini-Grid Management Tools
Custom HP Network Protocols
Problem Solving Environments for HPCs
Programming high performance computers (HPCs) is a very important part
of modern science and engineering, but is a very difficult thing to do.
The primary problem usually comes in that one must have a good
understanding of both the application area and high performance
computing to do a good job of it. Problem Solving Environments are sets
of tools used for writing custom programs for HPCs specifically for a
particular application area such as molecular dynamics, computational
electromagnetics, computational fluid dynamics, or impage processing (to
name a very few). PSEs combine features of compiler, debuggers,
operating systems, program editors, databases, and expert systems. The
Parallel Architecture Research Lab has been developing software
infrastructure to make the development of PSEs easier and more
effective. Projects in this area might include developing tools for one
or more PSEs or developing applications as a test bed for one or more
Contacts: Dr. Ligon (walt), Dr. Stanzione (dstanzi), Nathan Debardeleben
CECAAD - Base Tools
CERSe - Remote Sensing
- Probabilistic Neural Network:
Classification of pixels such as noticing automatically
(algorithmically) which pixels are land, sea, cloud, forest, beach,
- Parallel GZip:
A parallel programming implementation of the 'gunzip' and 'gzip'
programs which use standard compression algorithms (well known) to
compress and uncompress data.
- Parallel RIP:
A parallel programming implementation of the software which decodes the
satellite data and breaks it into information such as the different
bands (channels), calibration, and navigation information.
- Better Dataset Bounding:
Better algorithms / methods for specifying the bounding areas of a
dataset which is, by nature, not square. We need the ability to specify
a square area and determine if that square area resides within this
- Queueing and Scheduling of TPHs:
Using the MAUI scheduler to implement scheduling of our data structure
used to pass data between modules in the environment. Issues of
queueing should come up, such as those discussed in 848/845 (Markov
- Lots of Graphical Stuff:
You could do graphical stuff in areas like making a better colormap
editor / chooser, general interface, and other GUI issues.
Reconfigurable Computing Systems
Reconfigurable computing systems ...
Contacts: Dr. Ligon (walt), Dr. Sass (rsass), Keith Underwood (Riggs,
Adaptable Computing Cluster