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 [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. 25 Introduction Handouts, Grading Policy Preface   PL1
Aug. 27 Introduction to Programming Concepts Chapter 1, Sections 1.1-1.3 Preface, Appendix, [MozartWeb] [Watt90]   PL1-2, PL4, PL9
Aug. 29 Introduction to Programming Concepts Sections 1.3-1.15 Chapter 8, Sections 8.1-8.3, [MozartWeb] [Watt90]   PL1-2, PL4, PL9
Sep. 1 Labor day holiday, no class        
Sep. 3 Introduction to Programming Concepts Sections 1.15-1.17 Appendix, [MozartWeb] [Watt90] HW 1 PL1-2, PL4, PL9
Sep. 3 Declarative Computation Model Chapter 2, Section 2.1 [Hudak89] HW 1 PL1-3, PL10
Sep. 5 Declarative Computation Model Section 2.2 Chapter 3   PL1-3, PL10
Sep. 8 Declarative Computation Model Section 2.3 [Hudak89]   PL1-3, PL10
Sep. 10 Declarative Computation Model Section 2.3 [Hudak89]   PL1-3, PL10
Sep. 12 Declarative Computation Model Section 2.3-2.4 [Hudak89]   PL1-3, PL10
Sep. 15 Declarative Computation Model Section 2.5 [Hudak89] HW 2, p. 1-3 PL2-3, PL10
Sep. 17 Declarative Computation Model Section 2.6 [Hudak89]   PL2-3, PL10
Sep. 19 Declarative Computation Model Section 2.7 [Hudak89]   PL2-3, PL10
Sep. 22 Declarative Computation Model Section 2.7, 2.8.2-3 [Hudak89] HW 2, p. 4-11 PL2-3, PL10
Sep. 22 Declarative Programming Techniques Chapter 3 intro, 3.1-3.2 [Hudak00] HW 2, p. 4-11 PF4, PL4-5, PL7, PL9-11
Sep. 24 Declarative Programming Techniques Section 3.2 [Hudak00]   PF4, PL4-5, PL7, PL9-11
Sep. 26 Declarative Programming Techniques Section 3.2-3.4.1 [Hudak00] [Leavens07]   PF4, PL4-5, PL7, PL9-11
Sep. 29 Declarative Programming Techniques Section 3.4.1-3.4.2 [Hudak00] HW 3, p. 1-6 PF4, PL4-5, PL7, PL9-11
Oct. 1 Declarative Programming Techniques Section 3.4.2-3.4.8 [Hudak00]   PF4, PL4-5, PL7, PL9-11
Oct. 3 Declarative Programming Techniques Section 3.5-3.6 [Hudak00]   PF4, PL4-5, PL7, PL9-11
Oct. 6 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 [Hudak00]   PF4, PL4-5, PL7, PL9-11
Oct. 10 Exam 1 Chapters 1-2 Preface, Appendix, [MozartWeb], [Hudak89], [Watt90]   PF4, PL1-4, PL10
Oct. 13 Declarative Programming Techniques Section 3.7 [Hudak00]   PF4, PL4-5, PL7, PL9-11
Oct. 15 Declarative Programming Techniques Section 3.7 [Hudak00] HW 3, p. 12-24 OS3, PL5, PL7, PL10-11
Oct. 17 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. 20 Declarative Concurrency (no class meeting, see Tegrity lecture) Section 4.1     OS3, PL5, PL7, PL10-11
Oct. 22 Declarative Concurrency (no class meeting, see Tegrity lecture) Section 4.1-4.2     OS3, PL5, PL7, PL10-11
Oct. 24 Declarative Concurrency Sections 4.3     OS3, PL5, PL7, PL10-11
Oct. 27 Declarative Concurrency Sections 4.3-4.5     OS3, PL5, PL7, PL10-11
Oct. 29 Declarative Concurrency Sections 4.5     OS3, PL5, PL7, PL10-11
Oct. 31 Declarative Concurrency Sections 4.5     OS3, PL5, PL7, PL10-11
Nov. 3 Declarative Concurrency Sections 4.5, 4.8   HW 4, p. 3-8 OS3, PL5, PL7, PL10-11
Nov. 5 Declarative Concurrency Sections 4.9.2 Sections 4.9.1, 4.9.3-4.9.5, 4.10   OS3, PL5, PL7, PL10-11
Nov. 7 Exam 2 Sections 3.1-3.9 [Hudak00]   PF4, PL4-5, PL7, PL9-11
Nov. 10 Message Passing (no class meeting, see Tegrity lecture) Chapter 5, Section 5.1     OS3, PL5, PL7, PL10-11
Nov. 12 Message Passing (no class meeting, see Tegrity lecture) Sections 5.2   HW 4, p. 9-17,19-20 OS3, PL5, PL7, PL10-11
Nov. 14 Message Passing Sections 5.3     OS3, PL5, PL7, PL10-11
Nov. 17 Message Passing Sections 5.3     OS3, PL5, PL7, PL10-11
Nov. 19 Message Passing Sections 5.3, 5.7     OS3, PL5, PL7, PL10-11
Nov. 21 Message Passing Sections 5.7   HW 5, all but 8 PL5, PL10-11, IS2-3
Nov. 24 Message Passing Section 5.4-5.6   HW 5, problem 8 PL5, PL10-11, IS2-3
Nov. 26 Exam 3 Sections 4.1-4.5, 4.8, 4.9.2 Sections 4.6-4.7, 4.9.1, 4.9.3-4.9.5, 4.10   OS3, PL5, PL7, PL10-11
Nov. 28 Thanksgiving holiday, no class        
Dec. 1 Relational Programming Chapter 9, Section 9.1     PL5, PL10-11, IS2-3
Dec. 3 Relational Programming Section 9.2     PL5, PL10-11, IS2-3
Dec. 5 Relational Programming Section 9.2   HW 6 PL5, PL10-11, IS2-3
Dec. 5 Course Summary and Evaluation   Chapter 1 HW 6  
Mon., Dec 8, 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

Bibliography

[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, University of Central Florida, School of EECS, CS-TR-07-10b, November 2007. http://www.eecs.ucf.edu/~leavens/COP4020/docs/follow-grammar.pdf
[MozartWeb]
Mozart/Oz Web site, http://www.mozart-oz.org/, accessed January 2, 2008.
[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 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.