ABSTRACT
For Computer Science students, designing Turing machines is a Herculean task. Formal Languages and Automata Theory textbooks aid students by introducing a graphical notation for Turing machine composition. The difficulty of the task remains unchanged, because design principles are not emphasized and students rarely have the opportunity to program their designs in a textual programming language which allows them to write unit tests. To aid students that are trained as programmers, FSM--a domain-specific language for the Automata Theory classroom--has been developed. Using FSM, students design, program, validate, and establish the correctness of their Turing machines. Once they are familiar with Turing machines, students are introduced to Turing machine composition much like they are introduced to function composition when they learn to design programs. To compose Turing machines in FSM, there is an embedded domain-specific language that students may use. In this manner, students' training in programming is made relevant in the course. This article discusses how students are taught to design, program, validate, and establish the correctness of composed Turing machines.
- Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2018. How to Design Programs: An Introduction to Programming and Computing (Second ed.). MIT Press, Cambridge, MA, USA. Google ScholarDigital Library
- Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, Eli Barsilay, Jay McCarthy, and Sam Tobin-Hochstadt. 2018. A Programmable Programming Language. Commun. ACM, 61, 13 (2018), March, 62–71. issn:0001-0782 https://doi.org/10.1145/3127223 Google ScholarCross Ref
- Matthias Felleisen, David Van Horn, and Conrad Barski. 2013. Realm of Racket–Learn to Program, One Game at a Time!. No Starch Press. isbn:978-1-59327-491-7 Google Scholar
- Matthew Flatt, Robert Bruce Findler, and PLT. [n. d.]. The Racket Guide. https://docs.racket-lang.org/guide/ last accessed 2023-07-07 Google Scholar
- C.A.R. Hoare and H. Jifeng. 1998. Unifying Theories of Programming. Prentice Hall. isbn:9780134587615 lccn:98010608 Google Scholar
- C. A. R. Hoare. 1969. An Axiomatic Basis for Computer Programming. Commun. ACM, 12, 10 (1969), Oct., 576–580. issn:0001-0782 https://doi.org/10.1145/363235.363259 Google ScholarDigital Library
- Harry R. Lewis and Christos H. Papadimitriou. 1997. Elements of the Theory of Computation (2nd ed.). Prentice Hall PTR, Upper Saddle River, NJ, USA. isbn:0132624788 https://doi.org/10.1145/300307.1040360 Google ScholarDigital Library
- Peter Linz. 2011. An Introduction to Formal Languages and Automata (5th ed.). Jones and Bartlett Publishers, Inc., USA. isbn:9781449615529 Google ScholarDigital Library
- John C. Martin. 2003. Introduction to Languages and the Theory of Computation (3 ed.). McGraw-Hill, Inc., New York, NY, USA. isbn:0072322004, 9780072322002 Google Scholar
- Marco T. Morazán. 2022. Animated Problem Solving - An Introduction to Program Design Using Video Game Development. Springer. isbn:978-3-030-85090-6 https://doi.org/10.1007/978-3-030-85091-3 Google ScholarCross Ref
- Marco T. Morazán. 2022. Animated Program Design - Intermediate Program Design Using Video Game Development. Springer. isbn:978-3-031-04316-1 https://doi.org/10.1007/978-3-031-04317-8 Google ScholarCross Ref
- Elaine Rich. 2019. Automata, Computability and Complexity: Theory and Applications. Pearson Prentice Hall. isbn:9780132288064 Google Scholar
- Susan H. Rodger. 2006. JFLAP: An Interactive Formal Languages and Automata Package. Jones and Bartlett Publishers, Inc., USA. isbn:0763738344 Google Scholar
- Susan H. Rodger, Bart Bressler, Thomas Finley, and Stephen Reading. 2006. Turning automata theory into a hands-on course. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2006, Houston, Texas, USA, March 3-5, 2006, Doug Baldwin, Paul T. Tymann, Susan M. Haller, and Ingrid Russell (Eds.). ACM, 379–383. https://doi.org/10.1145/1121341.1121459 Google ScholarDigital Library
- Tomás García Saiz and Elena Gaudioso Vázquez. 2010. Autómatas, Gramáticas, y Lenguages Formales: Problemas Resueltos (1st ed.). Sanz Y Torres, S. L., España. isbn:978-84-92948-36-9 Google Scholar
Index Terms
- Composing Turing Machines in FSM
Recommendations
New characterizations of exponential, elementary, and non-elementary time-bounded Turing machines
AbstractMachine models with multiple types of stores are studied. Deterministic two-way pushdown automata augmented by some number of checking stacks are known to accept exactly the class of elementary languages, which is very general but still has a ...
Small turing machines and generalized busy beaver competition
Let TM(k,l) be the set of one-tape Turing machines with k states and l symbols. It is known that the halting problem is decidable for machines in TM(2,3) and TM(3,2). We prove that the decidability of machines in TM(2,4) and TM(3,3) will be difficult to ...
On decision problems for parameterized machines
In this paper, we investigate various decision problems concerning parameterized versions of some classes of machines. Let C(s,m,t) be the class of nondeterministic multitape Turing machine (TM) acceptors with a two-way read-only input, at most s states,...
Comments