Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.

Similar presentations


Presentation on theme: "Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan."— Presentation transcript:

1 Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan Tamir Heather Thiry

2 Outline Motivation The Early-and-often approach Mapping modules to curricula Assessment Challenges TUES14

3 Need for PDC Topics in the Curriculum TUES14 more responsibility on software ubiquitous parallelism CS undergraduates need exposure to more PDC concepts to effectively exploit current and future computers

4 Efforts at Integrating Parallelism NSF/IEEE TCPP PDC Curriculum Committee NSF CDER center ACM 2013 Curriculum Guidelines New Knowledge Area on PDC 5 hours in Tier 1 (0 in 2008) 10 hours in Tier 2 TUES14

5 The Early and Often Approach Breaks away from the traditional approach of teaching parallel programming as an upper-level elective Introduce parallelism early in the curriculum in required courses Repeat key concepts in different courses throughout the curriculum Tie concepts together in an upper- level capstone course TUES14 upper-level elective major path capstone major path early introduction reinforce ment collation

6 Module Principles 1.modules should be classified and introduced based on level of abstraction Amdahl’s Law in CS I, cache coherence in senior-level class 2.modules should provide parallel context to existing content Data-parallelism when teaching divide-and-conquer Pipelining when doing producer-consumer 3.modules should be self-contained for easy adoption across different institutions TUES14

7 Texas State PDC Modules Module includes Instructional material Lecture notes In-class examples, exercises and solution Pedagogical notes Source code Evaluation material Quizzes Programming assignments Exam questions Length : hours (1-2 lectures) Course recommendation Learning outcomes mapped to NSF/TCPP curriculum TUES14 Instructional Support

8 Module Topics IndexArea AElementary Notions BParallel Algorithms CParallel Architecture DTask Orchestration EParallel Performance TUES14 Attempt to provide coverage on a broad range of topics, not just “programming” Areas not disjoint

9 Module Topics TUES14 IndexAreaACM Knowledge Area AElementary NotionsParallelism Fundamentals BParallel AlgorithmsParallel Algorithms, Analysis, and Programming CParallel Architecture DTask OrchestrationCommunication and Coordination EParallel Performance

10 Modules IndexModule AParallel Computing Fundamentals BParallelization Techniques C1Intra-processor parallel architecture C2Inter-processor parallel architecture D1Scheduling and mapping D2Communication and Synchronization E1Performance - basic concepts E2Performance - analysis and evaluation E3Performance - memory, affinity and energy TUES14

11 AB Software Engineering AB prerequisite required course CS II CS I Digital Logic Computer Ethics Computer Networks Operating Systems Data Structures Parallel Programming freshman senior TUES14 Assembly Discrete Math Computer Architecture CompilersOODIHuman Factors Embedded Systems sophomore junior Texas State CS Curriculum

12 Data and Task Parallelism Divide-and-conquer Dynamic Programming B. Parallelization Techniques and Parallel Algorithms Communication Synchronization Scheduling for Power and Performance Data Dependence D. Task Orchestration SMP, Clusters NUMA, UMA Cache Sharing Cache Coherence C. Parallel Architectures Speedup Efficiency Scalability Cache Locality Load Balancing Complexity Analysis E. Performance Concurrency and Parallelism, Decomposition Power and Performance A. Elementary Notions low high Level of Abstraction CS II A,B,E CS I A Data Structures A,B, E Computer Architecture C, E Computer Networks B,D Operating Systems D,E Compilers C,E Special Topics B,C,D,E Parallel Programming A,B,C,D,E freshman senior Year TUES14 Assembly C A

13 Mapping Modules to Courses ModuleCourse AParallel Computing FundamentalsCS I BParallelization TechniquesCS II, Data Structures C1Intra-processor parallel architectureAssembly, Architecture C2Inter-processor parallel architectureArchitecture, Compilers D2Scheduling and mappingOperating Systems E1Performance - basic conceptsCS II, Data Structures, Compilers TUES14

14 Assessment Learning outcome assessed through final exam questions and/or class assignments External evaluation Student engagement, Learning experience, Confidence Gender, GPA and other classifications Longitudinal evaluation Performance on capstone course as function of number of modules encountered in previous courses Keep track of modules encountered by student TUES14

15 Learning Outcomes TUES14

16 External Evaluation Summary TUES14

17 Challenges Coverage Which course is the best fit? How much time to devote to a module? When in the semester should the module be introduced? Content substitution What content should be removed or condensed? How to convince experienced instructors, this is the right thing? Consistency How to ensure consistent coverage of material across multiple sections taught by different instructors? TUES14

18 Tackling the Challenges Coverage be conservative and opt to introduce module in the more senior- level class introduce modules late in the semester Content substitution Remove/condense content that appear ‘outdated’ VAX Reduce coverage of content that is covered in more than one course number conversion Consistency For now, introducing modules in only a subset of the sections, helps with longitudinal survey TUES14


Download ppt "Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan."

Similar presentations


Ads by Google