Course Syllabus
The table below gives the planned syllabus for the course.
This syllabus is subject to change, as experience dictates.
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 in the readings and
optional readings are from the book Concepts, Techniques,
and Models of Computer Programming
[vanRoyHaridi04], except as noted.
Other references are given in the
bibliography below.
Except for the initial meeting, all other course meetings are
concerned with all of the course's
essential learning outcomes.
Dates 
Topics 
Readings 
Optional Readings 
Homework Due 
Jan. 7 
Introduction 
Handouts,
Grading Policy 
Preface 

Jan. 9 
Introduction to Programming Concepts 
Chapter 1, Sections 1.11.3 
Preface, Appendix,
[MozartWeb]
[Watt90]

HW 1, p1 
Jan. 12 
Introduction to Programming Concepts 
Sections 1.31.8 
Chapter 8, Sections 8.18.3,
[MozartWeb]
[Watt90]

HW 1, p24 
Jan. 14 
Introduction to Programming Concepts 
Sections 1.91.15 
Appendix,
[MozartWeb]
[Watt90]

HW 1, p5 
Jan. 16 
Introduction to Programming Concepts 
Sections 1.151.17 
Appendix,
[MozartWeb]
[Watt90]

HW 1, p610; HW 2, p1 
Jan. 16 
Declarative Computation Model

Chapter 2, Section 2.12.2 
Chapter 3 
HW 1, p610; HW 2, p1 
Jan. 19 
Martin Luther King holiday, no class 



Jan. 21 
Declarative Computation Model

Section 2.3 
[Hudak89] 
HW 2, p2 
Jan. 23 
Declarative Computation Model

Section 2.3 
[Hudak89] 
HW 2, p3 
Jan. 26 
Declarative Computation Model

Section 2.32.4 
[Hudak89] 
HW 2, p4 
Jan. 28 
Declarative Computation Model

Section 2.5 
[Hudak89] 
HW 2, p5, p911 
Jan. 30 
Declarative Computation Model

Section 2.6 
[Hudak89] 
HW 2, p6 
Feb. 2 
Declarative Computation Model

Section 2.7 
[Hudak89] 

Feb. 4 
Declarative Computation Model

Section 2.7, 2.8.23 
[Hudak89] 
HW 2, p78, p1214, p1620 
Feb. 4 
Declarative Programming Techniques 
Chapter 3 intro, 3.13.2 
[Hudak00] 

Feb. 6 
Declarative Programming Techniques 
Section 3.2 
[Hudak00] 
HW 3, p12 
Feb. 9 
Declarative Programming Techniques 
Section 3.23.4.1
[Leavens07] 
[Hudak00] 
HW 3, p34 
Feb. 11 
Declarative Programming Techniques 
Section 3.4.13.4.2
[Leavens07] 
[Hudak00] 
HW 3, p56 
Feb. 13 
Exam 1 
Chapters 12 
Preface, Appendix,
[MozartWeb],
[Hudak89],
[Watt90]


Feb. 16 
Declarative Programming Techniques 
Section 3.4.23.4.8 
[Hudak00] 
HW 3, p7, p1315 
Feb. 18 
Declarative Programming Techniques 
Section 3.53.6 
[Hudak00] 
HW 3, p8 
Feb. 20 
Declarative Programming Techniques 
Section 3.6 
[Hudak00] 
HW 3, p9 
Feb. 23 
Declarative Programming Techniques 
Section 3.6 
[Hudak00] 
HW 3, p. 1620 
Feb. 25 
Declarative Programming Techniques 
Section 3.7 
[Hudak00] 
HW 3, p. 10 
Feb. 27 
Declarative Programming Techniques 
Section 3.7 
[Hudak00] 
(work on HW3 problems 2133!) 
Mar. 2 
Declarative Programming Techniques 
Section 3.83.9 
[Hudak00] 
HW 3, p1112, 2133 
Mar. 4 
Declarative Concurrency 
Chapter 4, Section 4.1 

HW 4, p. 1 
Mar. 6 
Declarative Concurrency 
Section 4.1 

HW 4, p. 2 
Mar. 9 
Spring Break, no class 



Mar. 11 
Spring Break, no class 



Mar. 13 
Spring Break, no class 



Mar. 16 
Declarative Concurrency 
Section 4.14.2 

HW 4, p. 3 
Mar. 18 
Declarative Concurrency 
Section 4.3 

HW 4, p. 46 
Mar. 20 
Declarative Concurrency 
Sections 4.34.5 

HW 4, p. 7, 1215 
Mar. 23 
Declarative Concurrency 
Section 4.5 

HW 4, p. 8 
Mar. 25 
Exam 2 
Sections 3.13.9
[Leavens07] 
[Hudak00] 

Mar. 27 
Declarative Concurrency 
Section 4.5 

HW 4, p. 9 
Mar. 30 
Declarative Concurrency 
Sections 4.5, 4.8 

HW 4, p. 10 
Apr. 1 
Declarative Concurrency 
Section 4.9.2 
Sections 4.9.1, 4.9.34.9.5, 4.10 
HW 4, p. 11 
Apr. 3 
Message Passing 
Chapter 5, Section 5.1 


Apr. 6 
Message Passing 
Section 5.2 

HW 4, p. 1627 
Apr. 8 
Message Passing

Section 5.2 

HW 5, p. 13 
Apr. 10 
Message Passing

Sections 5.35.4 

HW 5, p. 4 
Apr. 13 
Message Passing

Sections 5.65.7 

HW 5, p. 56 
Apr. 15 
Exam 3 
Sections 4.14.5, 4.8, 4.9.2 
Sections 4.64.7, 4.9.1, 4.9.34.9.5, 4.10 

Apr. 17 
Message Passing

Section 5.7 

HW 5, p. 7 
Apr. 20 
Relational Programming 
Chapter 9 

HW 5, p. 814,1618 
Apr. 22 
Relational Programming 
Section 9.1 

HW5, p. 15, HW 6, p. 1 
Apr. 24 
Relational Programming 
Section 9.2 

HW 6, p. 2 
Apr. 27 
Course Summary and Evaluation 

Chapter 1 
HW 6, p. 3, 57 
Wed., April 29, 10:00am12:00pm 
Final Exam 
Sections 5.15.7, 9.19.3 
Chapter 1 

Return to top
 [Hennessy90]

Matthew Hennessy.
The Semantics of Programming Languages.
Wiley, New York, NY, 1990.
 [Hudak89]

Paul Hudak.
Conception, Evolution, and Application of Functional Programming Languages.
ACM Computing Surveys 21(3):359411, Sept. 1989.
http://doi.acm.org/10.1145/72551.72554
 [Hudak00]

Paul Hudak.
The Haskell School of Expression: Learning Functional
Programming through Multimedia.
Cambridge University Press, New York, NY, 2000.
 [Leavens07]

Gary T. Leavens.
Following the Grammar,
University of Central Florida, School of EECS, CSTR0710b, November 2007.
http://www.eecs.ucf.edu/~leavens/COP4020/docs/followgrammar.pdf
 [MozartWeb]

Mozart/Oz Web site,
http://www.mozartoz.org/, accessed January 2, 2008.
 [vanRoyHaridi04]

Peter van Roy and Seif Haridi.
Concepts, Techniques, and Models of Computer Programming.
MIT Press, Cambridge, MA, 2004.
 [Watt90]

David Watt.
Programming language concepts and paradigms.
PrenticeHall, New York, NY, 1990.
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 21, 2009.
This web page is for the Spring 2009 offering of 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.