At the end of this unit, students will be able to...
Define and use various data types (e.g., integers, floats, strings) in programming languages.
Use Kleene closure to define sets of types and expressions in a programming language’s grammar.
Use Product as a set construction to define complex types and expressions in a programming language’s grammar.
Use Function as a set construction to define functions and their types in a programming language’s grammar.
Understand the syntax and semantics of expressions in programming languages.
Extend the syntax of a programming language to include new types and expressions and understand the implications of these extensions on the language’s grammar and semantics.