Advertisement

From Computational Thinking to Constructive Design with Simple Models

  • Tiziana MargariaEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11244)

Abstract

Computational Thinking has advocated for a decade the importance of a kind of education that elicits and fosters the understanding of computational concepts that are deemed “natural”, thus widely learnable and adoptable, but not supported or at least not explicitly featured nor named in traditional education.

In this paper we argue that the most important aspect of this educational revolution is actually the “doing” part, in terms of creating a habit of designing the logic of any project or endeavour in terms of simple models. Simple models, especially if formally underpinned, analyzable, executable, and amenable to code generation for the orchestration of services, are the missing link between computational thoughts and the programming level.

Our approach is based on years of experience with middle and high school students, beginner students in Computer Science aged from 17 to over 50, and with students of other disciplines. They have been introduced successfully to CS or programming via constructing simple, yet executable models in the form of short courses, bootcamps, and semester-long courses in various locations and settings.

We are convinced that, unlike the widespread push towards coding, this approach is scalable. We also advocate its adequacy to provide the general public of professionals with the kind of familiarity with computational concepts and the level of confidence in practical making of applications and designs that can be a game changer for the societal diffusion of basic computing-related comprehension and design skills.

Notes

Acknowledgment

This work was supported, in part, by Science Foundation Ireland grants 13/RC/2094 and 16/RC/3918 and co-funded under the European Regional Development Fund through the Southern & Eastern Regional Operational Programme to Lero - the Irish Software Research Centre (www.lero.ie) and Confirm, the Centre for Smart Manufacturing (www.confirm.ie)

