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
Link To Document