CSE 6341 Resources
Setup for programming projects
Books and other resources
This course does not have a required textbook. We will use materials from several books, as described below, but these will be optional. 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.
Prerequisite: CSE 3341/5341 (official syllabus). Relevant notes from CSE 3341/5341 are available at this link; material in these notes is expected background for CSE 6341.
Pagan, Formal Specification of Programming Languages; on 2-hour reserve at the 18th Avenue Library (details)
Slonneger and Kurtz, entire book available online at Formal Syntax and Semantics of Programming Languages
Dragon Book, second 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, authored by Aho, Sethi, and Ullman
Nielson and Nielson, Semantics with Applications: A Formal Introduction
Nielson, Nielson, and Hankin, Principles of Program Analysis
Jones and Nielson, Abstract Interpretation
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 1 and Research paper 2 with interesting examples of compiler bugs
Research paper discussing the subtle issues with integer overflows in C/C++
Career fairs
See up-to-date information at Engineering Career Services