Dec 26, 2024  
OHIO University Graduate Catalog 2019-20 
    
OHIO University Graduate Catalog 2019-20 [Archived Catalog]

Add to Portfolio (opens a new window)

CS 5200D - Organization of Programming Languages


A hands-on introduction to the science of programming and programming languages, including topics such as: structured data and pattern-matching, recursive and polymorphic data, recursion and higher-order functions, lazy evaluation and streams, automated and equational reasoning about programs, concrete and abstract syntax, grammars, interpreters, desugaring, types and type-checking, type safety, mutable state, references, and objects. Over the course of the semester, students build interpreters and type checkers for a series of increasingly complex languages.

Requisites:
Credit Hours: 3
Repeat/Retake Information: May not be retaken.
Lecture/Lab Hours: 3.0 lecture
Grades: Eligible Grades: A-F,WP,WF,WN,FN,AU,I
Learning Outcomes:
  • Students will be able to interpret and construct grammars in Backus-Naur Form (BNF).
  • Students will be able to construct and interpret abstract syntax trees.
  • Students will be able to create an interpreter for small to medium-sized programming languages.
  • Students will be able to create a type-checker for small to medium-sized programming languages.
  • Students will be able to explain the concepts of name binding and scope.



Add to Portfolio (opens a new window)