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, as the in-class quiz will be related to the
readings. 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
[vanRoy-Haridi04], 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/IEEE-CS 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. 20 |
Introduction |
Handouts,
Grading Policy |
Preface |
|
PL1 |
Aug. 22 |
Introduction to Programming Concepts |
Chapter 1 (skim 1.7) |
Appendix,
[MozartWeb]
[Watt90]
|
|
PL1-2, PL4, PL9 |
Aug. 24 |
Introduction to Programming Concepts |
Chapter 1 (skim 1.7) |
Appendix,
[MozartWeb]
[Watt90]
|
|
PL1-2, PL4, PL9 |
Aug. 27 |
Introduction to Programming Concepts |
Chapter 1 (skim 1.7) |
Appendix,
[MozartWeb]
[Watt90]
|
HW 1 |
PL1-2, PL4, PL9 |
Aug. 27 |
Declarative Computation Model
|
Chapter 2 |
[Hudak89] |
|
PL1-3, PL10 |
Aug. 29 |
Declarative Computation Model
|
Section 2.1-2.2 |
[Hudak89] |
|
PL1-3, PL10 |
Aug. 31 |
Declarative Computation Model
|
Section 2.2 |
[Hudak89] |
|
PL1-3, PL10 |
Sep. 3 |
Labor Day, no class
|
|
|
|
|
Sep. 5 |
Declarative Computation Model
|
Section 2.3 |
[Hudak89] |
|
PL1-3, PL10 |
Sep. 7 |
Declarative Computation Model
|
Section 2.4 |
[Hudak89] |
|
PL2-3, PL10 |
Sep. 10 |
Declarative Computation Model
|
Section 2.4 |
[Hudak89] |
|
PL2-3, PL10 |
Sep. 12 |
Declarative Computation Model
|
Section 2.4 |
[Hudak89] |
|
PL2-3, PL10 |
Sep. 14 |
Declarative Computation Model
|
Section 2.4-2.5 |
[Hudak89] |
HW 2, p. 1-4 |
PL2-3, PL10 |
Sep. 17 |
Declarative Computation Model
|
Section 2.5-2.6 |
[Hudak89] |
|
PL2-3, PL10 |
Sep. 19 |
Declarative Computation Model
|
Sections 2.6-2.8 |
[Hudak89] |
HW 2, p. 5-10 |
PL2-3, PL10 |
Sep. 21 |
Declarative Programming Techniques |
Chapter 3 intro, 3.1-3.2 |
[Hudak00] |
|
PF4, PL4-5, PL7, PL9-11 |
Sep. 24 |
Declarative Programming Techniques |
Section 3.2-3.4.1 |
[Hudak00]
[Leavens07] |
|
PF4, PL4-5, PL7, PL9-11 |
Sep. 26 |
Declarative Programming Techniques |
Section 3.4.1-3.4.2 |
[Hudak00] |
|
PF4, PL4-5, PL7, PL9-11 |
Sep. 28 |
Declarative Programming Techniques |
Section 3.4.2-3.4.8 |
[Hudak00] |
HW 3, p. 1-6 |
PF4, PL4-5, PL7, PL9-11 |
Oct. 1 |
Exam 1 |
Chapters 1-2 |
Preface, Appendix,
[MozartWeb],
[Hudak89],
[Watt90]
|
|
PF4, PL1-4, PL10 |
Oct. 3 |
Declarative Programming Techniques |
Section 3.5-3.6 |
[Hudak00] |
|
PF4, PL4-5, PL7, PL9-11 |
Oct. 5 |
Declarative Programming Techniques |
Section 3.6 |
[Hudak00] |
HW 3, p. 7-11 |
PF4, PL4-5, PL7, PL9-11 |
Oct. 8 |
Declarative Programming Techniques |
Section 3.6-3.7 |
[Hudak00] |
|
OS3, PL5, PL7, PL10-11 |
Oct. 10 |
Declarative Programming Techniques |
Section 3.7 |
[Hudak00] |
|
OS3, PL5, PL7, PL10-11 |
Oct. 12 |
Declarative Programming Techniques |
Section 3.7 |
[Hudak00] |
HW 3, p. 12-24 |
OS3, PL5, PL7, PL10-11 |
Oct. 15 |
Declarative Programming Techniques |
Section 3.8-3.9 |
[Hudak00] |
|
OS3, PL5, PL7, PL10-11 |
Oct. 17 |
Declarative Concurrency |
Chapter 4, Section 4.1 |
|
|
OS3, PL5, PL7, PL10-11 |
Oct. 19 |
Declarative Concurrency |
Sections 4.1-4.2 |
|
|
OS3, PL5, PL7, PL10-11 |
Oct. 22 |
Declarative Concurrency |
Sections 4.1-4.2 |
|
|
OS3, PL5, PL7, PL10-11 |
Oct. 24 |
Exam 2 |
Chapters 2-3 |
[Hudak00] |
|
PF4, PL4-5, PL7, PL9-11 |
Oct. 26 |
Declarative Concurrency |
Sections 4.2-4.3 |
|
|
OS3, PL5, PL7, PL10-11 |
Oct. 29 |
Declarative Concurrency |
Sections 4.3 |
|
HW 4, p. 1,3-5 |
OS3, PL5, PL7, PL10-11 |
Oct. 31 |
Declarative Concurrency |
Sections 4.3 |
|
|
OS3, PL5, PL7, PL10-11 |
Nov. 2 |
Declarative Concurrency |
Sections 4.4-4.5 |
|
|
OS3, PL5, PL7, PL10-11 |
Nov. 5 |
Declarative Concurrency |
Sections 4.5, 4.8, 4.9.2 |
|
HW 4, p. 7-21 |
OS3, PL5, PL7, PL10-11 |
Nov. 7 |
Message Passing
|
Chapter 5, Sections 5.1, 5.2 |
|
|
OS3, PL5, PL7, PL10-11 |
Nov. 9 |
Message Passing
|
Sections 5.2-5.4 |
|
|
OS3, PL5, PL7, PL10-11 |
Nov. 12 |
Veteran's Day, no class |
|
|
|
|
Nov. 14 |
Message Passing
|
Sections 5.5-5.6 |
|
|
OS3, PL5, PL7, PL10-11 |
Nov. 16 |
Exam 3 |
Chapter 4 sections 4.1-4.5, 4.8, 4.9.2 |
|
|
OS3, PL5, PL7, PL10-11 |
Nov. 19 |
Message Passing
|
Section 5.7 |
|
HW 5, p. 1-2,4-6 |
OS3, PL5, PL7, PL10-11 |
Nov. 21 |
Relational Programming |
Chapter 9, Section 9.1 |
|
|
PL5, PL10-11, IS2-3 |
Nov. 23 |
Thanksgiving Break, no class |
|
|
|
|
Nov. 26 |
Relational Programming |
Section 9.1 |
|
HW 5, p. 7,9 |
PL5, PL10-11, IS2-3 |
Nov. 28 |
Relational Programming |
Section 9.2 |
|
|
PL5, PL10-11, IS2-3 |
Nov. 30 |
Relational Programming |
Sections 9.2-9.3 |
|
|
PL5, PL10-11, IS2-3 |
Dec. 3 |
Course Summary and Evaluation |
|
Chapter 1 |
HW 6 |
|
Mon., Dec 10, 10:00am-12:50pm |
Final Exam |
Sections 5.1-5.7, 9.1-9.3 |
Chapter 1 |
|
PL5, PL10-11, IS2-3 |
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):359-411, 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,
September, 2007.
http://www.eecs.ucf.edu/~leavens/COP4020/docs/follow-grammar.pdf
- [MozartWeb]
-
Mozart/Oz Web site,
http://www.mozart-oz.org/, accessed August 15, 2007.
- [vanRoy-Haridi04]
-
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.
Prentice-Hall, 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 Saturday, December 1, 2007.
This web page is for the Fall 2007 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.