everything.study
17-363

Programming Language Pragmatics

12 units · Undergraduate

Fall: 12 units This course provides a broad and pragmatic foundation in the most basic tool of the programmer: programming languages. It starts with the fundamentals of syntax, parsing, and binding, the core structural concepts in programming languages. The course will then cover program semantics and type systems, and students will learn to relate them with a type soundness theorem. Finally, a coverage of intermediate optimization and code generation offers the opportunity to discuss both producing efficient code and reasoning about the correctness of program transformations. Assignments involve a combination of tool-assisted formal reasoning and proofs about programming languages, and implementing these language constructs in a compiler. This course fulfills the Logic and amp; Languages constrained elective of the B.S. in Computer Science. Students with substantial math and programming experience who have not satisfied the specific prerequisites can contact the instructor for permission to enroll. Prerequisites: 15-150 Min. grade C and ( 15-251 Min. grade C or 21-228 Min. grade C) Course Website: http://www.cs.cmu.edu/~aldrich/courses/17-363/

Sources