Professional Interests (Joel Adams)
My professional interests include both
teaching and scholarship
(consisting of
published work and
professional activities).
If there is a general theme to my scholarship,
it is in reducing the level of frustration involved in dealing
with computers.
Specific areas of interest include:
-
Computer science education: how
the process of teaching computer science can be improved.
Some of my projects in this area include:
-
Using Alice
to teach object-based programming.
I direct the
Imaginary
Worlds Camps, in which middle school students
use Alice to create computer-generated animated movies,
and learn the basics of programming at the same time.
I have also written two books:
-
Alice in Action, and
-
Alice in Action with Java.
-
Microwulf
is a personal, portable
Beowulf cluster
that provides over 26 Gflops of measured performance
for less than $2500.
It is a distributed multiprocessor that
provides significant computational power
at a price nearly any college or university can afford.
-
The Ohm Project
is a study of different
Beowulf cluster
topologies, the goal of which is to identify the most
cost-effective cluster topology for multidisciplinary use
(as opposed to dedicated-to-a-single-problem use).
-
Using Lego Mindstorms robots to teach Java programming.
-
PITA (Platform Independent Testing Application) is an on-line
testing tool that allows tests to be created and given anywhere
on the Internet
(currently suspended until we find funding).
-
Methodologies that produce more reliable and easier to maintain
software.
Applied object-oriented programming,
which currently seems to hold some promise in this area.
Some of my projects in this area include:
-
Extensions to
ooMPI:
a project is to apply object-oriented techniques
to high-performance computing, so that HPC programs are
less work to write.
-
ooMindstorms: A software library supporting
object-oriented control of Lego Mindstorms robots.
-
Cliser,
a system to generate object-oriented source code
for client server systems.
-
Fault-tolerant systems in general, and specifically
networks and distributed systems that can identify and
reconfigure around faulty components.
-
Human-computer interfaces sufficiently simple
that the average person can use them, without
having to consult a manual.
As Christian, I am also interested in the relationship between
computing and Christianity.
I've collected some serious and not so serious links on
Christianity and computing.
Joel Adams —
Professional