Course Syllabus

The table below gives the planned syllabus for the course. This syllabus will be changed as needed. When it becomes necessary to revise the schedule, this page will be updated to reflect the changes.

Material describing the course and its objectives and grading policies is available elsewhere.

Readings should be done before the "lecture" meeting on the given date. Optional readings are optional, and can be used for background or enrichment. References are given in the bibliography below.

All course meetings are concerned with all of the course's essential learning outcomes.

Dates Topics Readings Optional Readings Homework Due
Jan. 13 Introduction Handouts, Grading Policy    
Jan. 15 Tips for Learning a Language with an Example     HW0
Jan. 20 Introduction to Haskell   Tutorials on Haskell.org, [Thompson11] chapters 1-5  
Jan. 22 Types and Lists, Recursion   Tutorials on Haskell.org, [Thompson11] chapters 5-7  
Jan. 27 Recursion [Leavens13] Tutorials on Haskell.org, [Thompson11] chapters 7 and 10 HW2, p. 1-2
Jan. 29 Recursion [Leavens13] Tutorials on Haskell.org, [Thompson11] chapters 7 and 10 HW2, p. 3-6
Feb. 3 Recursion [Leavens13] Tutorials on Haskell.org, [Thompson11] chapters 7 and 10 HW2, p. 7-9
Feb. 5 Types and Type Checking [Thompson11] chapter 13 Tutorials on Haskell.org HW2, p. 10
Feb. 10 Types and Type Checking   Tutorials on Haskell.org HW2, p. 11-13
Feb. 12 Exam 1 [Leavens13] Tutorials on Haskell.org, [Thompson11] chapters 1-7 and 10  
Feb. 17 Types and Type Checking, Higher-order functions   Tutorials on Haskell.org Feb. 18: HW3,p1-3
Feb. 19 Higher-order functions   Tutorials on Haskell.org Feb. 20: HW3,p4-7
Feb. 24 Higher-order functions   Tutorials on Haskell.org Feb. 25: HW3,p8-9
Feb. 26 Modules, Naming     Feb. 27: HW3,p10-11
Mar. 3 Modules, Naming [Leavens13] Tutorials on Haskell.org Mar. 4: HW3,p12
Mar. 5 Monads   [Wadler95], [Winstanley99] Mar. 6: HW3,p13-15
Mar. 10 No class, Spring Break      
Mar. 12 No class, Spring Break      
Mar. 17 Ruby ruby-lang.org   Mar. 18: HW4,p1-3
Mar. 19 Erlang, sequential programming [Armstrong13], chapters 2-5 and 8-10 [Armstrong13], chapters 1 and 6 Mar. 20: HW4,p4
Mar. 24 Erlang, installation and comparison to Haskell [Armstrong13], chapters 2-5 and 8-10 [Armstrong13], chapters 1 and 6  
Mar. 26 Exam 2   Tutorials on Haskell.org and [Wadler95], [Winstanley99] Mar. 27: HW4,p5-6
Mar. 31 Summary of Concepts in the Declarative Models     Apr. 1: HW4,p7-9
Apr. 2 Erlang, actor model [Armstrong13], chapters 11-12 [Armstrong13], chapters 13-21 Apr. 3: HW4,p10-11
Apr. 7 Erlang, actor model [Armstrong13], chapters 11-12 [Armstrong13], chapters 13-21 Apr. 8: HW4,p12
Apr. 9 Erlang, actor model [Armstrong13], chapters 11-12 [Armstrong13], chapters 13-21  
Apr. 14 Erlang, distributed programming [Armstrong13], chapter 14   HW1, Apr. 15: HW5,p1
Apr. 16 Erlang, distributed programming [Armstrong13], chapter 14   Apr. 17: HW5,p2-4
Apr. 21 Erlang, distributed programming [Armstrong13], chapter 14   Apr. 22: HW5,p5-7
Apr. 23 Summary and Review of Erlang (and the course)      
Apr. 30, 4:00pm-6:50pm Exam 3      

Return to top

Bibliography

[Armstrong13]
Joe Armstrong. Programming Erlang, Second Edition: Software for a Concurrent World. Pragmatic Programmers, LLC, second edition, 2013.
[Leavens13]
Gary T. Leavens. Following the Grammar with Haskell, University of Central Florida, Dept. of EECS, CS-TR-13-01, January 2013. http://www.eecs.ucf.edu/~leavens/COP4020/docs/follow-grammar-haskell.pdf
[Marlow13]
Simon Marlow Parallel and Concurrent Programming in Haskell, O'Reilly Media, Inc., 2013. http://chimera.labs.oreilly.com/books/1230000000929/index.html
[Thompson11]
Simon Thompson Haskell: the craft of functional programming (Third Edition), Pearson, Harlow, England, 2011.
[Wadler95]
Philip Wadler. Monads for functional programming. In J. Jeuring and E. Meijer (editors), Advanced Functional Programming, Proceedings of the Baastad Spring School, May 1995, Springer Verlag Lecture Notes in Computer Science, Volume 925. Springer Verlag, Berlin. http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
[Winstanley99]
Noel Winstanley What the hell are Monads? http://www-users.mat.uni.torun.pl/~fly/materialy/fp/haskell-doc/Monads.html

Return to top

Course Content and Policies

The course's content and grading polices are described on separate web pages. See the links on the top left of this page.

Return to top

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Last modified Tuesday, April 14, 2015.

This web page is for COP 4020 at the University of Central Florida. The details of this course are subject to change as experience dictates. You will be informed of any changes. Please direct any comments or questions to Gary T. Leavens at leavens@eecs.ucf.edu. Some of the policies and web pages for this course are quoted or adapted from other courses I have taught, in partciular, Com S 342.