Computer Science students can conduct undergraduate and graduate research in collaboration with faculty through several programs. Research areas for faculty are listed below, along with a faculty contact link. 

Dr. Colmenares-Diaz works in the area of high performance, parallel and scientific computing, as well as in deep learning and quantum computing. High-performance computing includes the study, design, and application of algorithms, techniques, and hardware capable of accelerating computational kernels of scientific relevance. The work includes many-core (GPUs) and multi-core (CPUs) architectures. Deep learning is the study of deep artificial neuronal networks, optimization algorithms, frameworks, and applications. Quantum computing is the study of a new kind of computing, quantum algorithms, programming, and applications.

Dr. Griffin's research group uses student-led projects as a tool to teach the concepts of machine learning as well as the use of contemporary programming languages and machine learning libraries. There are multiple projects ongoing at any one time. These are designed and developed by students with minimal help from faculty. Currently, he is working on an attendance tracking system via facial recognition and a real-time available parking space project.

Dr. Johnson studies virtual reality using Oculus Go, Unity 3D, and Blender. Her work involves creating a virtual world where a user wearing an Oculus Go headset can walk through and interact with an environment, such as a building or a park.  The world is developed with Unity 3D.  While some objects in the environment are imported from the Unity 3D Asset Store, many are created from scratch using Blender. 

Dr. Passos studies loop transformations and wireless web caching. In loop transformations, he studies fundamental concepts showing that all statements comprising the body of nested loops can be transformed, such that they are executed in parallel. This has a great impact on VLIW, super-scalar instruction-level parallelism, and also on high-level synthesis for special-purpose systems. Wireless web caching is the study of performance-enhancing techniques like caching, prefetching, and push caching aimed at the limited resources and the dynamism of wireless mobile networks.

Dr. Stringfellow studies software testing and software quality, human-computer interaction, assessment, and teaching in computer science. To study software testing and software quality assurance she uses metrics (from reviews, development, and testing) and various computational techniques (reliability growth models, neural nets) to perform defect estimations and to determine when to stop testing. In computer science education she applies software engineering concepts in education (process models, testing techniques, design tools) and OOA/OOD techniques in lower-division courses.  Study of assessment and project-based courses in computer science. Finally, in human-computer interaction (HCI) she studies universal usability in human-computer interaction, including cultural differences, accessibility issues, and new technologies, such as augmented reality.