Interactive computer algebra software for teaching and helping students to study foundations of computer science

  • Authors:
  • Quoc-Nam Tran

  • Affiliations:
  • Lamar University

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present an interactive computer algebra system, called FoLa (FOrmal Languages & Automata), for teaching and studying theoretical computer science. Formal languages, grammars, automata and related matters from the theory of computation are of considerable importance in the field of computer science because they cover the foundations and basic principles of computer science. The materials are also useful for important applications such as digital design, programming languages and compilers. However, for a long time pencil-and-paper has been the most commonly used tool for working with the subject, which makes the subject a very abstract one. In recent years, efforts have been made in order to develop computerized tools.The goal of this project is to use symbolic techniques from computer algebra for developing an easy-to-use, portable and efficient software which can be used for both visualizing abstract theoretical models and for assisting the manipulation of the models of computers and computation. By using advanced features from a general computer algebra system with its vast library of functions from set theory, graph theory, computer graphics, functions, relations, combinatorics, symbolic computation, mathematical reasoning and automated theorem proving, we are able to build a system which can offer a unified approach for working with both formal languages, grammars, automata and related matters.FoLa provides an environment that supports experimental research on formal languages, grammars, automata and related matters. The system does not have any restrictions on the alphabets, symbols, variables, the number of internal states, the size of input tapes or the number of input tapes. FoLa can also be used not only as a visual tool but also as a mathematical assistant for teaching and studying the subject. The software has been used since the year 2000 for teaching course on foundations of computer science at Lamar University.