7
Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College EDUHPC'14: Workshop on Education for High-Performance Computing, Nov. 2014

Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

Embed Size (px)

Citation preview

Page 1: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

Incorporating Parallel amp Distributed Computing Across a Liberal Arts Computer Science Curriculum

Tia Newhall Andrew Danner Kevin WebbSwarthmore College

EDUHPC14 Workshop on Education for High-Performance Computing Nov 2014

Goals and ChallengesExpose all students to Parallel amp Distr Computing

Focus on teaching ldquoParallel Thinkingrdquo

Early in intro sequence

Often see in multiple contexts in many courses

Breadth theory systems and applications

Depth focused and advanced PampD coverage

Constraints due to small Liberal Arts collegebull Canrsquot have deep pre-requisite structure

bull Upper-level diverse student CS preparations

Our Approach1 Add new required intermediate level course

Introduction to Computer Systemsbull Intro systems amp shared memory parallelismbull Pre-req for frac12 of upper-level courses

2 Restructure curriculum to ensure breadth and depth of PampD topics

bull Three Groups Systems Theory Applicationsbull PampD in all of Systems group and in some of others

3 Upper-level courses blend in PampD topicsbull Integrated donrsquot solely isolate study of parallelismbull Room to add new pre-req contains common intro

added PampD topics

memory hierarchy multicoreSMP threads pthreadssynchronization

Introduction to Computer Systems

CS1 Intro to Computer Science

OS Networking Databases Compilers Cloud Computing Parallel amp Distrib Computing

Systems

Theory

Algorithms

TheoryPLAINLPRoboticsBioInformaticsSW EnginInfo Retrieval

Graphics

Applications

Intermediate level

Introductory level

Upper level

CS2 Data Structuresand Algorithms

PampD topics only

At least 1class fromeach group

Our ThoughtsAdding the new Intro to Systems course was key to the success of this effort

+ Gives all students common background in systems machine organization C programming

+ Allows us to remove intro content from many upper level courses making room for adding PampD

+ All students see parallelism in intro sequence

- Arbitrary ordering with CS2 means more diversity in student backgrounds in Intro Systems and CS2 bull necessary for maintaining shallow req hierarchybull less of an issue than we anticipated

More ThoughtsGrouping of upper-level courses into 3 Sets

+ All students get more breadth in CS major

+ All students exposed to advanced PampD contentbull Breadth see in different contextsbull Depth advanced exposurebull Prepare students for PampD research

+ Flexibility in how to add PampD bull Add content into existing coursesbull New PampD courses easily added into a group

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
Page 2: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

Goals and ChallengesExpose all students to Parallel amp Distr Computing

Focus on teaching ldquoParallel Thinkingrdquo

Early in intro sequence

Often see in multiple contexts in many courses

Breadth theory systems and applications

Depth focused and advanced PampD coverage

Constraints due to small Liberal Arts collegebull Canrsquot have deep pre-requisite structure

bull Upper-level diverse student CS preparations

Our Approach1 Add new required intermediate level course

Introduction to Computer Systemsbull Intro systems amp shared memory parallelismbull Pre-req for frac12 of upper-level courses

2 Restructure curriculum to ensure breadth and depth of PampD topics

bull Three Groups Systems Theory Applicationsbull PampD in all of Systems group and in some of others

3 Upper-level courses blend in PampD topicsbull Integrated donrsquot solely isolate study of parallelismbull Room to add new pre-req contains common intro

added PampD topics

memory hierarchy multicoreSMP threads pthreadssynchronization

Introduction to Computer Systems

CS1 Intro to Computer Science

OS Networking Databases Compilers Cloud Computing Parallel amp Distrib Computing

Systems

Theory

Algorithms

TheoryPLAINLPRoboticsBioInformaticsSW EnginInfo Retrieval

Graphics

Applications

Intermediate level

Introductory level

Upper level

CS2 Data Structuresand Algorithms

PampD topics only

At least 1class fromeach group

Our ThoughtsAdding the new Intro to Systems course was key to the success of this effort

+ Gives all students common background in systems machine organization C programming

+ Allows us to remove intro content from many upper level courses making room for adding PampD

+ All students see parallelism in intro sequence

- Arbitrary ordering with CS2 means more diversity in student backgrounds in Intro Systems and CS2 bull necessary for maintaining shallow req hierarchybull less of an issue than we anticipated

More ThoughtsGrouping of upper-level courses into 3 Sets

+ All students get more breadth in CS major

+ All students exposed to advanced PampD contentbull Breadth see in different contextsbull Depth advanced exposurebull Prepare students for PampD research

