Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Programming language pragmatics
Programming language pragmatics
Introduction to the Theory of Computation
Introduction to the Theory of Computation
Introduction to Automata Theory, Languages and Computability
Introduction to Automata Theory, Languages and Computability
Engaging students in formal language theory and theory of computation
Proceedings of the 38th SIGCSE technical symposium on Computer science education
A practical state machine project
Proceedings of the 47th Annual Southeast Regional Conference
Hi-index | 0.00 |
One of the most important and difficult classes in the computer science major is the course on computational theory. The authors describe an approach to incorporate some hands-on laboratory activities, while sacrificing as little classic content as possible. The authors decided to focus on creating labs in which students could see a practical application to using regular expressions (using Lex) and context-free grammars (using Yacc). Along the way, the students gain insight on how finite automata work, and how a compiler parses source code and checks for syntax errors. The only significant problem we came across was that some students were unfamiliar with the C language or the UNIX operating system, but the students in general found the labs worthwhile. Next year, the authors plan on continuing with these laboratory experiences for the class, and plan to introduce one or two more exercises.