• DocumentCode
    1997863
  • Title

    Programming with Concurrency: Threads, Actors, and Coroutines

  • Author

    Zhen Li ; Kraemer, Eileen

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Georgia, Athens, GA, USA
  • fYear
    2013
  • fDate
    20-24 May 2013
  • Firstpage
    1304
  • Lastpage
    1311
  • Abstract
    We describe an elective upper-division undergraduate / graduate course that focuses on programming with concurrency and puts into practice topics from the PDC curriculum. We introduce three approaches to concurrent programming: threads (using Java), Actors (using Scala) and Co routines (using Python) for both shared memory and message passing applications. We also address synchronization issues such as race conditions, conditional synchronization, deadlock and fairness. We use a pseudo code notation to support language-independent evaluation of students´ comprehension of concurrency concepts. Students engage in intensive lab sessions to implement solutions to classical problems in concurrency. We present data analyses that we hope will provide insight and inform the pedagogy associated with concurrent programming.
  • Keywords
    Java; concurrency control; programming; Java; PDC curriculum; Python; concurrency concepts; concurrent programming; conditional synchronization; coroutines; data analysis; intensive lab sessions; language independent evaluation; message passing applications; pedagogy; pseudo code notation; shared memory; undergraduate course; Concurrent computing; Java; Message passing; Message systems; Programming; Synchronization; Unified modeling language; Concurrency; programming; undergraduate curriculum;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2013 IEEE 27th International
  • Conference_Location
    Cambridge, MA
  • Print_ISBN
    978-0-7695-4979-8
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2013.193
  • Filename
    6651021