Introduces the principles and techniques for compiling high-level programming languages to assembly code. Topics include parsing, instruction selection, register allocation, and compiling high-level features such as polymorphism, first-class functions, and objects. Students build a complete compiler for a simple language. Prereqs., ECEN 2703 and ECEN 3350. Same as CSCI 4555 and ECEN 5523. Prerequisites: Restricted to College of Engineering majors only.