{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,8]],"date-time":"2024-07-08T10:48:14Z","timestamp":1720435694689},"reference-count":56,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2023,7,1]],"date-time":"2023-07-01T00:00:00Z","timestamp":1688169600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2023,7,1]],"date-time":"2023-07-01T00:00:00Z","timestamp":1688169600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-017"},{"start":{"date-parts":[[2023,7,1]],"date-time":"2023-07-01T00:00:00Z","timestamp":1688169600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"},{"start":{"date-parts":[[2023,7,1]],"date-time":"2023-07-01T00:00:00Z","timestamp":1688169600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-012"},{"start":{"date-parts":[[2023,7,1]],"date-time":"2023-07-01T00:00:00Z","timestamp":1688169600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2023,7,1]],"date-time":"2023-07-01T00:00:00Z","timestamp":1688169600000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-004"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Science of Computer Programming"],"published-print":{"date-parts":[[2023,7]]},"DOI":"10.1016\/j.scico.2023.102959","type":"journal-article","created":{"date-parts":[[2023,5,12]],"date-time":"2023-05-12T15:21:19Z","timestamp":1683904879000},"page":"102959","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":2,"special_numbering":"C","title":["Teaching language processing with the PAMOJA framework"],"prefix":"10.1016","volume":"229","author":[{"ORCID":"http:\/\/orcid.org\/0000-0001-7733-3602","authenticated-orcid":false,"given":"Jackline","family":"Ssanyu","sequence":"first","affiliation":[]},{"given":"Engineer","family":"Bainomugisha","sequence":"additional","affiliation":[]},{"given":"Benjamin","family":"Kanagwa","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.scico.2023.102959_br0010","series-title":"Computing Curricula 2020: Paradigms for Global Computing Education","author":"CC2020 Task Force","year":"2020"},{"issue":"1","key":"10.1016\/j.scico.2023.102959_br0020","doi-asserted-by":"crossref","first-page":"341","DOI":"10.1145\/563517.563473","article-title":"Making compiler design relevant for students who will (most likely) never design a compiler","volume":"34","author":"Debray","year":"2002","journal-title":"SIGCSE Bull."},{"key":"10.1016\/j.scico.2023.102959_br0030","series-title":"Proceedings of the 8th International Conference on Technology for Education (T4E)","first-page":"216","article-title":"An experience report on teaching compiler design concepts using case-based and project-based learning approaches","author":"Kundra","year":"2016"},{"issue":"3","key":"10.1016\/j.scico.2023.102959_br0040","doi-asserted-by":"crossref","first-page":"266","DOI":"10.1145\/1151954.1067518","article-title":"Making compiler construction projects relevant to core curriculums","volume":"37","author":"Demaille","year":"2005","journal-title":"SIGCSE Bull."},{"key":"10.1016\/j.scico.2023.102959_br0050","series-title":"Proceedings of the 40th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)","first-page":"9","article-title":"Developing an optimizing compiler for the game boy as a software engineering project","author":"K\u00f6gel","year":"2018"},{"key":"10.1016\/j.scico.2023.102959_br0060","series-title":"Ninth IEEE International Conference on Advanced Learning Technologies","first-page":"597","article-title":"Syntax trees visualization in language processing courses","author":"Almeida-Mart\u00ednez","year":"2009"},{"key":"10.1016\/j.scico.2023.102959_br0070","series-title":"Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education","article-title":"Student-centered design of a parser visualization tool","author":"Almeida-Mart\u00ednez","year":"2010"},{"key":"10.1016\/j.scico.2023.102959_br0080","series-title":"IEEE EDUCON Conference","first-page":"1019","article-title":"Educational visualizations of syntax error recovery","author":"Almeida-Mart\u00ednez","year":"2010"},{"issue":"4","key":"10.1016\/j.scico.2023.102959_br0090","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1145\/2038876.2038893","article-title":"Fifty years of automata simulation: a review","volume":"2","author":"Chakraborty","year":"2011","journal-title":"ACM Inroads"},{"issue":"3","key":"10.1016\/j.scico.2023.102959_br0100","doi-asserted-by":"crossref","first-page":"606","DOI":"10.1002\/cae.22231","article-title":"Evaluation of simulation systems suitable for teaching compiler construction courses","volume":"28","author":"Stamenkovi\u0107","year":"2020","journal-title":"Comput. Appl. Eng. Educ."},{"issue":"1","key":"10.1016\/j.scico.2023.102959_br0110","first-page":"275","article-title":"ComVis: interactive simulation environment for compiler learning","volume":"30","author":"Jovanovi\u0107","year":"2022","journal-title":"Comput. Appl. Eng. Educ."},{"key":"10.1016\/j.scico.2023.102959_br0120","series-title":"JFLAP: An Interactive Formal Languages and Automata Package","author":"Rodger","year":"2006"},{"key":"10.1016\/j.scico.2023.102959_br0130","doi-asserted-by":"crossref","first-page":"403","DOI":"10.1145\/1539024.1509011","article-title":"Increasing engagement in automata theory with JFLAP","volume":"41","author":"Rodger","year":"2009","journal-title":"SIGCSE Bull."},{"key":"10.1016\/j.scico.2023.102959_br0140","doi-asserted-by":"crossref","first-page":"2737","DOI":"10.1007\/s10639-018-9739-x","article-title":"PAVT: a tool to visualize and teach parsing algorithms","volume":"23","author":"Sangal","year":"2018","journal-title":"Educ. Inf. Technol."},{"key":"10.1016\/j.scico.2023.102959_br0150","series-title":"Component Software: Beyond Object-Oriented Programming","author":"Szyperski","year":"2002"},{"key":"10.1016\/j.scico.2023.102959_br0160","series-title":"An Introduction to Component-Based Software Development","author":"Lau","year":"2018"},{"key":"10.1016\/j.scico.2023.102959_br0170","doi-asserted-by":"crossref","DOI":"10.1016\/j.scico.2021.102703","article-title":"PAMOJA: a component framework for grammar-aware engineering","volume":"211","author":"Ssanyu","year":"2021","journal-title":"Sci. Comput. Program."},{"key":"10.1016\/j.scico.2023.102959_br0180","doi-asserted-by":"crossref","first-page":"331","DOI":"10.1145\/1072997.1073000","article-title":"Toward an engineering discipline for grammarware","volume":"14","author":"Klint","year":"2005","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.scico.2023.102959_br0190","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/226155.226156","article-title":"Generation of formatters for context-free languages","volume":"5","author":"Van Den Brand","year":"1996","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.scico.2023.102959_br0200","series-title":"Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (CoSET2000)","first-page":"5","article-title":"A pretty-printer for every occasion","author":"de Jonge","year":"2000"},{"key":"10.1016\/j.scico.2023.102959_br0210","series-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma","year":"1995"},{"issue":"5","key":"10.1016\/j.scico.2023.102959_br0220","doi-asserted-by":"crossref","first-page":"994","DOI":"10.1002\/cae.22353","article-title":"Teaching concepts related to finite automata using ComVis","volume":"29","author":"Jovanovi\u0107","year":"2021","journal-title":"Comput. Appl. Eng. Educ."},{"key":"10.1016\/j.scico.2023.102959_br0230","series-title":"25th International Conference on Information Technology","first-page":"1","article-title":"Improving participation and learning of compiler theory using educational simulators","author":"Stamenkovi\u0107","year":"2021"},{"issue":"6","key":"10.1016\/j.scico.2023.102959_br0240","doi-asserted-by":"crossref","first-page":"2255","DOI":"10.1002\/cae.22036","article-title":"Seshat: a web-based educational resource for teaching the most common algorithms of lexical analysis","volume":"26","author":"Arnaiz-Gonz\u00e1lez","year":"2018","journal-title":"Comput. Appl. Eng. Educ."},{"key":"10.1016\/j.scico.2023.102959_br0250","series-title":"Proceedings of the 21st International Conference on Computer Systems and Technologies","first-page":"244","article-title":"A set of tools to teach language processors construction","author":"Golemanov","year":"2020"},{"issue":"5","key":"10.1016\/j.scico.2023.102959_br0260","doi-asserted-by":"crossref","first-page":"1742","DOI":"10.1002\/cae.21944","article-title":"A mobile app for teaching formal languages and automata","volume":"26","author":"Pereira","year":"2018","journal-title":"Comput. Appl. Eng. Educ."},{"key":"10.1016\/j.scico.2023.102959_br0270","series-title":"Proceedings of the 4th ACM Symposium on Software Visualization","first-page":"209","article-title":"VAST: visualization of abstract syntax trees within language processors courses","author":"Almeida-Mart\u00ednez","year":"2008"},{"issue":"1","key":"10.1016\/j.scico.2023.102959_br0280","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1109\/TE.2002.808277","article-title":"An educational tool for teaching compiler construction","volume":"46","author":"Mernik","year":"2003","journal-title":"IEEE Trans. Ed."},{"key":"10.1016\/j.scico.2023.102959_br0290","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1016\/j.scico.2012.03.001","article-title":"Jaccie: a Java-based compiler-compiler for generating, visualizing and debugging compiler components","volume":"79","author":"Krebs","year":"2014","journal-title":"Sci. Comput. Program."},{"issue":"12","key":"10.1016\/j.scico.2023.102959_br0300","doi-asserted-by":"crossref","first-page":"1305","DOI":"10.1002\/spe.872","article-title":"ANTLRWorks: an ANTLR grammar development environment","volume":"38","author":"Bovet","year":"2008","journal-title":"Softw. Pract. Exp."},{"key":"10.1016\/j.scico.2023.102959_br0310","series-title":"Proceedings of the International Conference on Advanced Visual Interfaces","article-title":"ParVis: a visual tool for exploring parser execution traces","author":"Costagliola","year":"2020"},{"issue":"1","key":"10.1016\/j.scico.2023.102959_br0320","doi-asserted-by":"crossref","first-page":"299","DOI":"10.1007\/s11042-021-10624-6","article-title":"Visual exploration of visual parser execution","volume":"81","author":"Costagliola","year":"2022","journal-title":"Multimed. Tools Appl."},{"key":"10.1016\/j.scico.2023.102959_br0330","series-title":"Proceedings of the 41st ACM Technical Symposium on Computer Science Education","first-page":"12","article-title":"Frances: a tool for understanding code generation","author":"Sondag","year":"2010"},{"key":"10.1016\/j.scico.2023.102959_br0340","series-title":"International Symposium on Computers in Education","first-page":"23","article-title":"Attribute grammars made easier: EvDebugger a visual debugger for attribute grammars","author":"Rodr\u00edguez-Cerezo","year":"2014"},{"key":"10.1016\/j.scico.2023.102959_br0350","author":"yComp"},{"key":"10.1016\/j.scico.2023.102959_br0360","series-title":"Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education","first-page":"203","article-title":"Improving compilers education through symbol tables animations","author":"Urquiza-Fuentes","year":"2011"},{"issue":"1","key":"10.1016\/j.scico.2023.102959_br0370","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1145\/331795.331801","article-title":"CUPV: a visualization tool for generated parsers","volume":"32","author":"Kaplan","year":"2000","journal-title":"SIGCSE Bull."},{"key":"10.1016\/j.scico.2023.102959_br0390","series-title":"World Conference on Information Systems and Technologies","first-page":"338","article-title":"Evaluation of the use of different parser generators in a compiler construction course","author":"Ortin","year":"2022"},{"key":"10.1016\/j.scico.2023.102959_br0400","doi-asserted-by":"crossref","first-page":"e0264326","DOI":"10.1371\/journal.pone.0264326","article-title":"An empirical evaluation of Lex\/Yacc and ANTLR parser generation tools","volume":"17","author":"Ortin","year":"2022","journal-title":"PLoS ONE"},{"key":"10.1016\/j.scico.2023.102959_br0410","series-title":"Systematic Mapping Study on Domain-Specific Language Development Tools, vol. 25","first-page":"4205","author":"Iung","year":"2020"},{"key":"10.1016\/j.scico.2023.102959_br0420","series-title":"Software Languages \u2014 Syntax, Semantics, and Metaprogramming","author":"L\u00e4mmel","year":"2018"},{"key":"10.1016\/j.scico.2023.102959_br0430","series-title":"Proceedings of the 10th Educators' Symposium @ MODELS 2014 (EduSymp'14), Workshop","first-page":"1","article-title":"Reflections on courses for software language engineering","author":"Bagge","year":"2014"},{"key":"10.1016\/j.scico.2023.102959_br0440","series-title":"Domain-Specific Languages in Practice","first-page":"293","article-title":"Teaching MPS: experiences from industry and academia","author":"Barash","year":"2021"},{"issue":"3","key":"10.1016\/j.scico.2023.102959_br0450","first-page":"68","article-title":"A set of tools to teach compiler construction","volume":"40","author":"Demaille","year":"2008","journal-title":"ACM"},{"issue":"2","key":"10.1016\/j.scico.2023.102959_br0460","doi-asserted-by":"crossref","first-page":"186","DOI":"10.1287\/mnsc.46.2.186.11926","article-title":"A theoretical extension of the technology acceptance model: four longitudinal field studies","volume":"46","author":"Venkatesh","year":"2000","journal-title":"Manag. Sci."},{"issue":"4","key":"10.1016\/j.scico.2023.102959_br0470","doi-asserted-by":"crossref","first-page":"581","DOI":"10.1002\/cae.20502","article-title":"Alg_OS: a web-based software tool to teach page replacement algorithms of operating systems to undergraduate students","volume":"21","author":"Garmpis","year":"2013","journal-title":"Comput. Appl. Eng. Educ."},{"key":"10.1016\/j.scico.2023.102959_br0480","series-title":"Proceedings of the 49th ACM Technical Symposium on Computer Science Education","first-page":"2","article-title":"The effect of a web-based coding tool with automatic feedback on students' performance and perceptions","author":"Benotti","year":"2018"},{"issue":"5","key":"10.1016\/j.scico.2023.102959_br0490","doi-asserted-by":"crossref","first-page":"2572","DOI":"10.1111\/bjet.12864","article-title":"Technology acceptance model in educational context: a systematic literature review","volume":"50","author":"Grani\u0107","year":"2019","journal-title":"Br. J. Educ. Technol."},{"key":"10.1016\/j.scico.2023.102959_br0500","first-page":"1","article-title":"Educational technology adoption: a systematic review","author":"Grani\u0107","year":"2022","journal-title":"Educ. Inf. Technol."},{"issue":"6","key":"10.1016\/j.scico.2023.102959_br0510","doi-asserted-by":"crossref","first-page":"2554","DOI":"10.3390\/app11062554","article-title":"Learn-CIAM: a model-driven approach for the development of collaborative learning tools","volume":"11","author":"Arroyo","year":"2021","journal-title":"Appl. Sci."},{"key":"10.1016\/j.scico.2023.102959_br0520","series-title":"Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education","first-page":"552","article-title":"An interactive tutoring system for learning language processing and compiler design","author":"del Vado V\u00edrseda","year":"2020"},{"issue":"2","key":"10.1016\/j.scico.2023.102959_br0530","first-page":"131","article-title":"Exploring the role of visualization and engagement in computer science education","volume":"35","author":"Naps","year":"2002","journal-title":"ACM"},{"key":"10.1016\/j.scico.2023.102959_br0540","doi-asserted-by":"crossref","first-page":"28","DOI":"10.1109\/MS.1985.229778","article-title":"Techniques for algorithm animation","volume":"2","author":"Brown","year":"1985","journal-title":"IEEE Softw."},{"key":"10.1016\/j.scico.2023.102959_br0550","series-title":"The Theory of Parsing, Translation, and Compiling, vol. 1","author":"Aho","year":"1973"},{"key":"10.1016\/j.scico.2023.102959_br0560","series-title":"Compilers: Principles, Techniques, and Tools","author":"Aho","year":"2006"},{"key":"10.1016\/j.scico.2023.102959_br0570","author":"Ssanyu"}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642323000412?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642323000412?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2024,4,1]],"date-time":"2024-04-01T10:52:00Z","timestamp":1711968720000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0167642323000412"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,7]]},"references-count":56,"alternative-id":["S0167642323000412"],"URL":"https:\/\/doi.org\/10.1016\/j.scico.2023.102959","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[2023,7]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Teaching language processing with the PAMOJA framework","name":"articletitle","label":"Article Title"},{"value":"Science of Computer Programming","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.scico.2023.102959","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2023 Elsevier B.V. All rights reserved.","name":"copyright","label":"Copyright"}],"article-number":"102959"}}