skip to main content
10.1145/3408877.3432398acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article
Public Access

Teaching Formal Languages with Visualizations and Auto-Graded Exercises

Published: 05 March 2021 Publication History

Abstract

The material taught in a Formal Languages and Automata (FLA) course is mathematical in nature and requires students to practice proofs and algorithms to understand the content. Traditional FLA textbooks are heavy on prose, and homework typically consists of solving many paper exercises. Instructors often make use of Finite State Machine simulators like the JFLAP package. JFLAP allows students to interactively build models and apply different algorithms to these models, providing both a more interactive and a more visual approach. However, course materials have still traditionally relied largely on prose and hand-graded exercises, limiting both the interaction and the amount of practice. In this paper, we propose an eTextbook with integrated tools (simulators and auto-graded exercises) that allow for greater interactivity and levels of engagement. To evaluate the pedagogical effectiveness of our approach, we conducted performance evaluations across different offerings of an FLA course. Results indicate that students using the integrated eTextbook performed better than did a control group using a traditional textbook approach. Students gave positive feedback regarding the usefulness of the auto-graded exercises for practicing different FLA concepts.

References

[1]
J. Barwise and J. Etchemendy. Turing's World 3.0 for the Macintosh: An Introduction to Computability Theory/Book and Disk (Csli Lecture Notes). Stanford University Press, 1993.
[2]
P. Chakraborty, P. C. Saxena, and C. P. Katti. Fifty years of automata simulation: a review. ACM Inroads, 2(4):59--70, 2011.
[3]
C. I. Ches nevar, M. L. Cobo, and W. Yurcik. Using theoretical computer simulators for formal languages and automata theory. ACM SIGCSE Bulletin, 35(2):33--37, 2003.
[4]
S. H. Edwards and K. P. Murali. Codeworkout: Short programming exercises with built-in data collection. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE '17, pages 188--193, New York, NY, USA, 2017. ACM.
[5]
F. Erlacher et al. Pushdown automata simulator. PhD, Institut für Informatik, Universit"at Innsbruck, 2009.
[6]
M. F. Farghally, K. H. Koh, H. Shahin, and C. A. Shaffer. Evaluating the effectiveness of algorithm analysis visualizations. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, pages 201--206, 2017.
[7]
E. Fouh, D. Breakiron, S. Hamouda, M. Farghally, and C. Shaffer. Exploring students learning behavior with an interactive etextbook in computer science courses. Computers in Human Behavior, pages 478--485, December 2014.
[8]
E. Fouh, V. Karavirta, D. A. Breakiron, S. Hamouda, S. Hall, T. L. Naps, and C. A. Shaffer. Design and Architecture of an Interactive ETextbook--The OpenDSA System. Science of Computer Programming, 88:22--40, 2014.
[9]
E. Gramond and S. H. Rodger. Using JFLAP to Interact With Theorems in Automata Theory. In Proceedings of the Thirtieth ACM SIGCSE Technical Symposium on Computer Science Education, pages 336--340, 1999.
[10]
M. T. Grinder. Animating automata: A cross-platform program for teaching finite automata. In Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, SIGCSE '02, page 63--67, New York, NY, USA, 2002. Association for Computing Machinery.
[11]
M. Hamada. Turing machine and automata simulators. Procedia Computer Science, 18:1466--1474, 2013.
[12]
L. V. Hedges and I. Olkin. Statistical methods for meta-analysis. Academic press, 2014.
[13]
JFLAP website. http://jflap.org, 2020.
[14]
A. f. C. M. A. Joint Task Force on Computing Curricula and I. C. Society. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery, New York, NY, USA, 2013.
[15]
V. Karavirta and C. A. Shaffer. JSAV: the JavaScript Algorithm Visualization Library. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education, pages 159--164, 2013.
[16]
A. Korhonen, L. Malmi, P. Silvasti, J. Nikander, P. Tenhunen, P. Mård, H. Salonen, and V. Karavirta. TRAKLA2. http://www.cs.hut.fi/Research/TRAKLA2/, 2003.
[17]
P. Linz. An Introduction to Formal Languages and Automata, 6th edition. Jones & Bartlett Learning, 2017.
[18]
L. Malmi, V. Karavirta, A. Korhonen, J. Nikander, O. Seppala, and P. Silvasti. Visual algorithm simulation exercise system with automatic assessment: TRAKLA2. Informatics in Education, 3(2):267--288, September 2004.
[19]
H. B. Mann and D. R. Whitney. On a test of whether one of two random variables is stochastically larger than the other. The annals of mathematical statistics, pages 50--60, 1947.
[20]
J. McDonald. Interactive pushdown automata animation. In Proceedings of the 33rd SIGCSE technical symposium on Computer science education, pages 376--380, 2002.
[21]
M. Mohammed, S. Rodger, and C. A. Shaffer. Using programmed instruction to help students engage with etextbook content. The First Workshop on Intelligent Textbooks, 2019.
[22]
M. K. O. Mohammed. Teaching formal languages through visualizations, simulators, auto-graded exercises, and programmed instruction. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE '20, page 1429, New York, NY, USA, 2020. Association for Computing Machinery.
[23]
S. H. Rodger and T. W. Finley. JFLAP: an interactive formal languages and automata package. Jones & Bartlett Learning, 2006.
[24]
S. H. Rodger and E. Gramond. JFLAP: An aid to studying theorems in automata theory. Integrating Technology into Computer Science Education, 30(3):302, 1998.
[25]
S. H. Rodger, E. Wiebe, K. M. Lee, C. Morgan, K. Omar, and J. Su. Increasing engagement in automata theory with JFLAP. In Proceedings of the Fortieth ACM SIGCSE Technical Symposium on Computer Science Education, pages 403--407, 2009.
[26]
J. Sakarovitch. Elements of automata theory. Cambridge University Press, 2009.
[27]
V. Shekhar, A. Prabhu, K. Puranik, L. Antin, and V. Kumar. JFLAP extensions for instructors and students. In 2014 IEEE Sixth International Conference on Technology for Education, pages 140--143. IEEE, 2014.
[28]
V. S. Shekhar, A. Agarwalla, A. Agarwal, B. Nitish, and V. Kumar. Enhancing JFLAP with automata construction problems and automated feedback. In 2014 Seventh International Conference on Contemporary Computing (IC3), pages 19--23. IEEE, 2014.
[29]
M. Sipser. Introduction to the theory of computation. ACM Sigact News, 27(1):27--29, 1996.
[30]
M. Sipser. Introduction to the Theory of Computation. Cengage learning, 2012.
[31]
B. Skinner. Programmed Instruction Revisited. Phi Delta Kappan, 68(2):103--10, 1986.
[32]
B. F. Skinner. Teaching Machines. Science, 128(3330):969--977, 1958.
[33]
B. F. Skinner. The Technology of Teaching New York: Appleton-Century-Crofts. The Behavior of the Establishment, 1968.
[34]
C. A. Tecson and M. M. T. Rodrigo. Tutoring environment for automata and the users' achievement goal orientations. In 2018 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE), pages 526--533. IEEE, 2018.
[35]
M. Vijayalaskhmi and K. Karibasappa. Activity based teaching learning in formal languages and automata theory-an experience. In 2012 IEEE International Conference on Engineering Education: Innovative Practices and Future Trends (AICERA), pages 1--5. IEEE, 2012.

