Skip to main content
Ctrl+K
Decode Computation:Hands-On Formal Languages and Algorithms - Home Decode Computation:Hands-On Formal Languages and Algorithms - Home
  • Decode Computation︰ Hands-On Formal Languages and Algorithms

Preliminary Material

  • 1. Set Theory

Regular Languages

  • 2. Languages
  • 3. Regular Expressions
  • 4. Finite Automata
  • 5. Nondeterministic Finite Automata
  • 6. Kleene’s Theorem (Part 1)
  • 7. Kleene’s Theorem (Part 2)
  • 8. Nonregular Languages

Context Free Languages

  • 9. Fundamentals of Context-Free Grammar
  • 10. Normal Forms and Transformations in Context-Free Grammars
  • 11. Pushdown Automata (PDA)
  • 12. Properties of Context-free Languages (CFL)
  • 13. Decidability in Context-Free Grammars (CFGs)

Turing Machines

  • 14. Introduction to Turing Machines
  • 15. Turing Machine Languages
  • 16. Turing Machine Encoding
  • 17. The Universal Turing Machine

Advanced Topics

  • 18. P and NP Problems
  • 19. NP-Completeness

Appendix

  • 20. Appendix: Getting Started with Jupyter Notebooks (JupyterLab and Google Colab)
  • Repository
  • Open issue

Index

By Yong Zhang, Dylan Zwick

© Copyright 2025.

Text content licensed under CC BY-NC 4.0. Source code licensed under MIT License.