Title
Eileen Head's Calendar
Programming
Languages
CS 471
Fall 2021
Schedule
MWF 10:50-11:50
R 10:05-11:30

Room MWF: ???
R: EB N1 
Office Hrs
cs471 hangout

m/t/w/f

???
TA
Joseph Sanchez
TA Email

 @ bing
TA Office hrs ???

Catalog Description
Introduction to the design and implementation of programming languages: linguistic features for expressing algorithms; formal syntax specification; introduction to language semantics and parsing; declarative programming (functional and goal-driven); scripting languages; imperative programming (procedural and object-oriented); comparative design and implementation issues across languages and paradigms. Assignments emphasize languages such as Prolog, Haskell, Python, and Ruby.
Required Lab includes student presentations.
Prerequisites CS 375 and 373
Textbook
Required

Programming Language Pragmatics, 4nd Edition, Michael L. Scott, Morgan Kaufmann Publishers, 2015 - Errata
Good references
Prolog Programming A First Course by Paul Brna
Or
Learn Prolog Now! by by Patrick Blackburn, Johan Bos, and Kristina Striegnitz
---
Learn You a Haskell for Great Good! A Beginner's Guide by Miran Lipovaca, no starch press, 2011
OR
Haskell: The Craft of Functional Programming, 3nd Edition Simon Thompson, Addison-Wesley Longman, 2012