Most of our courses are offered in the ISAT/CS Building with a few offered in the connected EnGeo Building. The Department's Linux and Mac labs and the Department's networking lab are all nearby.

Forensics Lab

This lab is equipped with dual-boot Linux/Windows workstations, which lets computer science students conduct forensic analyses of computer incidents, disk and memory images, mobile phones, as well as malware binaries. The lab contains a variety of workstations configured with open-source and commercial computer forensics software and facilities to secure, store, and share digital evidence. Furthermore, the lab is equipped with special hardware to analyze mobile devices and a number of computers that can be isolated from the rest of the campus network and freely configured so that malicious code that is being investigated can be contained.

Program Development Lab

The Program Development Lab is integral to the introductory programming classes as well as supporting a number of the advanced Computer Science classes. This lab has 30 student workstations grouped in pairs which allow for individual or pair programming. These workstations run the RedHat Linux operating system. In addition to the student machines, there is a dedicated teacher workstation connected to a projection system for demonstrations and other classroom activities.  The software contained on machines in this lab include general tools such as Open Office and the Firefox web browser as well as several integrated development environments(IDEs) such as Eclipse, Kate, and JGrasp which are used by students to develop computer applications. The machines also run Visual Paradigm, a software development tool used in a number of upper division CS courses. Students are provided with RedHat Linux to use on their own personal computers so that they can duplicate the lab environment for work outside of class.

Students may access network file storage that enables them to save the work that they have done in the lab and access it from both on and off campus.

The lab is used by the two introductory courses (CS139 and CS239) on a regular basis with 2 lab periods each week in addition to the 2 lecture days. All day Sunday and most evenings during the week, the lab is staffed by teaching assistants who provide support to students working on their labs and programming projects outside of class. Upper division classes, such as CS347 and CS474 often use the lab for exercises to supplement the lecture content of the course.

Software Engineering Lab

The Software Engineering Lab is equipped with about 30 workstations, whiteboards, a projector, and other hardware for use by students interested in programming and software engineering. Out-of-class it is used by students working on programming assignments, projects, and research. In-class it is used for lectures/presentations, directed exercises and experiments, and exams/assessments. The lab is configured to allow students to work alone, in pairs (e.g., the so-called agile method known as pair programming), and in groups.  The workstations are equipped with a variety of specialized tools that support the activities of programmers/software engineers at all levels, from beginning to advanced. This includes a variety of integrated development environments (IDEs), programmers editors, unit testing tools, unified modeling language (UML) tools, static analysis tools, debuggers, version control systems, and graphical user interface (GUI) design tools. It also includes compilers for a wide array of programming languages, libraries for scientific, engineering, and business applications, and libraries for graphical and auditory processing.

The Software Engineering Lab is able to support the development of software for a wide variety of platforms, including desktop/laptop computers, portable computers (i.e.g, pads and netbooks), smart phones, embedded devices, and robots. It is also able to support the development of a variety of different kinds of technical documentation, including documents that requires mathematical typesetting (e.g., TeX, MathML), multimedia, and hypermedia. For course-related assignments, the lab is equipped with a custom electronic submission system.

Upper division classes, such as CS240 and CS430 often use the lab for exercises to supplement the lecture content of the course. Since this lab is physically located next door to the Programming Development Lab, teaching assistants staffing the Program Development Lab, can also support to students working in the Software Engineering lab.

Systems Development Lab

The Systems Development Lab is designed to support low-level exploration of computer network and operating system environments. It is equipped with workstations capable of running a variety of operating systems; students are provided with copies of Redhat Linux and Windows operating for use in the lab or on their own computers. The lab is designed to facilitate individual or group work; workstations can be used as stand-alone systems, clustered in small networks, or attached to a server farm.

The lab is used to experiment with network and operating system configurations. It also is used to experiment with network communications in a variety of network topologies. The lab is equipped with a variety of network communications equipment. Computers in this lab can be isolated from the rest of the campus network and freely configured without the possibility that they compromise computer operations outside the lab. Virtual machine software allows experimentation to occur using actual hardware or in a virtual environment.

Laboratory Support

This laboratory support facility supports various lab operations. Up to 100 servers can be installed in server racks to support the requirements of the Computer Science department. Additional space and workbenches are provided for preparing and maintaining computer equipment.

High Performance Computing Lab

The High-Performance Computing Facility at JMU has a variety of different systems. Most of the facility's efforts in the area of vector processing involve Graphic Processing Units (GPUs). The facility's "workhorses" are its four NVIDIA Tesla S1070 computing systems. An S1070 consists of 4 Tesla GPUs each of which has 240 cores (for a total of 960 cores). Each core operates at about 1.4 GHz. Hence, each Tesla S1070 has a peak single precision floating point performance of about 4 TFlops. The facility also has several multi-core/multi-processor computing systems. The "workhorse" is a server with four quad-core Xeon CPUs and 128GB of fast RAM and eight 150GB hard drives.

High-Resolution Visualization Lab

The High-Resolution Visualization and Animation Group consists of JMU students and faculty in a wide variety of disciplines. What brings them together is an interest in and/or need for visualization and animation systems with a resolution that is an order of magnitude greater than that provided by traditional graphics workstation. The facility's "work horse" is a cluster of graphic workstations. The 32 displays are tiled to create a single presentation surface with about 50 million pixels.

Back to Top