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.
The rightmost column gives a mapping of topics to knowledge units from
the
Final Report of the Joint ACM/IEEECS Task Force on Computing Curricula 2001 for Computer Science.
Except for the initial meeting, all other course meetings are
concerned with all of the course's
essential learning outcomes.
Dates 
Topics 
Readings (for quiz) 
Optional Readings 
Homework Due 
CC 2001 
Aug. 25 
Introduction 
Handouts,
Grading Policy 
Preface 

PL1 
Aug. 27 
Introduction to Programming Concepts 
Chapter 1, Sections 1.11.3 
Preface, Appendix,
[MozartWeb]
[Watt90]


PL12, PL4, PL9 
Aug. 29 
Introduction to Programming Concepts 
Sections 1.31.15 
Chapter 8, Sections 8.18.3,
[MozartWeb]
[Watt90]


PL12, PL4, PL9 
Sep. 1 
Labor day holiday, no class 




Sep. 3 
Introduction to Programming Concepts 
Sections 1.151.17 
Appendix,
[MozartWeb]
[Watt90]

HW 1 
PL12, PL4, PL9 
Sep. 3 
Declarative Computation Model

Chapter 2, Section 2.1 
[Hudak89] 
HW 1 
PL13, PL10 
Sep. 5 
Declarative Computation Model

Section 2.2 
Chapter 3 

PL13, PL10 
Sep. 8 
Declarative Computation Model

Section 2.3 
[Hudak89] 

PL13, PL10 
Sep. 10 
Declarative Computation Model

Section 2.3 
[Hudak89] 

PL13, PL10 
Sep. 12 
Declarative Computation Model

Section 2.32.4 
[Hudak89] 

PL13, PL10 
Sep. 15 
Declarative Computation Model

Section 2.5 
[Hudak89] 
HW 2, p. 13 
PL23, PL10 
Sep. 17 
Declarative Computation Model

Section 2.6 
[Hudak89] 

PL23, PL10 
Sep. 19 
Declarative Computation Model

Section 2.7 
[Hudak89] 

PL23, PL10 
Sep. 22 
Declarative Computation Model

Section 2.7, 2.8.23 
[Hudak89] 
HW 2, p. 411 
PL23, PL10 
Sep. 22 
Declarative Programming Techniques 
Chapter 3 intro, 3.13.2 
[Hudak00] 
HW 2, p. 411 
PF4, PL45, PL7, PL911 
Sep. 24 
Declarative Programming Techniques 
Section 3.2 
[Hudak00] 

PF4, PL45, PL7, PL911 
Sep. 26 
Declarative Programming Techniques 
Section 3.23.4.1 
[Hudak00]
[Leavens07] 

PF4, PL45, PL7, PL911 
Sep. 29 
Declarative Programming Techniques 
Section 3.4.13.4.2 
[Hudak00] 
HW 3, p. 16 
PF4, PL45, PL7, PL911 
Oct. 1 
Declarative Programming Techniques 
Section 3.4.23.4.8 
[Hudak00] 

PF4, PL45, PL7, PL911 
Oct. 3 
Declarative Programming Techniques 
Section 3.53.6 
[Hudak00] 

PF4, PL45, PL7, PL911 
Oct. 6 
Declarative Programming Techniques 
Section 3.6 
[Hudak00] 
HW 3, p. 711 
PF4, PL45, PL7, PL911 
Oct. 8 
Declarative Programming Techniques 
Section 3.6 
[Hudak00] 

PF4, PL45, PL7, PL911 
Oct. 10 
Exam 1 
Chapters 12 
Preface, Appendix,
[MozartWeb],
[Hudak89],
[Watt90]


PF4, PL14, PL10 
Oct. 13 
Declarative Programming Techniques 
Section 3.7 
[Hudak00] 

PF4, PL45, PL7, PL911 
Oct. 15 
Declarative Programming Techniques 
Section 3.7 
[Hudak00] 
HW 3, p. 1224 
OS3, PL5, PL7, PL1011 
Oct. 17 
Declarative Programming Techniques 
Section 3.83.9 
[Hudak00] 

OS3, PL5, PL7, PL1011 
Oct. 17 
Declarative Concurrency 
Chapter 4, Section 4.1 


OS3, PL5, PL7, PL1011 
Oct. 20 
Declarative Concurrency
(no class meeting, see Tegrity lecture) 
Section 4.1 


OS3, PL5, PL7, PL1011 
Oct. 22 
Declarative Concurrency
(no class meeting, see Tegrity lecture) 
Section 4.14.2 


OS3, PL5, PL7, PL1011 
Oct. 24 
Declarative Concurrency 
Sections 4.3 


OS3, PL5, PL7, PL1011 
Oct. 27 
Declarative Concurrency 
Sections 4.34.5 


OS3, PL5, PL7, PL1011 
Oct. 29 
Declarative Concurrency 
Sections 4.5 


OS3, PL5, PL7, PL1011 
Oct. 31 
Declarative Concurrency 
Sections 4.5 


OS3, PL5, PL7, PL1011 
Nov. 3 
Declarative Concurrency 
Sections 4.5, 4.8 

HW 4, p. 38 
OS3, PL5, PL7, PL1011 
Nov. 5 
Declarative Concurrency 
Sections 4.9.2 
Sections 4.9.1, 4.9.34.9.5, 4.10 

OS3, PL5, PL7, PL1011 
Nov. 7 
Exam 2 
Sections 3.13.9 
[Hudak00] 

PF4, PL45, PL7, PL911 
Nov. 10 
Message Passing
(no class meeting, see Tegrity lecture)

Chapter 5, Section 5.1 


OS3, PL5, PL7, PL1011 
Nov. 12 
Message Passing
(no class meeting, see Tegrity lecture)

Sections 5.2 

HW 4, p. 917,1920 
OS3, PL5, PL7, PL1011 
Nov. 14 
Message Passing

Sections 5.3 


OS3, PL5, PL7, PL1011 
Nov. 17 
Message Passing

Sections 5.3 


OS3, PL5, PL7, PL1011 
Nov. 19 
Message Passing

Sections 5.3, 5.7 


OS3, PL5, PL7, PL1011 
Nov. 21 
Message Passing

Sections 5.7 

HW 5, all but 8 
PL5, PL1011, IS23 
Nov. 24 
Message Passing

Section 5.45.6 

HW 5, problem 8 
PL5, PL1011, IS23 
Nov. 26 
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 

OS3, PL5, PL7, PL1011 
Nov. 28 
Thanksgiving holiday, no class 




Dec. 1 
Relational Programming 
Chapter 9, Section 9.1 


PL5, PL1011, IS23 
Dec. 3 
Relational Programming 
Section 9.2 


PL5, PL1011, IS23 
Dec. 5 
Relational Programming 
Section 9.2 

HW 6 
PL5, PL1011, IS23 
Dec. 5 
Course Summary and Evaluation 

Chapter 1 
HW 6 

Mon., Dec 8, 10:00am12:50pm 
Final Exam 
Sections 5.15.7, 9.19.3 
Chapter 1 

PL5, PL1011, IS23 
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, November 25, 2008.
This web page is for the Fall 2008 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.
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.