Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia...
-
Upload
lilian-mcdowell -
Category
Documents
-
view
215 -
download
0
Transcript of Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia...
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
-
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
-
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
-
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
-
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
-
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
-
Acknowledgements
Course Webpageswwwcsswarthmoreedu~newhalleduhpc14
2012 NSFIEEE-TCPP Early Adopter Program
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
-