Designing efficient algorithms for parallel computers
Designing efficient algorithms for parallel computers
Searching in parallel: a case study with the single-source shortest path algorithm
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Experiences in teaching parallel computing—five years later
ACM SIGCSE Bulletin
Image processing as an exemplar of parallelism applied to graphics
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
ThreadMentor: a pedagogical tool for multithreaded programming
Journal on Educational Resources in Computing (JERIC)
Introducing parallel processing concepts
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
One objective in establishing our NSF ILI funded parallel computation laboratory was to use closed, formal laboratory assignments to introduce parallelism throughout the core computer science curriculum. We discuss laboratory assignments developed for the Computer Organization (CS 3) and Algorithms (CS 4) courses.The CS 3 lab introduces parallelism based upon processor replication and two-performance indices for evaluating performance of parallel algorithms, speedup and efficiency. One factor that effects performance on MIMD message passage architectures, the ratio of computation to communication, is also introduced.The CS 4 lab guides students in developing a parallel version of Dijkstra's single source shortest path algorithm. A case study using parallel addition assists students in identifying potential parallelism by examining the data dependency of computations. Students working in teams of two develop a pseudo-code version of the single source shortest path algorithm for an abstract parallel machine. They also analyze the speedup and efficiency of an implementation of the algorithm for one, four and eight processors.