On some innovations in teaching the formal semantics using software tools

William Steingartner 1
  • 1 Technical University of Košice, , Slovakia


In this work we discuss the motivation for innovations and need of a teaching tool for the visualization of the natural semantics method of imperative programming languages. We present the rôle of the teaching software, its design, development and use in the teaching process. Our software module is able to visualize the natural semantics evaluation of programs. It serves as a compiler with environment that can visually interpret simple programming language Jane statements and to depict them into a derivation tree that represents the semantic method of natural semantics. A formal definition of programming language Jane used in the teaching of formal semantics and production rules in natural semantics for that language are shown as well. We present, how the presented teaching tool can provide particular visual steps in the process of finding the meaning of well-structured input program and to depict complete natural-semantic representation of an input program.

If the inline PDF is not rendering correctly, you can download the PDF file here.

  • [1] Dostál J., Wang X., Steingartner W., Naungchalerm P., Digital Intelligence - New Concept in Context of Future School of Education, Proceedings of International Conference of Education, Research and Innovation – ICERI 2017 Conference (16th–18th November 2017, Seville, Spain), available at SSRN: https://ssrn.com/abstract=3255366

  • [2] Jhanji K., Kumar A. R., Modernization in Teaching Learning Process, In Innovative Teaching Practices for 4G students, IOR International Press, 2019, 105–109

  • [3] Sotiriadou A., Kefalas P., Teaching Formal Methods in Computer Science Undergraduates, 2000, unpublished, available online

  • [4] Dostál J., Wang X., Naungchalerm P., Brosch A., Steingartner W., Researching computing teachers’ attitudes towards changes in the curriculum content — an innovative approach or resistance? In: 2017 Second International Conference on Informatics and Computing – ICIC 2017 (2017, Jayapura, Indonesia), IEEE, New York, 2017, 1–6

  • [5] Novitzká V., Logical Reasoning about Programming of Mathematical Machines, Acta Electrotechnica et Informatica, 2005, 5(3), 50–55

  • [6] Steingartner W., Radaković D., Novitzká V., Eldojali M. A. M., An analysis of some aspects of component-based programming for selecting appropriate categorical structures as their models, Acta Electrotechnica et Informatica, 2017, 17(2), 3–10

  • [7] Bilanová Z., Perháč J., About possibilities of applying logical analysis of natural language in computer science, Proceedings of IEEE 13th International Symposium on Applied Computational Intelligence and Informatics – SACI 2019 (29th–31st May 2019, Timişoara, Romania), IEEE, Danvers, 2019, 256–260

  • [8] Mihályi D., Peniašková M., Perháč J., Mihelič J., WEB-Based Questionnaires For Type Theory Course, Acta Electrotechnica et Informatica, 2017, 17(4), 35–42

  • [9] Mosses P. D., Teaching Semantics of Programming Languages with Modular SOS, In: Proceedings of the 2006 Conference on Teaching Formal Methods: Practice and Experience, Series TFM’2006, BCS Learning & Development Ltd., Swindon, UK, 2006

  • [10] Mosses P. D., Theory and Practice of Action Semantics, BRICS Report Series RS9653, University of Aarhus, Aarhus, Denmark, 1996

  • [11] Steingartner W., Perháč J., Biliňski A., A Visualizing Tool for Graduate Course: Semantics of Programming Languages, IPSI BgD Transactions on Internet Research, 2019, 15(2), 52–58

  • [12] Steingartner W., Novitzká V., Bačíková M., Korečko Š., New approach to categorical semantics for procedural languages, Computing and Informatics, 2017, 36(6), 1385–1414

  • [13] Steingartner W., Yar-Muhamedov I., Learning software for handling the mathematical expressions, Journal of Applied Mathematics and Computational Mechanics, 2018, 17(2), 77–91

  • [14] Kochaníková Ž., Steingartner W., Eldojali M. A. M., A code generator for an abstract implementation of imperative language, In: Electrical Engineering and Informatics VIII : Proceedings of the Faculty of Electrical Engineering and Informatics of the Technical University of Košice, 2017, 342–347

  • [15] Steingartner W., Haratim M., Dostál J., Software visualization of natural semantics of imperative languages – a teaching tool, In: Proceedings of the 2019 IEEE 15th International Scientific Conference on Informatics – Informatics 2019 (20th–22nd November 2019, Poprad, Slovakia) IEEE, Danvers, 387–392

  • [16] Nielson H. R., Nielson F., Semantics with Applications: An Appetizer (Undergraduate Topics in Computer Science) 2007th Edition, Springer, 2007

  • [17] Roşu G., K – A Semantic Framework for Programming Languages and Formal Analysis Tools, In: D. Peled and A. Pretschner (eds.), Dependable Software Systems Engineering, Series NATO Science for Peace and Security, IOS Press, 2017

  • [18] Perháč J., Mihályi D., Novitzká V., Between syntax and semantics of resource oriented logic for IDS behavior description, Journal of Applied Mathematics and Computational Mechanics, 2016, 15(2), 105–118

  • [19] Dedera L., Computer languages and their processing, Armed Forces Academy, Liptovský Mikuláš, Slovakia, 2014 (in Slovak)

  • [20] Gabbrielli M., Martini S., Programming languages: principles and paradigms, Springer-Verlag London, 2010

  • [21] Novitzká V., Steingartner W., Semantics of Programming Languages, Technical University of Košice, Košice, Slovakia, 2015 (in Slovak)

  • [22] Waite W. M., Goos G., Compiler Construction, Series: Texts and Monographs in Computer Science, Springer-Verlag, 1984, reprint 1996

  • [23] Slonneger K., Kurtz B. L., Formal Syntax and Semantics of Programming Langauges: A Laboratory-Based Approach, Addison-Wesley, Reading, Massachusetts, 1995

  • [24] Kahn G., Natural semantics, In: Brandenburg F.J., Vidal-Naquet G., Wirsing M. (eds) STACS 87. STACS 1987. Lecture Notes in Computer Science, vol. 247, Springer, Berlin, Heidelberg

  • [25] Benčík M., Dedera L., Natural Semantics of Battle Management Languages, In: Proceedings of the 2019 Communication and Information Technologies – KIT, (9th–11th October 2019, Vysoké Tatry, Slovakia), IEEE, 2019

  • [26] Schmidt A. D., Programming language semantics, In: Encyclopedia of Computer Science, John Wiley and Sons Ltd., Chichester, UK, 2003, 1463–1466

  • [27] Louden K., Lambert K., Programming languages – Principles and Practice, Third edition, Cengage Learning, USA, 2011

  • [28] Teplická K., Steingartner W., Matvija M., Innovative didactic methods in the teaching process at universities. Technical University of Košice, 2020, (in Slovak).

  • [29] Aho A. V., Ravi S., Ulman J. D., Compilers, principles, techniques, and tools, Addison-Wesley Publishing Company, 1987

  • [30] Kollár J., Compilers, elfa s.r.o., Košice, Slovakia, 2010 (in Slovak)


Journal + Issues