Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards...

10
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst

Transcript of Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards...

Page 1: Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.

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.

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.

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.

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.

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.

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.

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.

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.

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 Tim Richards University of Massachusetts Amherst.

Thanks!

Tim RichardsUniversity of Massachusetts Amherst

Computer Science [email protected]