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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aceto, L., Ingolfsdottir, A., Larsen, K.G., Srba, J.: Reactive Systems–Modelling, Specification and Verification. Cambridge University Press, Cambridge (2007)
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)
Ben-Ari, M.: A suite of tools for teaching concurrency. SIGCSE Bull. 36(3), 251 (2004)
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)
Ben-Ari, M., Kolikant, Y.B.-D.: Thinking parallel: the process of learning concurrency. SIGCSE Bull. 31(3), 13–16 (1999)
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)
Brabrand, C., Mosegaard, M.: The bisimulation game (2006), http://www.brics.dk/bisim
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)
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)
Cunha, J.C., ao Lourenço, J.: An integrated course on parallel and distributed processing. SIGCSE Bull. 30(1), 217–221 (1998)
Desel, J., Reisig, W., Rozenberg, G. (eds.): Lectures on Concurrency and Petri Nets. LNCS, vol. 3098. Springer, Heidelberg (2004)
Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Boston (2000)
Grötker, T., Liao, S., Martin, G., Swan, S.: System Design with SystemC. Springer, Heidelberg (2002)
Hermanns, H., Eisentraut, C.: Addendum zum Skript, http://depend.cs.uni-sb.de/ProgI05/script.php
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Geneva ITU-TS. ITU-TS Recommendation Z.120: Message Sequence Chart (MSC) (1996)
Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. John Wiley & Sons, Inc., Chichester (1999)
McDonald, C.: Teaching concurrency with joyce and linda. SIGCSE Bull. 24(1), 46–52 (1992)
Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)
Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML–Revised. MIT Press, Cambridge (1997)
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)
Plotkin, G.D.: A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus (1981)
Smolka, G.: Programmierung–Eine Einführung in die Informatik mit Standard ML. Oldenbourg Wissensch. Vlg. (2008)
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)
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)
Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987)
Wolf, V.: Modelling of biochemical reactions by stochastic automata networks. Electr. Notes Theor. Comput. Sci. 171(2), 197–208 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)