Clock rate versus IPC: the end of the road for conventional microarchitectures
Proceedings of the 27th annual international symposium on Computer architecture
Parallel Computer Architecture: A Hardware/Software Approach
Parallel Computer Architecture: A Hardware/Software Approach
Preparing students for ubiquitous parallelism
Proceedings of the 40th ACM technical symposium on Computer science education
Teaching about threading: where and what?
ACM SIGACT News
A short unit to introduce multi-threaded programming
Journal of Computing Sciences in Colleges
Multicore education: pieces of the parallel puzzle
Proceedings of the 41st ACM technical symposium on Computer science education
A breadth-first course in multicore and manycore programming
Proceedings of the 41st ACM technical symposium on Computer science education
Test-first Java concurrency for the classroom
Proceedings of the 41st ACM technical symposium on Computer science education
Introducing concurrency in CS 1
Proceedings of the 41st ACM technical symposium on Computer science education
A cluster for CS education in the manycore era
Proceedings of the 42nd ACM technical symposium on Computer science education
Practical parallel and concurrent programming
Proceedings of the 42nd ACM technical symposium on Computer science education
Breadth in depth: a 1st year introduction to parallel programming
Proceedings of the 42nd ACM technical symposium on Computer science education
Encouraging parallel thinking through explicit coordination modeling
Proceedings of the 42nd ACM technical symposium on Computer science education
Modules in community: injecting more parallelism into computer science curricula
Proceedings of the 42nd ACM technical symposium on Computer science education
Strategies for preparing computer science students for the multicore world
Proceedings of the 2010 ITiCSE working group reports
Preparing students for future architectures with an exploration of multi- and many-core performance
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
California speedway: a concurrent programming project for beginners
Proceedings of the 49th Annual Southeast Regional Conference
Supporting operating systems projects using the μMPS2 hardware simulator
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
Teaching parallelism with river trail
Proceedings of the 2012 workshop on Developing competency in parallelism: techniques for education and training
Hi-index | 0.00 |
Current trends in microprocessor design are fundamentally changing the way that performance is extracted from computer systems. The previous programming model of sequential uniprocessor execution is being replaced quickly with a need to write software for tightly-coupled shared memory multiprocessor systems. Academicians and business leaders have both challenged programmers to update their skill sets to effectively tackle software development for these newer platforms [2]. At the University of Wisconsin - Eau Claire, we have taken steps early in our curriculum to introduce our students to concurrent programming. Our approach is not to add parallel programming as a separate class, but to integrate concurrency concepts into traditional material throughout a student's coursework, beginning in CS1. Our goal is for students to gain both familiarity and confidence in using parallelism to their advantage. This paper describes the programming process we seek to introduce to our students and provides example assignments that illustrate the ease of integrating this process into a typical curriculum.