Logo PTI Logo FedCSIS

Proceedings of the 19th Conference on Computer Science and Intelligence Systems (FedCSIS)

Annals of Computer Science and Information Systems, Volume 39

An Ontology to Understand Programming Cocktails

, ,

DOI: http://dx.doi.org/10.15439/2024F7885

Citation: Proceedings of the 19th Conference on Computer Science and Intelligence Systems (FedCSIS), M. Bolanowski, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 39, pages 453464 ()

Full text

Abstract. An ever-growing landscape of programming technologies (tools, languages, libraries and frameworks) has rapidly become the norm in many domains of computer programming---Web Development being the most noticeable example. The concurrent use of many compartmentalised technologies has advantages: it allows for flexibility in implementation, while also improving reusability. On the other hand, this proliferation tends to create convoluted development workflows that must be (painstakingly) planned, managed and maintained. The combination of multiple languages, libraries, frameworks and tools (Ingredients) in a single project effectively forms a Programming Cocktail, that can rapidly become cognitive and financially onerous. Aiming at understanding these complex situations, an ontology was created to provide a formal and structured analysis of these cocktails. It emerged from a survey of technologies that several companies are currently using to develop their systems, and aims to provide support for better understanding, classifying and characterising Programming Cocktails. This paper presents not only the ontology itself, but also the consequent knowledge that was constructed and structured through its development.

