Hybrid and custom data structures: evolution of the data structures course
ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education
A design pattern language for engineering (parallel) software: merging the PLPP and OPL projects
Proceedings of the 2010 Workshop on Parallel Programming Patterns
Virtual clusters for parallel and distributed education
Proceedings of the 43rd ACM technical symposium on Computer Science Education
C++11 in parallel (abstract only)
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Integrating data-intensive cloud computing with multicores and clusters in an HPC course
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
ACM/IEEE-CS computer science curriculum 2013: reviewing the ironman report
Proceeding of the 44th ACM technical symposium on Computer science education
Visualizing Parallelism in CS 2
IPDPSW '13 Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing Workshops and PhD Forum
Hi-index | 0.00 |
In today's multicore world, every CS student should learn about and gain experience with (at least) shared-memory parallelism. CS Curriculum 2013 acknowledges this by shifting parallel computing from elective status into the core. This paper argues that students should be introduced to parallelism early, that the CS2 (Data Structures) course is a natural place to do so, and reports our experience in doing this. The paper also argues that students should be taught to solve problems using parallel patterns, which are industry-standard best-practice strategies for parallel problem solving. To support such teaching, the paper presents patternlets -- minimalist, scalable, executable programs, each illustrating the behavior of a parallel pattern -- as a useful pedagogical tool for teaching parallel concepts. Several patternlets and their executions are given. The paper presents evidence that this injection of parallelism into CS2 has been successful.