[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1989622.1989630acmconferencesArticle/Chapter ViewAbstractPublication PageswccceConference Proceedingsconference-collections
research-article

If a picture is worth a thousand words, what would an animation be worth?

Published: 06 May 2011 Publication History

Abstract

This is an exciting time for computer scientists as we are witnessing a paradigm shift in programming. The concept of computing has long passed the definition of simple input-output mapping and evolved to include models of even intricate real-life interactive systems. From the technological front, multicore processors are about to revolutionize the way we design software systems. Therefore, for the design and implementation of software systems, we believe concurrent programming is the natural programming paradigm to adopt.
Concurrent programming is hard compared to sequential programming, as the former involves multiple threads of execution within a program. These threads often interact asynchronously with the possibility of unpredictable program behavior. However, as we increasingly witness the need for concurrent programming from both application and technological fronts, we feel the time has arrived to teach concurrent programming as part of our regular computer science and computer engineering curriculum. As concurrent programming is intrinsically hard, we need to find effective ways of teaching it to our students. The contribution in this paper is a step in that direction.
We feel that a simulation software with an animation capability would be an attractive tool to teach some fundamental algorithms and concepts in concurrent programming. We have designed such a simulator that can be used as a teaching tool to animate some simple and elegant algorithms, and get deeper into their underlying logic and behavior under various settings.

References

[1]
Alex A. Aravind, Yet Another Simple Solution for the Concurrent Programming Control Problem, IEEE Transactions on PDS, 22(6):1056--1063, 2011.
[2]
Alex A. Aravind, Highly-Fair Bakery Algorithm using Symmetric Tokens, Information Processing Letters, 110:1055--1060, 2010.
[3]
A. Aravind and W. Hesselink, A Queue Based Mutual Exclusion Algorithm, Acta Informatica, 46:73--86, 2009.
[4]
M. Ben-Ari, Principles of Concurrent and Distributed Programming, 2006.
[5]
M. Ben-Ari, A Suit of Tools for Teaching Concurrency, ITiCSE, 251, 2004.
[6]
B. Bynum, After you, Alfonse: a mutual exclusion toolkit, SIGCSE, 170--174, 1996.
[7]
E. W. Dijkstra, Solution of a Problem in Concurrent Programming Control, CACM, 8(9):569, 1965.
[8]
S. Haldar and A. Aravind, Operating Systems, Pearson Education, 2010.
[9]
M. Herlihy and N. Shavit, The Art of Multiprocessor Programming, Morgan Kaufmann Publishers, 2008.
[10]
H.-M. Jarvinen, M. Tiusanen, and A. T. Virtanen, Convit, a Tool for Learning Concurrent Programming, AACE E-Learn Conference, 2003.
[11]
D. E. Knuth, Additional Comments on a Problem in Concurrent Programming Control, CACM, 9(5):321--322, 1966.
[12]
L. Lamport, A New Solution of Dijkstra's Concurrent Programming Problem, CACM, 17(8):453--455, 1974.
[13]
Y. Persky and M. Ben-Ari, Re-engineering a concurrency simulator, SIGCSE, 251, 1998.
[14]
G. L. Peterson, Myths about the Mutual Exclusion Problem, Information Processing Letters, 12(3):115--116, 1981.
[15]
A. Silberschatz, P. Galvin, and G. Gagne, Operating Systems Concepts, John Wiley, 2010.
[16]
H. Sutter, The free lunch is over: a fundamental turn toward concurrency in software, Dr. Dobb's Journal, March 2005.
[17]
H. Sutter and J. Larus, Software and the Concurrency Revolution, ACM Queue, 54--62, Sept. 2005.
[18]
N. Shavit, Data Structures in the Multicore Age, CACM, 54(3):76--84, 2011.
[19]
G. Taubenfeld, Synchronization Algorithms and Concurrent Programming, 2006.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
WCCCE '11: Proceedings of the 16th Western Canadian Conference on Computing Education
May 2011
71 pages
ISBN:9781450307925
DOI:10.1145/1989622
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • UNBC: University of Northern British Columbia

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 May 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency
  2. mutual exclusion
  3. simulation
  4. visualization

Qualifiers

  • Research-article

Funding Sources

Conference

WCCCE '11
Sponsor:
WCCCE '11: Western Canadian Conference on Computing Education
May 6 - 7, 2011
British Columbia, Prince George, Canada

Acceptance Rates

Overall Acceptance Rate 78 of 117 submissions, 67%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media