Textbook: The course-text materials are found at the Text Materials page at the course website.
Course Structure: to be determined There will be several programming exercises and one or two projects where you learn and then design and implement a domain-specific language. There might also be several "pencil and paper" homeworks.
Prerequisites: CIS505 (absolutely) and MATH 510 (or equivalent, namely, you can do algebra).
Objectives and Topics:
We will learn standard models of programming languages and how to design and implement our own domain-specific programming languages (DSLs) using script and Scala. We will study calculi for language definition: the lambda-calculus, for certain, and possibly Scott-Strachey-style denotational semantics.
Here is a list of topics to be covered:
University policies: The Provost has requested that the information at http://www.k-state.edu/provost/resources/teaching/course.html be added to every course syllabus. Consider it done. Also, see http://www.ksu.edu/Honor for the University's policy regarding academic honesty.
Academic accommodation for students with disabilities: If you have a physical or learning disability that requires special accommodation, please notify the instructor within the first two weeks of the course.