Teaching theory of computation at the junior level

  • Authors:
  • Y. S. Chua;C. N. Winton

  • Affiliations:
  • Division of Computer and Information Sciences, University of North Florida, Jacksonville, FL;Division of Computer and Information Sciences, University of North Florida, Jacksonville, FL

  • Venue:
  • APL '87 Proceedings of the international conference on APL: APL in transition
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.