References

  1. 1.
  2. 2.
    Chain reaction resources on the jabc website. https://hope.scce.info/chainreaction/
  3. 3.
    Bakera, M., Jörges, S., Margaria, T.: Test your strategy: graphical construction of strategies for connect-four. In: Proceedings of the 2009 14th IEEE International Conference on Engineering of Complex Computer Systems, pp. 172–181. ICECCS 2009. IEEE Computer Society, Washington, DC (2009).  https://doi.org/10.1109/ICECCS.2009.51
  4. 4.
    Bakera, M., Margaria, T., Renner, C., Steffen, B.: Tool-supported enhancement of diagnosis in model-driven verification. Innov. Syst. Softw. Eng. 5, 211–228 (2009).  https://doi.org/10.1007/s11334-009-0091-6CrossRefGoogle Scholar
  5. 5.
    Bordihn, H., Lamprecht, A., Margaria, T.: Foundations of semantics and model checking in a software engineering course. In: Bollin, A., Margaria, T., Perseil, I. (eds.) Proceedings of the First Workshop on Formal Methods in Software Engineering Education and Training, FMSEE&T 2015, co-located with 20th International Symposium on Formal Methods (FM 2015), Oslo, Norway, 23 June 2015. CEUR Workshop Proceedings, vol. 1385, pp. 19–26. CEUR-WS.org (2015). http://ceur-ws.org/Vol-1385/paper4.pdf
  6. 6.
    Boßelmann, S., et al.: DIME: a programming-less modeling environment for web applications. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 809–832. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47169-3_60CrossRefGoogle Scholar
  7. 7.
    Brullo, V.: Modellizzazione di processi per l’individuazione e il trattamento di disturbi specifici dell’apprendimento in bambini in età scolare e prescolare. Master thesis, Politecnico di Torino, Torino (Italy), July 2016Google Scholar
  8. 8.
    Cabot, J., Tisi, M.: The MDE Diploma: first international postgraduate specialization in model-driven engineering. Comput. Sci. Educ. 21(4), 389–402 (2011).  https://doi.org/10.1080/08993408.2011.630131CrossRefGoogle Scholar
  9. 9.
    Cioè, C.: Software Requirements for a Diabetic Retinopathy Centre. Master’s thesis, Politecnico di Torino, Torino, Italy (2016)Google Scholar
  10. 10.
    Gossen, F., Kühn, D., Margaria, T., Lamprecht, A.L.: Computational thinking: learning by doing with the cinco adventure game tool. In: 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), vol. 01, pp. 990–999. IEEE Computer Society (2018). ISSN 0730–3157Google Scholar
  11. 11.
    Graf, S.: Building correct Cyber-Physical Systems - can we improve current practice? In: Proceedings of 23rd International Conference on Formal Methods in Industrial Critical Systems (FMICS 2018). LNCS, vol. 11119 (2018)Google Scholar
  12. 12.
    International Telecommunication Union: CCITT Recommendation I.312 / Q.1201 - Principles of Intelligent Network Architecture, October 1992. https://www.itu.int/rec/T-REC-I.312-199210-I/en
  13. 13.
    International Telecommunication Union: ITU-T Recommendation Q.1211 - Introduction to Intelligent Network Capability Set 1, March 1993. https://www.itu.int/rec/T-REC-Q.1211-199303-I/en
  14. 14.
    Jonsson, B., Margaria, T., Naeser, G., Nyström, J., Steffen, B.: Incremental requirement specification for evolving systems. In: Calder, M., Magill, E.H. (eds.) Feature Interactions in Telecommunications and Software Systems VI (FIW 2000), pp. 145–162. IOS Press, May 2000Google Scholar
  15. 15.
    Jonsson, B., Margaria, T., Naeser, G., Nyström, J., Steffen, B.: Incremental requirement specification for evolving systems. Nord. J. Comput. 8, 65–87 (2001). http://dl.acm.org/citation.cfm?id=774194.774199
  16. 16.
    Jörges, S., Lamprecht, A.-L., Margaria, T., Naujokat, S., Steffen, B.: Synthesis from a practical perspective. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 282–302. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-47166-2_20CrossRefGoogle Scholar
  17. 17.
    Karsai, G.: From modeling to model-based programming. In: Margaria, T., Steffen, B. (eds.) Proceedings of 8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. LNCS, vol. 11244, pp. 295–308 . Springer, Cham (2018)Google Scholar
  18. 18.
    Karusseit, M., Margaria, T.: Feature-based modelling of a complex, online-reconfigurable decision support service. Electron. Notes Theor. Comput. Sci. 157(2), 101–118 (2006). http://www.sciencedirect.com/science/article/pii/S1571066106002489CrossRefGoogle Scholar
  19. 19.
    Kölling, M.: The greenfoot programming environment. Trans. Comput. Educ. 10(4), 14:1–14:21 (2010). http://doi.acm.org/10.1145/1868358.1868361
  20. 20.
    Koulouri, T., Lauria, S., Macredie, R.D.: Teaching introductory programming: a quantitative evaluation of different approaches. Trans. Comput. Educ. 14(4), 26:1–26:28 (2014). http://doi.acm.org/10.1145/2662412CrossRefGoogle Scholar
  21. 21.
    Kühn, D., Neubauer, J.: Guided domain-specific tailoring of jABC4. In: Lamprecht, A.-L. (ed.) ISoLA 2012/2014. CCIS, vol. 683, pp. 113–127. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-51641-7_7CrossRefGoogle Scholar
  22. 22.
    Lamprecht, A.-L., Margaria, T. (eds.): Process Design for Natural Scientists - An Agile Model-Driven Approach. CCIS, vol. 500. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-45006-2CrossRefGoogle Scholar
  23. 23.
    Lamprecht, A.L., Margaria, T.: Scientific workflows with XMDD: a way to use process modeling in computational science education. Procedia Comput. Sci. 51(0), 1927–1936 (2015). http://www.sciencedirect.com/science/article/pii/S187705091501265X. 15th International Conference On Computational Science (ICCS 2015): Computational Science at the Gates of Nature
  24. 24.
    Lamprecht, A., Margaria, T., McInerney, C.: A summer computing camp using chainreaction and jABC. In: 40th IEEE Annual Computer Software and Applications Conference, COMPSAC Workshops 2016, Atlanta, GA, USA, 10–14 June 2016, pp. 275–280. IEEE Computer Society (2016).  https://doi.org/10.1109/COMPSAC.2016.41
  25. 25.
    Lamprecht, A.L., Margaria, T., Neubauer, J.: On the use of XMDD in software development education. In: 39th Annual IEEE Computer Software and Applications Conference (COMPSAC 2015), vol. 2, pp. 835–844, July 2015Google Scholar
  26. 26.
    Lamprecht, A.-L., Margaria, T., Steffen, B.: Seven variations of an alignment workflow - an illustration of agile process design and management in Bio-jETI. In: Măndoiu, I., Sunderraman, R., Zelikovsky, A. (eds.) ISBRA 2008. LNCS, vol. 4983, pp. 445–456. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-79450-9_42CrossRefGoogle Scholar
  27. 27.
    Lamprecht, A.L., Naujokat, S., Margaria, T., Steffen, B.: Synthesis-based loose programming. In: Proceedings of the 7th International Conference on the Quality of Information and Communications Technology (QUATIC 2010), Porto, Portugal, pp. 262–267. IEEE, September 2010Google Scholar
  28. 28.
    Lamprecht, A.L., Steffen, B., Margaria, T.: Scientific workflows with the jABC framework. Int. J. Softw. Tools Technol. Transf. 18(6), 629–651 (2016).  https://doi.org/10.1007/s10009-016-0427-0CrossRefGoogle Scholar
  29. 29.
    Lybecait, M., Kopetzki, D., Zweihoff, P., Naujokat, S., Steffen, B.: A tutorial introduction to graphical modeling and metamodeling with CINCO. In: Margaria, T., Steffen, B. (eds.) Proceedings of 8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. LNCS, vol. 11244, pp. 519–538. Springer, Cham (2018)Google Scholar
  30. 30.
    Maloney, J., Resnick, M., Rusk, N., Silverman, B., Eastmond, E.: The scratch programming language and environment. Trans. Comput. Educ. 10(4), 16:1–16:15 (2010). http://doi.acm.org/10.1145/1868358.1868363CrossRefGoogle Scholar
  31. 31.
    Margaria, T.: Generative model driven design for agile system design and evolution: a tale of two worlds. In: Howar, F., Barnat, J. (eds.) FMICS 2018. LNCS, vol. 11119, pp. 3–18. Springer, Cham (2018).  https://doi.org/10.1007/978-3-030-00244-2_1CrossRefGoogle Scholar
  32. 32.
    Margaria, T., Floyd, B.D., Gonzalez Camargo, R., Lamprecht, A.-L., Neubauer, J., Seelaender, M.: Simple management of high assurance data in long-lived interdisciplinary healthcare research: a proposal. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8803, pp. 526–544. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-45231-8_44CrossRefGoogle Scholar
  33. 33.
    Margaria, T., Meyer, D., Kubczak, C., Isberner, M., Steffen, B.: Synthesizing semantic web service compositions with jMosel and Golog. In: Bernstein, A., Karger, D.R., Heath, T., Feigenbaum, L., Maynard, D., Motta, E., Thirunarayan, K. (eds.) ISWC 2009. LNCS, vol. 5823, pp. 392–407. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-04930-9_25CrossRefGoogle Scholar
  34. 34.
    Margaria, T., Steffen, B.: Business process modelling in the jABC: the one-thing-approach. In: Cardoso, J., van der Aalst, W. (eds.) Handbook of Research on Business Process Modeling. IGI Global (2009)Google Scholar
  35. 35.
    Margaria, T., Steffen, B.: Continuous model-driven engineering. IEEE Comput. 42(10), 106–109 (2009)CrossRefGoogle Scholar
  36. 36.
    Margaria, T., Steffen, B.: Service-orientation: conquering complexity with XMDD. In: Hinchey, M., Coyle, L. (eds.) Conquering Complexity, pp. 217–236. Springer, London (2012).  https://doi.org/10.1007/978-1-4471-2297-5_10CrossRefGoogle Scholar
  37. 37.
    Margaria, T., Steffen, B., Reitenspieß, M.: Service-oriented design: the roots. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 450–464. Springer, Heidelberg (2005).  https://doi.org/10.1007/11596141_34CrossRefGoogle Scholar
  38. 38.
    McInerney, C., Lamprecht, A.-L., Margaria, T.: Computing camps for girls – a first-time experience at the University of Limerick. In: Tatnall, A., Webb, M. (eds.) WCCE 2017. IAICT, vol. 515, pp. 494–505. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-74310-3_50CrossRefGoogle Scholar
  39. 39.
    Naujokat, S., Lybecait, M., Kopetzki, D., Steffen, B.: CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools. Softw. Tools Technol. Transf. 20, 327–354 (2017)CrossRefGoogle Scholar
  40. 40.
    Neubauer, J., Steffen, B., Margaria, T.: Higher-order process modeling: product-lining, variability modeling and beyond. Electron. Proc. Theor. Comput. Sci. 129, 259–283 (2013)CrossRefGoogle Scholar
  41. 41.
    Paravati, G., Lamberti, F., Gatteschi, V.: Joint traditional and company-based organization of information systems and product development courses. In: 39th IEEE Annual Computer Software and Applications Conference, COMPSAC 2015, Taichung, Taiwan, 1–5 July 2015, vol. 2, pp. 858–867 (2015).  https://doi.org/10.1109/COMPSAC.2015.83
  42. 42.
    Resnick, M., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009). http://doi.acm.org/10.1145/1592761.1592779CrossRefGoogle Scholar
  43. 43.
    Starrett, C.: Teaching UML modeling before programming at the high school level. In: Seventh IEEE International Conference on Advanced Learning Technologies (ICALT 2007), pp. 713–714, July 2007Google Scholar
  44. 44.
    Steffen, B., Gossen, F., Naujokat, S., Margaria, T.: Language-driven engineering: from general-purpose to purpose-specific languages. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science: State of the Art and Perspectives, LNCS, vol. 10000. Springer (2018)Google Scholar
  45. 45.
    Steffen, B., Margaria, T., Braun, V., Kalt, N.: Hierarchical service definition. Annu. Rev. Commun. ACM 51, 847–856 (1997)Google Scholar
  46. 46.
    Steffen, B., Margaria, T., Claßen, A.: Heterogeneous analysis and verification for distributed systems. Softw. Concepts Tools 17(1), 13–25 (1996)Google Scholar
  47. 47.
    Steffen, B., Margaria, T., Claßen, A., Braun, V.: Incremental formalization: a key to industrial success. Softw. Concepts Tools 17(2), 78–95 (1996)Google Scholar
  48. 48.
    Steffen, B., Margaria, T., Claßen, A., Braun, V., Reitenspieß, M.: An environment for the creation of intelligent network services. In: Intelligent Networks: IN/AIN Technologies, Operations, Services and Applications - A Comprehensive Report, pp. 287–300. IEC: International Engineering Consortium (1996)Google Scholar
  49. 49.
    Steffen, B., Margaria, T., Freitag, B.: Module Configuration by Minimal Model Construction. Technical report, Fakultät für Mathematik und Informatik, Universität Passau (1993)Google Scholar
  50. 50.
    Steve Boßelmann, S.N., Steffen, B.: On the difficulty of drawing the line. In: Margaria, T., Steffen, B. (eds.) Proceedings of 8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. LNCS, vol. 11244, pp. 340–356. Springer, Cham (2018)Google Scholar
  51. 51.
    Tekinerdogan, B.: Experiences in teaching a graduate course on model-driven software development. Comput. Sci. Educ. 21(4), 363–387 (2011).  https://doi.org/10.1080/08993408.2011.630129CrossRefGoogle Scholar
  52. 52.
    Utting, I., Cooper, S., Kölling, M., Maloney, J., Resnick, M.: Alice, greenfoot, and scratch - a discussion. Trans. Comput. Educ. 10(4), 17:1–17:11 (2010). http://doi.acm.org/10.1145/1868358.1868364CrossRefGoogle Scholar
  53. 53.
    Voelter, M.: Fusing modeling and programming into language-oriented programming - our experiences with MPS. In: Margaria, T., Steffen, B. (eds.) Proceedings of 8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. LNCS, vol. 11244, pp. 309–339. Springer, Cham (2018)Google Scholar
  54. 54.
    Wickert, A., Lamprecht, A., Margaria, T.: Domain-specific design of patient classification in cancer-related cachexia research. In: Gnesi, S., Plat, N., Spoletini, P., Pelliccione, P. (eds.) Proceedings of the 6th Conference on Formal Methods in Software Engineering, FormaliSE 2018, collocated with ICSE 2018, Gothenburg, Sweden, 2 June 2018, pp. 60–63. ACM (2018). http://doi.acm.org/10.1145/3193992.3194002
  55. 55.
    Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006). http://doi.acm.org/10.1145/1118178.1118215CrossRefGoogle Scholar
  56. 56.
    Wolber, D., Abelson, H., Spertus, E., Looney, L.: App Inventor 2: Create Your Own Android Apps. O’Reilly Media (2014). https://books.google.nl/books?id=YjcCBQAAQBAJ
  57. 57.
    Wolber, D.: App inventor and real-world motivation. In: Proceedings of the 42nd ACM Technical Symposium on Computer Science Education, pp. 601–606. SIGCSE 2011. ACM, New York (2011). http://doi.acm.org/10.1145/1953163.1953329
  58. 58.
    Zendler, A., Spannagel, C., Klaudt, D.: Process as content in computer science education: empirical determination of central processes. Comput. Sci. Educ. 18(4), 231–245 (2008). http://www.tandfonline.com/doi/abs/10.1080/08993400802390553CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Chair of Software Systems, University of Limerick, and LeroLimerickIreland

Personalised recommendations