This site

Recent site activity

Teaching‎ > ‎

Comp 372/471: Theory (and Practice) of Programming Languages

Information current for spring 2012

Key Information

Tentative Outline

  • functional programming (4 weeks)
    • algebraic data types
    • constant-space paramorphisms in lazy languages
  • programming language implementation (4 weeks)
    • interpreters
    • tools: fslex, fsyacc
  • concurrent and parallel programming (4 weeks)
    • threads
    • actors
    • software-transactional memory
    • task-parallel library
    • functional data structures
  • logic programming (1 week)
    • Prolog
  • scripting (1 week)
    • JavaScript

Course Texts

Required text

Programming Language Pragmatics, Third Edition
By: Michael Scott
Publisher: Morgan Kaufmann
eISBN-10: 0-08-092299-6
eISBN-13: 978-0-08-092299-7
Publication Date: 23-MAR-2009

Recommended texts and other resources

Masterminds of Programming, 1st Edition
By: Federico Biancuzzi; Shane Warden
Publisher: O'Reilly Media, Inc.
Pub. Date: March 27, 2009
Print ISBN-13: 978-0-596-51517-1



Learn You a Haskell for Great Good!
By: Miran Lipovaca
Publisher: No Starch Press
Pub. Date: April 11, 2011
Print ISBN-13: 978-1-59327-283-8

Real World Haskell
By: Bryan O'Sullivan, John Goerzen, Don Stewart
Publisher: O'Reilly Media, Inc.
Pub. Date: 2008
Print ISBN-13: 978-0596514983




Expert F# 2.0
By: Don Syme; Adam Granicz; Antonio Cisternino
Publisher: Apress
Publication Date: 07-JUN-2010
Print ISBN: 978-1-4302-2431-0

Professional F# 2.0
By: Ted Neward; Aaron C. Erickson; Talbott Crowell; Richard Minerich
Publisher: Wrox
Pub. Date: June 30, 2010
Print ISBN: 978-0-4705-2801-3

Functional Programming for Java Developers
By: Dean Wampler
Publisher: O'Reilly Media, Inc.
Pub. Date: July 26, 2011
Print ISBN-13: 978-1-4493-1103-2