References

  1. R. R. Fenichel, J. Weizenbaum, and J. C. Yochelson, “A program to teach programming,” Communications of the ACM, vol. 13, pp. 141–146, 03 1970. http://dx.doi.org/10.1145/362052.362053. [Online]. Available: https://dl.acm.org/doi/10.1145/362052.362053
  2. M. J. V. Pereira and P. R. Henriques, “Visualization/animation of programs in alma: Obtaining different results,” in Proceedings of the IEEE Symposium on Human Centric Computing Languages and Environments, 2003. http://dx.doi.org/10.1109/HCC.2003.1260242 pp. 260–262. [Online]. Available: https://ieeexplore.ieee.org/document/1260242
  3. T. C. Freitas, A. Costa Neto, M. J. V. Pereira, and P. R. Henriques, “Nlp/ai based techniques for programming exercises generation,” R. A. P. d. Queirós and M. P. T. Pinto, Eds., vol. 104, Open Access Series in Informatics (OASIcs). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. http://dx.doi.org/10.4230/OASIcs.SLATE.2022.14 pp. 1–15. [Online]. Available: https://drops.dagstuhl.de/opus/volltexte/2022/16760
  4. S. A. Teixeira, “Automatic grading of programming exercises,” Master’s thesis, Minho University, Braga, Portugal, 2023, to be published.
  5. P. Vasconcelos, “Haskelite: A step-by-step interpreter for teaching functional programming,” R. A. P. d. Queirós and M. P. T. Pinto, Eds., vol. 104, Open Access Series in Informatics (OASIcs). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. http://dx.doi.org/10.4230/OASIcs.SLATE.2022.14 pp. 1–15. [Online]. Available: https://drops.dagstuhl.de/opus/volltexte/2022/16760
  6. S. A. Robertson and M. P. Lee, “The application of second natural language acquisition pedagogy to the teaching of programming languages: a research agenda,” ACM SIGCSE Bulletin, vol. 27, no. 4, p. 9–12, 12 1995. http://dx.doi.org/10.1145/216511. [Online]. Available: https://dl.acm.org/doi/10.1145/216511.216517
  7. M. V. P. Almeida, L. M. Alves, M. J. V. Pereira, and G. A. R. Barbosa, “Easycoding: Methodology to support programming learning,” R. Queirós, F. Portela, M. Pinto, and A. Simões, Eds., vol. 81, Open Access Series in Informatics (OASIcs). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, 06 2020. http://dx.doi.org/10.4230/OASIcs.ICPEC.2020.1. ISBN 978-3-95977-153-5. ISSN 2190-6807 pp. 1–8. [Online]. Available: https://drops.dagstuhl.de/opus/volltexte/2020/12288
  8. J. L. Plass, B. D. Homer, and C. K. Kinzer, “Foundations of game-based learning,” Educational Psychologist, vol. 50, no. 4, pp. 258–283, 2015. http://dx.doi.org/10.1080/00461520.2015.1122533
  9. A. Gomes and A. J. Mendes, “Learning to program: Difficulties and solutions,” Proceedings of the 2007 International Conference on Engineering and Education (ICEE). International Network on Engineering Education and Research, 2007, pp. 283–287. [Online]. Available: http://icee2007.dei.uc.pt/proceedings/papers/411.pdf
  10. B. C. Wilson and S. Shrock, “Contributing to success in an introductory computer science course: a study of twelve factors,” Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education. Association for Computing Machinery, 2001. http://dx.doi.org/10.1145/364447.364581. ISBN 1581133294 pp. 184–188. [Online]. Available: https://dl.acm.org/doi/10.1145/364447.364581
  11. P. C. Tavares, E. M. F. Gomes, and P. R. Henriques, “O impacto da animação e da avaliação automática na motivação para o ensino da programação,” Ph.D. dissertation, 2017.
  12. A. Costa Neto, C. Araújo, M. J. V. Pereira, and P. R. Henriques, “Programmers’ affinity to languages,” P. R. Henriques, F. Portela, R. Queirós, and A. Simões, Eds., vol. 91, Open Access Series in Informatics (OASIcs). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. http://dx.doi.org/10.4230/OASIcs.ICPEC.2021.3. ISBN 978-3-95977-194-8. ISSN 2190-6807 pp. 1–7. [Online]. Available: https://drops.dagstuhl.de/opus/volltexte/2021/14219
  13. J. Alves, A. Costa Neto, M. J. V. Pereira, and P. R. Henriques, “Characterization and identification of programming languages,” A. Simões, M. M. Berón, and F. Portela, Eds., vol. 104, Open Access Series in Informatics (OASIcs). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. http://dx.doi.org/10.4230/OASIcs.SLATE.2022.14 pp. 1–15. [Online]. Available: https://drops.dagstuhl.de/opus/volltexte/2022/16760
  14. C. Casalnuovo, E. T. Barr, S. K. Dash, P. Devanbu, and E. Morgan, “A theory of dual channel constraints,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: New Ideas and Emerging Results, ser. ICSE-NIER ’20. New York, NY, USA: Association for Computing Machinery, 2020. doi: 10.1145/3377816.3381720. ISBN 9781450371261 p. 25–28. [Online]. Available: https://doi.org/10.1145/3377816.3381720
  15. J. Figueiredo and F. J. García-Peñalvo, “Building skills in introductory programming,” F. J. García-Peñalvo, Ed., Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing Multiculturality. New York: ACM, 10 2018. http://dx.doi.org/10.1145/3284179. ISBN 9781450365185 p. 46–50. [Online]. Available: https://dl.acm.org/doi/10.1145/3284179.3284190
  16. M. Fourment and M. R. Gillings, “A comparison of common programming languages used in bioinformatics,” BMC Bioinformatics, vol. 82, no. 9, 02 2008. http://dx.doi.org/10.1186/1471-2105-9-82. [Online]. Available: https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82
  17. A. H. Odeh, “Analytical and comparison study of main web programming languages: Asp and php,” TEM Journal, vol. 8, pp. 1517–1522, 11 2019. http://dx.doi.org/10.18421/TEM84-58. [Online]. Available: http://www.temjournal.com/content/84/TEMJournalNovember2019_1517_1522.pdf
  18. N. Walia and A. Kalia, “Programming languages for data mining: a review,” International Journal of Computer Trends and Technology, vol. 68, pp. 38–41, 2020. http://dx.doi.org/10.14445/22312803/IJCTT-V68I1P109. [Online]. Available: https://ijcttjournal.org/archives/ijctt-v68i1p109
  19. T. R. Gruber, “A translation approach to portable ontology specifications,” Knowledge Acquisition, vol. 5, no. 2, pp. 199–220, 1993. http://dx.doi.org/https://doi.org/10.1006/knac.1993.1008. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1042814383710083
  20. R. Studer, V. R. Benjamins, and D. Fensel, “Knowledge engineering: Principles and methods,” Data & Knowledge Engineering, vol. 25, no. 1, pp. 161–197, 1998. http://dx.doi.org/https://doi.org/10.1016/S0169-023X(97)00056-6. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0169023X97000566
  21. Apache Software Foundation, “Apache http server project.” [Online]. Available: https://httpd.apache.org
  22. Apache Software Foundation, “Apache activemq.” [Online]. Available: https://activemq.apache.org
  23. Oracle, “Mysql.” [Online]. Available: https://www.mysql.com
  24. Dormando, “Memcached.” [Online]. Available: https://www.memcached.org
  25. B. W. Kernighan and D. M. Ritchie, C Programming Language, 2nd ed. Pearson, 03 1988.
  26. Python Foundation, “Welcome to python.org,” 11 2019. [Online]. Available: https://www.python.org
  27. Mozilla Foundation, “Html: Hypertext markup language.” [Online]. Available: https://developer.mozilla.org/en-US/docs/Web/HTML
  28. ——, “Css: Cascading style sheets.” [Online]. Available: https://developer.mozilla.org/en-US/docs/Web/CSS
  29. D. D. Chamberlin, “Early history of sql,” IEEE Annals of the History of Computing, vol. 34, pp. 78–82, 11 2012. http://dx.doi.org/10.1109/MAHC.2012.61. [Online]. Available: https://ieeexplore.ieee.org/document/6359709
  30. LibSSH, “Libssh.” [Online]. Available: https://www.libssh.org
  31. R. Santamaria, “raylib.” [Online]. Available: https://www.raylib.com
  32. Apple, “Swiftui,” Apple Developer. [Online]. Available: https://developer.apple.com/xcode/swiftui/
  33. Meta Platforms, “React native.” [Online]. Available: https://reactnative.dev
  34. The JUnit Team, “Junit.” [Online]. Available: https://junit.org
  35. C. Araújo, P. R. Henriques, and J. J. Cerqueira, “Ontocne, characterizing learning resources for training computational thinking,” in 2023 International Symposium on Computers in Education (SIIE), 2023. http://dx.doi.org/10.1109/SIIE59826.2023.10423710 pp. 1–6.
  36. S. Teixeira, R. V. Boas, F. Oliveira, C. Araújo, and P. R. Henriques, “Ontojogo: An ontology for game classification,” in 2020 IEEE 8th International Conference on Serious Games and Applications for Health (SeGAH). Vancouver, BC, Canada: IEEE Xplore, 2020. http://dx.doi.org/10.1109/SeGAH49190.2020.9201876. ISBN 978-1-7281-9042-6. ISSN 2573-3060 pp. 1–8.
  37. C. Araújo, L. Lima, and P. R. Henriques, “An Ontology based approach to teach Computational Thinking,” in 21st International Symposium on Computers in Education (SIIE), C. G. Marques, I. Pereira, and D. Pérez, Eds. IEEE Xplore, Nov 2019. http://dx.doi.org/https://doi.org/10.1109/SIIE48397.2019.8970131. ISBN 978-1-7281-3182-5 pp. 1–6.
  38. D. R. Barbosa, “CnE-Ar: Teaching of Computational Thinking to Adults in Reconversion,” Master’s thesis, Minho University, Braga, Portugal, April 2021, MSc dissertation.
  39. M. de La Salete Teixeira, “Adequa, a platform for choosing Games suitable to Students’ Profile,” Master’s thesis, Minho University, Braga, Portugal, March 2021, MSc dissertation.
  40. C. Araújo, P. R. Henriques, and J. J. Cerqueira, “Creating Learning Resources based on Programming concepts,” in Local Proceedings of the 15th International Conference on Informatics in Schools – ISSEP 2022, A. Bollin and G. Futschek, Eds. Klagenfurt; Wien, Auatria: The Austrian Library Association, open-access net-library, Sep 2022. http://dx.doi.org/10.48415/2022/issep.2022 pp. 35–46.
  41. L. Martins, C. Araújo, and P. R. Henriques, “Digital Collection Creator, Visualizer and Explorer,” in 8th Symposium on Languages, Applications and Technologies (SLATE 2019), ser. OpenAccess Series in Informatics (OASIcs), R. Rodrigues, J. Janoušek, L. Ferreira, L. Coheur, F. Batista, and H. G. Oliveira, Eds., vol. 74. Dagstuhl, Germany: Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 2019. ISBN 978-3-95977-114-6 p. 15:1–15:8. [Online]. Available: https://www.dagstuhl.de/dagpub/978-3-95977-114-6
  42. A. M. C. Dias, “ONTODL+, An ontology description language and its compiler,” Master’s thesis, Minho University, Braga, Portugal, Sep 2021, MSc dissertation.
  43. W3C, “Web ontology language (owl).” [Online]. Available: https://www.w3.org/OWL/
  44. Elastic, “Elastisearch.” [Online]. Available: https://www.elastic.co/elasticsearch
  45. MongoDB, “Mongodb.” [Online]. Available: https://www.mongodb.com
  46. Broadcom, “Rabbitmq.” [Online]. Available: https://www.rabbitmq.com
  47. Unity Technologies, “Unity real-time development platform.” [Online]. Available: https://unity.com
  48. Software Freedom Conservancy, “Git.” [Online]. Available: https://git-scm.com