Skip to main content

Part of the book series: Lecture Notes in Computer Science ((TOPNOC,volume 5100))

Abstract

Concurrency phenomena are omnipresent in everyday computer practice and their understanding must therefore become a prime focus of contemporary academic education in computer science. This paper devises a concept suitable for teaching concurrency theory to first year Bachelor students in computer science. It is based on Robin Milner’s Calculus of Communicating Systems, which is smoothly integrated in an introductory functional programming course. We report on a concrete instantiation of this concept in an introductory course held at Saarland University in winter 2005/2006.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aceto, L., Ingolfsdottir, A., Larsen, K.G., Srba, J.: Reactive Systems–Modelling, Specification and Verification. Cambridge University Press, Cambridge (2007)

    Book  MATH  Google Scholar 

  2. Adams, J., Nevison, C., Schaller, N.C.: Parallel computing to start the millennium. In: SIGCSE 2000: Proceedings of the Thirty-First SIGCSE Technical Symposium on Computer Science Education, pp. 65–69. ACM, New York (2000)

    Chapter  Google Scholar 

  3. Ben-Ari, M.: A suite of tools for teaching concurrency. SIGCSE Bull. 36(3), 251 (2004)

    Article  MathSciNet  Google Scholar 

  4. Ben-Ari, M.: Teaching concurrency and nondeterminism with spin. In: ITiCSE 2007: Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, pp. 363–364. ACM, New York (2007)

    Chapter  Google Scholar 

  5. Ben-Ari, M., Kolikant, Y.B.-D.: Thinking parallel: the process of learning concurrency. SIGCSE Bull. 31(3), 13–16 (1999)

    Article  Google Scholar 

  6. Brabrand, C.: Using constructive alignment for teaching model-based design for concurrency. In: Proceedings of TeaConc 2007, The 2nd Workshop on Teaching Concurrency, pp. 1–17. Publishing House of University of Podlasie, Siedlce (2007)

    Google Scholar 

  7. Brabrand, C., Mosegaard, M.: The bisimulation game (2006), http://www.brics.dk/bisim

  8. Calder, M., Gilmore, S., Hillston, J.: Modelling the influence of rkip on the erk signalling pathway using the stochastic process algebra pepa. In: Priami, C., Ingólfsdóttir, A., Mishra, B., Riis Nielson, H. (eds.) Transactions on Computational Systems Biology VII. LNCS (LNBI), vol. 4230, pp. 1–23. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Calzolai, F., De Nicola, R., Loreti, M., Tiezzi, F.: TAPAs: a tool for the analysis of process algebras. In: Proceedings of TeaConc 2007, The 2nd Workshop on Teaching Concurrency, pp. 51–66. Publishing House of University of Podlasie, Siedlce (2007)

    Google Scholar 

  10. Cunha, J.C., ao Lourenço, J.: An integrated course on parallel and distributed processing. SIGCSE Bull. 30(1), 217–221 (1998)

    Article  Google Scholar 

  11. Desel, J., Reisig, W., Rozenberg, G. (eds.): Lectures on Concurrency and Petri Nets. LNCS, vol. 3098. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  12. Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Boston (2000)

    MATH  Google Scholar 

  13. Grötker, T., Liao, S., Martin, G., Swan, S.: System Design with SystemC. Springer, Heidelberg (2002)

    Google Scholar 

  14. Hermanns, H., Eisentraut, C.: Addendum zum Skript, http://depend.cs.uni-sb.de/ProgI05/script.php

  15. Higginbotham, C.W., Morelli, R.: A system for teaching concurrent programming. In: SIGCSE 1991: Proceedings of the Twenty-Second SIGCSE Technical Symposium on Computer Science Education, pp. 309–316. ACM, New York (1991)

    Chapter  Google Scholar 

  16. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  17. Geneva ITU-TS. ITU-TS Recommendation Z.120: Message Sequence Chart (MSC) (1996)

    Google Scholar 

  18. Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. John Wiley & Sons, Inc., Chichester (1999)

    MATH  Google Scholar 

  19. McDonald, C.: Teaching concurrency with joyce and linda. SIGCSE Bull. 24(1), 46–52 (1992)

    Article  Google Scholar 

  20. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  21. Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML–Revised. MIT Press, Cambridge (1997)

    Google Scholar 

  22. Olszewski, J.: CSP laboratory. In: SIGCSE 1993: Proceedings of the Twenty-Fourth SIGCSE Technical Symposium on Computer Science Education, pp. 91–95. ACM Press, New York (1993)

    Chapter  Google Scholar 

  23. Plotkin, G.D.: A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus (1981)

    Google Scholar 

  24. Smolka, G.: Programmierung–Eine Einführung in die Informatik mit Standard ML. Oldenbourg Wissensch. Vlg. (2008)

    Google Scholar 

  25. van Glabbeek, R.J.: The linear time-branching time spectrum (Extended Abstract). In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 278–297. Springer, Heidelberg (1990)

    Google Scholar 

  26. van Glabbeek, R.J.: The linear time-branching time spectrum II. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 66–81. Springer, Heidelberg (1993)

    Google Scholar 

  27. Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987)

    Google Scholar 

  28. Wolf, V.: Modelling of biochemical reactions by stochastic automata networks. Electr. Notes Theor. Comput. Sci. 171(2), 197–208 (2007)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Eisentraut, C., Hermanns, H. (2008). Teaching Concurrency Concepts to Freshmen. In: Jensen, K., van der Aalst, W.M.P., Billington, J. (eds) Transactions on Petri Nets and Other Models of Concurrency I. Lecture Notes in Computer Science, vol 5100. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89287-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89287-8_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89286-1

  • Online ISBN: 978-3-540-89287-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics