CSE 3341 Resources
Setup for programming projects ; Skeleton parser/scanner
Books and other resources
This course does not have a required textbook. We will use the book by Michael L. Scott as an optional resource. Your most important reading will be the lecture notes and your own notes. Copies of the lecture notes will be available on the course web page, organized by topic.
Optional textbook: Michael L. Scott, Programming Language Pragmatics, 4th edition; on 2-hour reserve at the 18th Avenue Library (details)
Other versions of this textbook can also be used: the latest version is by Scott and Aldrich, 5th edition; an older version is by Scott, 3rd edition
Dragon Book (Compilers: Principles, Techniques, and Tools, 2nd edition); on 2-hour reserve at the 18th Avenue Library (details) (errata); do not confuse this with the first edition of the Dragon Book from 1986
C language specification (C11); note that newer versions C17 and C23 exist
Java language specification (Java SE 24)
Context-free grammar for the Java language syntax (Java SE 24); starting non-terminal CompilationUnit
Context-free grammar for the Python language syntax (Python 3.13)
Research paper defining a domain-specific language (DSL) for image processing used in NVIDIA; the first two authors received their Ph.D. degrees from our department
Research paper discussing the subtle issues with integer overflows in C/C++
Career fairs
See up-to-date information at Engineering Career Services