![Page 1: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/1.jpg)
Thinking in ParallelAdopting the TCPP Core Curriculum
in Computer Systems Principles
Tim RichardsUniversity of Massachusetts Amherst
![Page 2: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/2.jpg)
Computer Systems Principles
A Core Course in Computer SystemsUMass Amherst
Computer Science Department
To teach students fundamentalprinciples and techniques incomputer systems and howto program them.
Hardware
Software
![Page 3: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/3.jpg)
Problem
Introducing parallelism intoan existing course is difficult
Program Representation
Architecture
Virtual Memory
Memory Management
First Half
Process & Exceptions
Threads
Synchronization
Network Programming
Second Half
![Page 4: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/4.jpg)
Problem
Introducing parallelism intoan existing course is difficult
Program Representation
Architecture
Virtual Memory
Memory Management
First Half
Process & Exceptions
Threads
Synchronization
Network Programming
Second Half
Abrupt Switchfrom sequential to
parallel programming
model
Gap in Understanding
![Page 5: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/5.jpg)
Goal #1Re-focus existing course material to make
parallelism a common thread
Program Representation
Architecture
Virtual Memory
Memory Management
First Half
Thinking in Parallel
Multi-Processing in Life & Shell
Pipelines, ILP, Multicore, GPUs
Processing in Parallel
![Page 6: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/6.jpg)
Enhanced assignments
to include problemsin parallelism, concurrency,
& synchronization
Goal #2Migrate course material over time, teach students
to think in parallel early, to reduce gap in understanding
Program Representation
Architecture
Virtual Memory
Memory Management
First Half
Thinking in Parallel
Multi-Processing in Life & Shell
Pipelines, ILP, Multicore, GPUs
Processing in Parallel
![Page 7: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/7.jpg)
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.
![Page 8: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/8.jpg)
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.
29%
44%
13%
14%
Understanding Parallelism (Start of Course)
NoneLittleSatisfactoryModerateExellent
![Page 9: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst](https://reader035.vdocuments.site/reader035/viewer/2022070407/56649e2d5503460f94b1d978/html5/thumbnails/9.jpg)
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.
2%
14%
40%
39%
5%
Understanding Parallelism (End of Course)
NoneLittleSatisfactoryModerateExellent