## Workshop on Education for High Performance Computing (EduHPC)

**Introducing Three Basic Concepts in Parallel Computation to 1st Year Computer Science Students in a Simple and Effective Way**

**Authors:** Haklin Kimm (East Stroudsburg University of Pennsylvania)

**Abstract:** What are some simple computation problems, with non-trivial applications, by which we can introduce the three basic concepts in parallel computation to 1st year Computer Science students who have little programming experience and knowledge of algorithms. Those three basic concepts are: (1) How parallel computation can reduce an algorithms completion-time, including methods to determine the completion-time for a given number of computing agents (people or CPUs, for simplicity). (2) How to identify parallelizable parts of an algorithm given in a pseudocode form. (3) How to balance the computation-load of the agents, with perhaps some modification of the algorithm, to further reduce the completion time. We present one such "ideal" computation problem, which has several simple intuitive solution algorithms and multiple ways of parallelization. The results of a short quiz following 2 one hour lectures covering one parallel algorithm of the ideal problem showed the students achieved a good understanding of the above three basic concepts. One could cover a bit more material in one or two additional lectures. A full discussion of different parallelizations of our ideal problem and their performance comparisons is fit for 2nd year and more advanced students.

**Archive Materials**

Back to Workshop on Education for High Performance Computing (EduHPC) Archive Listing

Back to Full Workshop Archive Listing