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
- [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.