1 / 34

Sheikh Ghafoor Department of Computer Science Tennessee Tech University

A Roadmap to Integrate PDC Topics in Introductory Programming Classes: An US Experience. Sheikh Ghafoor Department of Computer Science Tennessee Tech University. Overview. Overview PDC concepts covered Unplugged Examples Plugged Examples Lesson Learned. Overview.

laureenm
Download Presentation

Sheikh Ghafoor Department of Computer Science Tennessee Tech University

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Roadmap to Integrate PDC Topics in Introductory Programming Classes: An US Experience Sheikh Ghafoor Department of Computer Science Tennessee Tech University Hands-On Programming Workshop

  2. Overview • Overview • PDC concepts covered • Unplugged Examples • Plugged Examples • Lesson Learned Euro-EDUPAR 2017

  3. Overview • Almost all computing devices have more than one core • Future workforce need to know PDC • US • 3000 4 year and ~ 2000 2 year colleges • estimated 300 to 400 introduce some PDC at undergraduate level Euro-EDUPAR 2017

  4. Awareness of ACM/IEEE recommendation Euro-EDUPAR 2017

  5. Faculty Expertise in PDC Euro-EDUPAR 2017

  6. Major Impediments • Faculty Expertise • Available Resource • Room in the curriculum • Administrative Hurdle Euro-EDUPAR 2017

  7. Tennessee Tech • Medium size engineering university • About 11000 students • 90% undergraduate, 10% graduate • BS, MS, and Ph.D. • Computer Science Department (Fall 18) • ~525 student (470 undergraduates, 55 graduate) • 12 full time faculty • Teach ECE, math, and physics • Multiple sections of introductory classes • ~100 students per class Euro-EDUPAR 2017

  8. Undergraduate Curriculum • Traditional CS degree • 3 concentration: • Cyber Security, Data Science, HPC (added in Fall 16) • Required: Object Oriented Programming, Design of Algorithms, Foundation of CS, OS, Networks, Assembly, Database, 2 semester of SE, • Electives: Parallel Programming, Information Assurance and Cryptography, IT Security, Data Science, Artificial Intelligence, Programming Languages, Analysis of Algorithms, Data mining and Machine Learning, Cloud Computing Euro-EDUPAR 2017

  9. Introductory Programming Classes • CS0 – Principles of Computing • CS1 – Introduction to Programming (C/C++) • CS2 – Data Structure/Algorithms (C++) • Share memory context • Lecture about PDC concepts • Unplugged activities • Plugged on lab exercise Euro-EDUPAR 2017

  10. PDC Concepts for CS0/CS1/CS2 • Concepts • Concurrency • Serial vs Parallel (Speed up) • Sequential Dependency • Parallel Overhead • Synchronization • Data Race • Locality • Producer Consumer • Technology • Design parallel program • Implement parallel program (OpenMP, Java thread, python etc.) EduHiPC 2018

  11. Unplugged • Activity that illustrate PDC concepts • Easy to convey concepts and principles without the complexity of implementation and execution environment • M & M sorting • Card sorting • Array filling • https://www.csc.tntech.edu/pdcincs/index.php/ipdc-modules/ EduHiPC 2018

  12. Candy Sorting • Time sorting by color by one student • Time sorting by multiple students Euro-EDUPAR 2017

  13. Parallel Version Euro-EDUPAR 2017

  14. Array in Parallel Euro-EDUPAR 2017

  15. Array in Parallel Euro-EDUPAR 2017

  16. Plugged Activity • Reinforce the concepts conveyed through unplugged activity and lecture • Involve programming or running applications • Parallel Sum • Parallel sort • Pi Calculation • Matrix multiplication • Image processing EduHiPC 2018

  17. CS0: Sort Demonstration Using SNAP Euro-EDUPAR 2017

  18. Parallel Sum Euro-EDUPAR 2017

  19. CS1-Image Flip Euro-EDUPAR 2017

  20. CS1 Parallel Image Flipping gray_value[i] = 0.21 * pixel[i].red + 0.72 * pixel[i].green + 0.07 * pixel[i].blue Euro-EDUPAR 2017

  21. CS2 Parallel Image FlippingProducer Consumer Hands-On Programming Workshop

  22. Course Enrollment Euro-EDUPAR 2017

  23. Evaluation • Objective • Lab work Assignment • Subjective • Self evaluation through survey Euro-EDUPAR 2017

  24. Objective • On time submission • Full score if correct • 25% if student submit the work • 25% to 50% reduction based on severity of error • 2016 Fall • Average class score 68% on PDC lab • Average for all lab 72.5% • 2017 Spring • Average class score 72.6% on PDC lab • Average for all lab 80% Euro-EDUPAR 2017

  25. Evaluation Euro-EDUPAR 2017

  26. Evaluation Euro-EDUPAR 2017

  27. Evaluation Euro-EDUPAR 2017

  28. Lesson Learned • Parallel programming can be introduced very early • Hands on programming are preferred to lectures • Need to introduce the PDC topics at beginning in class • Unplugged activities may be very helpful to teach the concept before tools and programming exercise Euro-EDUPAR 2017

  29. Lesson Learned • Time constrain • Faculty willingness and expertise • Background and preparation of the student • Text books • Appropriate hands on exercise at the right level of complexity appropriate for the level and to convey targeted concept(s) Euro-EDUPAR 2017

  30. Challenges • Structural • Curriculum change is difficult • No room in curriculum • Faculty expertise • Resource – text book, hardware • Pedagogical • What to teach, where, how • Attitude • Everything working why bother EduHiPC 2018

  31. Mitigation Suggestions • Start early • Start slow • Introduce in current topics content • Be an evangelist • Try to convince colleague and administration • Contribute EduHiPC 2018

  32. Resources • https://grid.cs.gsu.edu/~tcpp/curriculum/?q=courseware_management • https://www.csc.tntech.edu/pdcincs/index.php/resources/ • https://www.csc.tntech.edu/pdcincs/index.php/ipdc-modules/ • https://csinparallel.org/index.html EduHiPC 2018

  33. Sghafoor@tntech.edu • Question? Euro-EDUPAR 2017

  34. Hands-On Programming Workshop

More Related