Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles

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

description

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 - PowerPoint PPT Presentation

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

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]