Research, Scholarship, and Publications
Our faculty members engage in research, scholarship, and publication in order to develop and maintain currency in our fast-moving disciplines and to sustain the vibrant intellectual climate that we all enjoy. In addition, by orienting much of our research toward needs of the Army and the Nation, we are making significant contributions to defense as well as basic science.
A significant portion of our research is conducted in cooperation with our Research Centers of Excellence. Please visit the Research Center sites for publications and details of our on-going work.
We offer software packages developed by our faculty members for free use by the educational community. All applicable copyrights are retained by the authors. However, since development of the packages involved government equipment and time, their use for any non-commercial purpose is unrestricted, provided that due acknowledgement is given to the Department of EE&CS, U.S. Military Academy. Some of our packages include Open Source codes due to others with their licenses intact (for example, the GNU Public License).
MARC and MARASM
MARC is a processor instruction architecture simple enough to implement in programmable logic devices of moderate size. MARASM is an assembler and emulator for MARC. Both MARC and MARASM were designed by analyzing computer architecture topics in our curriculum in order to determine the features and capabilities that most efficiently support learning. Having determined through experience that "less is more" in technology learning support tools, exactly these features and capabilities--and no others--have been implemented. MARC/MARASM would make a great target for a student compiler as well.
This package implements a simple graphics programming environment suitable for beginning Ada programmers. It may also serve as an example of more advanced Ada programming using tasks and protected data types.
There are three levels of the API, designed so that beginning students are presented with the smallest possible number of distracting unused features as they progress.
Level 1 -- Simple graphic output only.
Level 2 -- Simple graphic input and output.
Level 3 -- Also replaces Ada.Text_IO to provide text input and output in the graphic window.
Turtlegraphics assumes that GtkAda is installed and linkable on the host machine. We have used it extensively in both Windows and Unix environments including Solaris and Linux. A representative demonstration example is included.
OpenGL and GLUT - Thin Bindings for Windows
This is an update of Jerry van Dijk and Mark Kilgard's work on bindings for OpenGL v1.1 and GLUT v3.7.6 and GNAT 3.14 and 3.15p. Perl scripts that parse C headers to produce the binding are provided, so further updates ought to be easier. The GLUT package includes a compatible DLL and an implementation of "Asteroids" as an introduction to the APIs. Only a couple of features of the original arcade game are missing (sound and the crazy little spaceship). It makes a nice classroom example early in a graphics course.