Teaching‎ > ‎

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

This course site has moved to a new home!

The content found here is no longer maintained effective January 2014.

Key Information

Tentative Outline

(subject to revision)
  • functional programming (4 weeks)
    • higher-order functions
    • algebraic data types
    • recursion patterns
  • concurrent and parallel programming (4 weeks)
    • threads
    • futures and promises
    • asynchronous/reactive programming
    • actors
    • software-transactional memory
    • task-parallel library
    • functional data structures
  • programming language representation and implementation (4 weeks)
    • interpreters
    • parsers
    • domain-specific languages
  • logic programming (1 week)
    • Prolog
  • scripting (1 week)
    • JavaScript

Course Texts

Required texts

Scala in Action
By: Nilanjan Raychaudhuri
Publisher: Manning Publications
Pub. Date: April 10, 2013
Print ISBN-10: 1-935182-75-7
Print ISBN-13: 978-1-935182-75-7

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

Recommended texts and other resources

Getting Started with SBT for Scala
By: Shiti Saxena;
Publisher: Packt Publishing
Pub. Date: September 11, 2013
Print ISBN-13: 978-1-78328-267-8

Scala for the Impatient
By: Cay S. Horstmann
Publisher: Addison-Wesley Professional
Pub. Date: March 06, 2012
Print ISBN-10: 0-321-77409-4
Print ISBN-13: 978-0-321-77409-5
Web ISBN-10: 0-13-276177-7
Web ISBN-13: 978-0-13-276177-2

Scala in Depth
By: Joshua D. Suereth; Foreword by: Martin Odersky
Publisher: Manning Publications
Pub. Date: May 24, 2012
Print ISBN-10: 1-935182-70-6
Print ISBN-13: 978-1-935182-70-2

Haskell: The Craft of Functional Programming (3rd Edition)
By: Simon Thompson
Publisher Addison-Wesley Professional
Pub. Date: 2012
Print ISBN-13: 9780201882957

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