Theory of Computation: A Primer
Theory of Computation: A Primer
Elements of the Theory of Computation
Elements of the Theory of Computation
APL: An Interactive Approach
Machines, Languages and Computation
Machines, Languages and Computation
Formal languages and their relation to automata
Formal languages and their relation to automata
Undergraduate theory of computation: an approach using simulation tools
SIGCSE '88 Proceedings of the nineteenth SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
Theory of computation courses have traditionally been taught at the advanced-undergraduate or graduate level, primarily due to the level of mathematical rigor associated with the topics involved. The topics covered include automata theory, formal languages, computability, uncomputability, and computational complexity. If the essentials of these topics are introduced earlier in the undergraduate computer science curriculum, students gain deeper insights and better comprehend the underlying computational issues associated with the material covered in subsequent computer science courses. Such a course is required of all computer science majors at the University of North Florida. Experience has demonstrated that a minimum background for the course includes Freshman-Sophomore mathematics (presently calculus) and a typical introduction to computer science. Thus the course is best positioned within the curriculum at the Junior-level. Recognizing that Junior level students are rarely mathematically sophisticated, the treatment is not as rigorous as that of a more advanced course on the theory of computation. Moreover, to reinforce the “theory” covered in class, an integral portion of the course is devoted to “hands-on” exercises using APL and software tools implemented in APL. These exercises generally require the construction of automata of various forms, with observation of their step by step operation. Further exercises illustrate the connections between various automata and areas such as hardware design and compiler construction. The paper describes the course, the unique advantages of APL in conducting the “hands-on” component of the course, and the exercises.