This page refers to the Spring 2017 offering of CSE 505 only. The information on this page does not necessarily apply to every offering of CSE 505.
Fundamentals of Programming Languages
This course surveys concepts, constructs, and foundations of a variety of programming languages. Main topics are lambda-calculi, type systems, data and procedural abstraction, programming paradigms (object-oriented, functional, and logic), and formal semantics (denotational, operational and axiomatic). Languages of interest include C, C++, Java, Lisp, ML, Smalltalk, and Prolog. Programming projects are designed to deepen understanding of languages. Language-specific details are covered in the recitations which are closely coordinated with the lectures.
None presently available.
Graduate standing in Computer Science and Engineering or graduate standing with equivalent background, including working knowledge of a modern high-level language, data structures, recursive programming techniques, and discrete mathematics.
Ph.D.: This course fulfills one Software and Information Systems Core Course (Breadth) requirement.
M.S.: This course fulfills one Software and Information Systems Core Course (Breadth) requirement.