+ Flexibility in how to add PampD bull Add content into existing coursesbull New PampD courses easily added into a group

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
Page 3: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

Our Approach1 Add new required intermediate level course

Introduction to Computer Systemsbull Intro systems amp shared memory parallelismbull Pre-req for frac12 of upper-level courses

2 Restructure curriculum to ensure breadth and depth of PampD topics

bull Three Groups Systems Theory Applicationsbull PampD in all of Systems group and in some of others

3 Upper-level courses blend in PampD topicsbull Integrated donrsquot solely isolate study of parallelismbull Room to add new pre-req contains common intro

added PampD topics

memory hierarchy multicoreSMP threads pthreadssynchronization

Introduction to Computer Systems

CS1 Intro to Computer Science

OS Networking Databases Compilers Cloud Computing Parallel amp Distrib Computing

Systems

Theory

Algorithms

TheoryPLAINLPRoboticsBioInformaticsSW EnginInfo Retrieval

Graphics

Applications

Intermediate level

Introductory level

Upper level

CS2 Data Structuresand Algorithms

PampD topics only

At least 1class fromeach group

Our ThoughtsAdding the new Intro to Systems course was key to the success of this effort

+ Gives all students common background in systems machine organization C programming

+ Allows us to remove intro content from many upper level courses making room for adding PampD

+ All students see parallelism in intro sequence

- Arbitrary ordering with CS2 means more diversity in student backgrounds in Intro Systems and CS2 bull necessary for maintaining shallow req hierarchybull less of an issue than we anticipated

More ThoughtsGrouping of upper-level courses into 3 Sets

+ All students get more breadth in CS major

+ All students exposed to advanced PampD contentbull Breadth see in different contextsbull Depth advanced exposurebull Prepare students for PampD research

+ Flexibility in how to add PampD bull Add content into existing coursesbull New PampD courses easily added into a group

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
Page 4: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

added PampD topics

memory hierarchy multicoreSMP threads pthreadssynchronization

Introduction to Computer Systems

CS1 Intro to Computer Science

OS Networking Databases Compilers Cloud Computing Parallel amp Distrib Computing

Systems

Theory

Algorithms

TheoryPLAINLPRoboticsBioInformaticsSW EnginInfo Retrieval

Graphics

Applications

Intermediate level

Introductory level

Upper level

CS2 Data Structuresand Algorithms

PampD topics only

At least 1class fromeach group

Our ThoughtsAdding the new Intro to Systems course was key to the success of this effort

+ Gives all students common background in systems machine organization C programming

+ Allows us to remove intro content from many upper level courses making room for adding PampD

+ All students see parallelism in intro sequence

- Arbitrary ordering with CS2 means more diversity in student backgrounds in Intro Systems and CS2 bull necessary for maintaining shallow req hierarchybull less of an issue than we anticipated

More ThoughtsGrouping of upper-level courses into 3 Sets

+ All students get more breadth in CS major

+ All students exposed to advanced PampD contentbull Breadth see in different contextsbull Depth advanced exposurebull Prepare students for PampD research

+ Flexibility in how to add PampD bull Add content into existing coursesbull New PampD courses easily added into a group

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
Page 5: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

Our ThoughtsAdding the new Intro to Systems course was key to the success of this effort

+ Gives all students common background in systems machine organization C programming

+ Allows us to remove intro content from many upper level courses making room for adding PampD

+ All students see parallelism in intro sequence

- Arbitrary ordering with CS2 means more diversity in student backgrounds in Intro Systems and CS2 bull necessary for maintaining shallow req hierarchybull less of an issue than we anticipated

More ThoughtsGrouping of upper-level courses into 3 Sets

+ All students get more breadth in CS major

+ All students exposed to advanced PampD contentbull Breadth see in different contextsbull Depth advanced exposurebull Prepare students for PampD research

+ Flexibility in how to add PampD bull Add content into existing coursesbull New PampD courses easily added into a group

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
Page 6: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

More ThoughtsGrouping of upper-level courses into 3 Sets

+ All students get more breadth in CS major

+ All students exposed to advanced PampD contentbull Breadth see in different contextsbull Depth advanced exposurebull Prepare students for PampD research

+ Flexibility in how to add PampD bull Add content into existing coursesbull New PampD courses easily added into a group

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
Page 7: Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College

Acknowledgements

Course Webpageswwwcsswarthmoreedu~newhalleduhpc14

2012 NSFIEEE-TCPP Early Adopter Program

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7