100 likes | 199 Views
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles. Tim Richards University of Massachusetts Amherst. Computer Systems Principles. A Core C ourse in Computer S ystems UMass Amherst Computer Science Department. Software. To teach students fundamental
E N D
Thinking in ParallelAdopting the TCPP Core Curriculumin Computer Systems Principles Tim Richards University of Massachusetts Amherst
Computer Systems Principles A Core Course in Computer Systems UMass Amherst Computer Science Department Software To teach students fundamental principles and techniques in computer systems and how to program them. Hardware
Problem Introducing parallelism into an existing course is difficult First Half Second Half Program Representation Process & Exceptions Architecture Threads Virtual Memory Synchronization Memory Management Network Programming
Problem Introducing parallelism into an existing course is difficult First Half Second Half Abrupt Switch from sequential to parallel programming model Program Representation Process & Exceptions Architecture Threads Virtual Memory Synchronization Gap in Understanding Memory Management Network Programming
Goal #1 Re-focus existing course materialto make parallelism a common thread First Half Program Representation Thinking in Parallel Architecture Pipelines, ILP, Multicore, GPUs Virtual Memory Multi-Processing in Life & Shell Processing in Parallel Memory Management
Goal #2 Migrate course material over time, teach students to think in parallel early, to reduce gap in understanding First Half Enhanced assignments to include problems in parallelism, concurrency, & synchronization Program Representation Thinking in Parallel Architecture Pipelines, ILP, Multicore, GPUs Virtual Memory Multi-Processing in Life & Shell Processing in Parallel Memory Management
Results • Introducing parallelism incrementally in existing course infrastructure is easy. • Making parallelism a common thread improved student success rates in project assignments. • Improved discussion and understanding in class and online forums. • Increased overall student performance in course.
Survey Results S13 • Introducing parallelism incrementally in existing course infrastructure is easy. • Making parallelism a common thread improved student success rates in project assignments. • Improved discussion and understanding in class and online forums. • Increased overall student performance in course.
Survey Results S13 • Introducing parallelism incrementally in existing course infrastructure is easy. • Making parallelism a common thread improved student success rates in project assignments. • Improved discussion and understanding in class and online forums. • Increased overall student performance in course.
Thanks! Tim Richards University of Massachusetts Amherst Computer Science Department richards@cs.umass.edu