Teaching High Performance Computing in a High School Classroom
Dr. Greg Wolffe, email@example.com
The study of High Performance Computing has historically been reserved for higher-level education. However, with the proliferation of computers and the introduction of dual core processors into mainstream computing, this may no longer be the case. Computer Science students, at all levels, stand to benefit from an understanding of High Performance Computing. The experience they gain can lead them to a deeper understanding of the future of computing. However, the process is not without challenges. The problem in developing an educational unit to introduce High Performance Computing to high school students is to cover advanced theory, hardware, and programming concepts, while keeping the material relevant and understandable. As part of our approach, we created a booklet, lesson plans, and accompanying classroom materials to address this problem. The first two chapters of the booklet detail the theory behind parallel processing and the different hardware architectures used to run parallel programs. The final component, programming, was developed with Java Threads in mind, due to the prior experience many students have with Java when preparing for the Advanced Placement test in Computer Science. In this chapter, students are introduced to threads and given the opportunity to solve exercises using their new found knowledge. The materials were used as a module on High Performance Computing presented to students in an Advanced Placement Computer Science class at Forest Hills Central this spring. We found that with appropriate support, students are capable of learning and performing parallel programming and understanding the need to parallelize programs to achieve increased productivity. High Performance Computing is a complex field, but high school students can learn about and benefit from studying such a topic.
Smith, Joseph, "Teaching High Performance Computing in a High School Classroom" (2006). Technical Library. 63.