Offered Occasionally
Course Units: 1
Description:
This course balances the theory and practice by applying theoretical principles within a software project. Topics: formal language theory, regular expressions, finite state automata, Backus-Naur form grammars, formal and informal specification of semantics. Lexical analysis, parsing, scope analysis, type checking, and code generation. Issues of programming language design. Following an attribute grammar specification, students implement a compiler for an object-oriented language.
Prerequisite notes: CSC 230, CSC 270, and MAT 127, each with a grade of C or higher.
Requirement for major/minor: None
Option for major/minor: Computer Science Major, Computer Science Minor