Cited By

View all
  • (2025)VisOpt - Visualization of Compiler Optimizations for Computer Science EducationProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701832(603-609)Online publication date: 12-Feb-2025
  • (2024)CONVERSATIONS: Conversation with a Prominent Propagator: Susan H. RodgerACM Inroads10.1145/369972015:4(9-13)Online publication date: 11-Nov-2024
  • (2024)A Survey of Undergraduate Theory of Computing CurriculaProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 210.1145/3649409.3691070(281-282)Online publication date: 5-Dec-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '21: Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
March 2021
1454 pages
ISBN:9781450380621
DOI:10.1145/3408877
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 March 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. JFLAP
  2. OpenDSA
  3. OpenFLAP
  4. auto-graded exercises
  5. formal languages
  6. visualizations

Qualifiers

  • Research-article

Funding Sources

Conference

SIGCSE '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)164
  • Downloads (Last 6 weeks)23
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)VisOpt - Visualization of Compiler Optimizations for Computer Science EducationProceedings of the 56th ACM Technical Symposium on Computer Science Education V. 110.1145/3641554.3701832(603-609)Online publication date: 12-Feb-2025
  • (2024)CONVERSATIONS: Conversation with a Prominent Propagator: Susan H. RodgerACM Inroads10.1145/369972015:4(9-13)Online publication date: 11-Nov-2024
  • (2024)A Survey of Undergraduate Theory of Computing CurriculaProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 210.1145/3649409.3691070(281-282)Online publication date: 5-Dec-2024
  • (2024)FSM Builder: A Tool for Writing Autograded Finite Automata QuestionsProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653599(269-275)Online publication date: 3-Jul-2024
  • (2024)An Interactive Visual Presentation of Core Database Design ConceptsProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690103(5-11)Online publication date: 5-Dec-2024
  • (2024)Teaching Formal Languages through Programmed InstructionProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630940(867-873)Online publication date: 7-Mar-2024
  • (2023)Automated Grading of Automata with ACL2sElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.375.7375(77-91)Online publication date: 10-Mar-2023
  • (2023)Automatic Automata Grading System Using JFLAP2023 Innovations in Intelligent Systems and Applications Conference (ASYU)10.1109/ASYU58738.2023.10296744(1-4)Online publication date: 11-Oct-2023
  • (2022)Comparing Teachers’ and Preservice Teachers’ Opinions on Teaching Methods in Computer Science EducationProceedings of the 17th Workshop in Primary and Secondary Computing Education10.1145/3556787.3556866(1-4)Online publication date: 31-Oct-2022
  • (2022)Programming to LearnProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 110.1145/3502718.3524814(311-317)Online publication date: 7-Jul-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media