Transcript
Page 1: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles

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

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

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

Problem

Introducing parallelism intoan existing course is difficult

Program Representation

Architecture

Virtual Memory

Memory Management

First Half

Process & Exceptions

Threads

Synchronization

Network Programming

Second HalfAbrupt Switch

from sequential to parallel

programming model

Gap in Understanding

Page 5: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles

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

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

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

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

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

Page 10: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles

Thanks!

Tim RichardsUniversity of Massachusetts Amherst

Computer Science [email protected]


Top Related