Seshat — a web‐based educational resource for teaching the most common algorithms of lexical analysis

The theoretical background to automata and formal languages represents a complex learning area for students. Computer tools for interacting with the algorithm and interfaces to visualize its different steps can assist the learning process and make it more attractive. In this paper, we present a web application for learning some of the most common algorithms in an appealing way. They are specifically linked to the recognition of regular languages that are, taught in classes on both automata theory and compiler design. Although several simulators are available to students, they usually only serve to validate grammars, automata, and languages, rather than helping students to learn the internal processes that an algorithm can perform. The resource presented here can execute and display each algorithm process, step by step, providing explanations on each step that assist student comprehension. Additionally, as a web‐based resource, it can be used on any device with no need for specific software installation.

[1]  Viljem Zumer,et al.  An educational tool for teaching compiler construction , 2003, IEEE Trans. Educ..

[2]  Sidnei Alves de Araújo,et al.  TASNOP: A tool for teaching algorithms to solve network optimization problems , 2018, Comput. Appl. Eng. Educ..

[3]  Abeer Alsadoon,et al.  Using simulators for teaching computer organization and architecture , 2016, Comput. Appl. Eng. Educ..

[4]  Peter Linz An introduction to formal languages and automata (2nd ed.) , 1996 .

[5]  Clifford A. Shaffer,et al.  The Role of Visualization in Computer Science Education , 2012 .

[6]  John T. Stasko,et al.  Please address correspondence to , 2000 .

[7]  Sanjaya Mishra Mobile learning: a handbook for educators and trainers , 2005 .

[8]  Nicolás García-Pedrajas,et al.  A tool for teaching LL and LR parsing algorithms , 2008, ITiCSE.

[9]  Stephen H. Edwards,et al.  Algorithm Visualization: The State of the Field , 2010, TOCE.

[10]  FurióD.,et al.  Mobile learning vs. traditional classroom lessons , 2015 .

[11]  Susan H. Rodger,et al.  JFLAP: An Interactive Formal Languages and Automata Package , 2006 .

[12]  Pinaki Chakraborty,et al.  A new practicum in compiler construction , 2014, Comput. Appl. Eng. Educ..

[13]  Thomas L. Naps,et al.  Exploring the role of visualization and engagement in computer science education , 2003, ITiCSE-WGR '02.

[14]  Hyunseung Choo,et al.  Smartphones as smart pedagogical tools: Implications for smartphones as u-learning devices , 2011, Comput. Hum. Behav..

[15]  Jaime Urquiza-Fuentes,et al.  A Survey of Successful Evaluations of Program Visualization and Algorithm Animation Systems , 2009, TOCE.

[16]  Dana S. Scott,et al.  Finite Automata and Their Decision Problems , 1959, IBM J. Res. Dev..

[17]  Peter Linz,et al.  An Introduction to Formal Languages and Automata , 1997 .

[18]  Robert McNaughton,et al.  Regular Expressions and State Graphs for Automata , 1960, IRE Trans. Electron. Comput..

[19]  Hazem M. Bahig,et al.  MonitTDPA: A tool for monitoring the tracing of dynamic programming algorithms , 2017, Comput. Appl. Eng. Educ..

[20]  Alexander Meduna,et al.  Formal Languages and Computation: Models and Their Applications , 2014 .

[21]  Ludvig Edman,et al.  Diffusion: a comparison between liquid and solid polymer LiTFSI electrolytes , 2002 .

[22]  Lois E. Regen,et al.  155-P: EXTENDED B∗73 HAPLOTYPES CONFIRMED BY FAMILY STUDIES , 2013 .

[23]  Clifford A. Shaffer,et al.  JSAV: the JavaScript algorithm visualization library , 2013, ITiCSE '13.

[24]  Pinaki Chakraborty,et al.  A compiler‐based toolkit to teach and learn finite automata , 2013, Comput. Appl. Eng. Educ..

[25]  Ken Thompson,et al.  Programming Techniques: Regular expression search algorithm , 1968, Commun. ACM.

[26]  Clifford A. Shaffer,et al.  Creating Engaging Online Learning Material with the JSAV JavaScript Algorithm Visualization Library , 2016, IEEE Transactions on Learning Technologies.

[27]  Nuno Oliveira,et al.  Choosing Grammars to Support Language Processing Courses , 2013, SLATE.

[28]  Maria del Carmen Juan Lizandra,et al.  Mobile learning vs. traditional classroom lessons: a comparative study , 2015, J. Comput. Assist. Learn..