Parallel Computation deals with the theory and practice of organizing computations to run faster on machines with several processors. Different models of parallelism are studied along with parallelizability of various problems. Practical aspects involve designing parallel algorithms and data structures to solve compute-intensive problems on rapidly-evolving platforms with massive parallelism, fast and efficiently. A key challenge for creating and adapting parallel software applications is the high architectural complexity of HPC systems in terms of their degree of concurrency and heterogeneity, sensitivity to communications and data movement, and requirements for locality. Enabling effective large-scale multiprocessor computing will have an impact that crosscuts multiple areas of science. There are still many barriers involved in building efficient HPC software applications and hardware platforms. Research at UCF aims to provide the fundamental tools and techniques for understanding how to design applications and algorithms for the rapidly evolving massively parallel chip architectures.