DocumentCode
654400
Title
Functional approaches to teaching concurrency
Author
Lutz, Michael J.
Author_Institution
Rochester Inst. of Technol., Rochester, NY, USA
fYear
2013
fDate
23-26 Oct. 2013
Firstpage
432
Lastpage
434
Abstract
Traditional approaches to addressing issues of concurrency rely on mechanisms added to standard imperative languages such as Java, such as “synchronized” methods and blocks, combined with a “wait/notify” mechanism used to block and awaken processes when a shared resource is not in an acceptable state. The problem with this approach, however, is that mutable state is potentially accessible via many paths, and each such path must be analyzed for possible race conditions, deadlocks, and safety violations.The root cause of many concurrency problems is attributable to shared, mutable state. In light of this, two approaches to mitigating concurrency problems are immutable variables and state isolation within distinct concurrent actors. Erlang, a language developed at Ericsson for distributed, fault-tolerant switches, is a language supporting both approaches. This paper reports on an experiment to include Erlang as part of an existing course on concurrent systems design. This version of the course is currently underway, and the Erlang material is being introduced as this is written. Results from the approach will be ready well before the conference, and should serve as an inspiration (or warning) to others considering such a change.
Keywords
computer science education; educational courses; functional languages; software engineering; teaching; Ericsson; Erlang; concurrency problem mitigation; concurrent systems design course; distributed fault-tolerant switches; functional approaches; immutable variables; software engineers; state isolation; Concurrent computing; Education; Java; Operating systems; Pragmatics; Synchronization; computing education; concurrent and distributed systems; functional languages; software engineering;
fLanguage
English
Publisher
ieee
Conference_Titel
Frontiers in Education Conference, 2013 IEEE
Conference_Location
Oklahoma City, OK
ISSN
0190-5848
Type
conf
DOI
10.1109/FIE.2013.6684861
Filename
6684861
Link To Document