Teaching Parallelism in Python-Based CS1 at Small Institution

Slide Note
Embed
Share

Explore challenges, technical and non-technical materials, and coverage of CS2013 in teaching parallelism in a Python-based CS1 course at a small institution. Overcome student inexperience with a mix of technical and non-technical content, including coding the multiprocessing module in Python and analogical exercises. Address essential topics beyond parallelism, such as loops and parameter passing, while delving into real-life analogies to understand parallel architecture and performance.


Uploaded on Sep 08, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Teaching Parallelism in a Python- Based CS1 at a Small Institution Steven Bogaerts Challenges, Technical and Non-Technical Material, And CS2013 coverage

  2. Some Major Challenges 1. Essential to cover other (non-PDC) topics 2. Student inexperience greatly limits options One possible solution: A careful mix of technical and non-technical work Select technical work carefully to complement traditional course topics Further practice in loops, calling methods, parameter-passing Non-technical work fits students lack of experience

  3. Technical: Coding multiprocessing module in Python Designed for simplicity 2 3 hours of contact time

  4. Python Multiprocessing Module Code examples are interspersed with non-technical material.

  5. Non-Technical: Analogies, Exercises 1 3 hours of contact time Background and history AR Digital logic and digital systems: Comprehend that multicore is the trend in architecture Parallelism in real life Shoveling a driveway, digging a hole, running a company PD Parallel Performance: communication costs Interprocess communication Counting people in building text message vs. shared Google doc Card sorting cooperating next to each other with limited space vs. sending messages across the room PD Parallel Architecture: Explain the differences between shared and distributed memory

  6. Analogies and Exercises Locks and Join The conch from Lord of the Flies must hold it to be allowed to speak in meeting Join: Adult waits for child picking flowers: Come now, please joinme up here. Interleaving of parallel increments PD Parallelism Fundamentals: data races PD Communication and Coordination: an ordering of accesses among concurrent activities that is not sequentially consistent use synchronized queue... IAS Defensive Programming: Demonstrate how to prevent a race condition from occurring.

  7. Questions?

Related


More Related Content