Standardized Syllabus for the College of Engineering
COP 5555 Programming Language Principles
1. Catalog Description
History of programming langauges, formal models for specifying langauges, design goals, run-time structures, and implementation techniquess, along with a survey of principal programming language paradigms. (3)
2. Pre-requisites and Co-requisites
COP 3530 Data Structures and Algorithms
3. Course Objectives
Students will gain both a conceptual understanding of specification and design issues in programming languages and their implentation, and hands-on experience implementing a compiler for a small programming language.
4. Contribution of course to meeting the professional component (ABET only)
N/A
5. Relationship of course to program outcomes (ABET only)
N/A
6. Instructor
Beverly A. Sanders
Office location: CSE 322
Telephone: (352) 392-1528
E-mail address: sanders@cise.ufl.edu
Web site: www.cise.ufl.edu/class/cop5555fa06 and www.cise.ufl.edu/~sanders
Office hours: T 7 (1:55-2:45) and W 8 (3:00-3:50)
7. Teaching Assistant
TBA
8. Meeting Times
MWF 7 (1:55-2:45pm)
9. Class/laboratory schedule, i.e., number of sessions each week and duration of each session
3 50-minute class sessions per week
10. Meeting Location
CSE 107
11. Material and Supply Fees
N/A
12. Textbooks and Software Required
Textbooks:
Title: Programming Language Pragmatics
Author: Michael L. Scott
Publication date and edition: 2006, second edition
ISBN number: 978-0-12-633951-2
Title: Syntax and Semantics of Programming Languages
Author: Ken Slonneger and Barry Kurtz
Publication date: 1995
This book is available at http://www.cs.uiowa.edu/~slonnegr/plf/Book
Selected chapters only
Required Software:
Java J2 SE 5.0 (available from http://java.sun.com)
SML (available from http://www.smlnj.org)
13. Recommended Reading (see 13 above)
TBA
14. Course Outline (given topically rather than chronologically)
a. Specification of programming languages
i. Syntax
ii. Semantics
1. Operational Semantics
2. Denotational Semantics
3. Axiomatic Semantics
4. Attribute Grammars
b. Issues in language design
i. Names, scope, and binding
ii. Types
iii. Control Flow
iv. Subroutines and Control Abstraction
c. Programming language paradigms
i. Data abstraction and object-oriented programming (examples: Java, Smalltalk, C++)
ii. Non-imperative paradigms
1. functional languages (examples: Scheme, ML, Haskell)
2. logic programming (example: Prolog)
iii. Concurrent Programming (examples: Java, SR, OpenMP)
iv. Scripting Languages (examples: csh, Ruby, Perl, tcl, etc.)
15. Attendance and Expectations
For on-campus students, regular attendance in class is expected. Class will start promptly and important announcements are made at the start of class, thus it is important to be on time.
16. Grading – methods of evaluation
Final exam 30%
Homework 50%
Midterm 20%
There will be seven homework assignments due approximately every two weeks. A major part of the homework assignment is the implementation, in Java, of a compiler for a small programming language. Each homework assignment will include a part of the compiler implementation plus additional pencil and paper exercises and/or small self-contained programming assignments. The final assignment is the second submission of the complete compiler and will be graded either 0 or 100 and will count as three grades, making a total of nine grades, the lowest of which will be dropped. Each part of the compiler project uses and builds on the previously implemented parts, so it is imperative to do high quality work on the compiler and not get behind.
Short (5-10 minute) unnanounced open-book quizzes may be given at any time at the discretion of the instructor. These will count as extra credit. EDGE student will be given opportunities to earn the same amount of extra credit.
All homework assignments are to be done independently. Sharing your assignment, or using another student's homework assignment, even after that part of the assignment has been graded, is a violation of the honor code.
Late homework will be accepted with a penalty of 10% of the maximum grade per 12 hours past the deadline. The time of submission will be determined by the webCT timestamp and deadlines will be strictly enforced.
Since the lowest homework grade is being dropped, no extensions on homework assignments will be granted.
Unless otherwise specified, deadlines for EDGE students are 1 week after the deadline for in-class students.
17. Grading Scale
Grades will be curved
18. Make-up Exam Policy
Makeup exams will only be given in the case of a documented emergency. The final exam will be given to all on-campus students on the date scheduled by the registrar, Dec. 14, 12:30-2:30pm.
19. Honesty Policy – All students admitted to the University of Florida have signed a statement of academic honesty committing themselves to be honest in all academic work and understanding that failure to comply with this commitment will result in disciplinary action. This statement is a reminder to uphold your obligation as a UF student and to be honest in all work submitted and exams taken in this course and all others.
20. Accommodation for Students with Disabilities – Students Requesting classroom accommodation must first register with the Dean of Students Office. That office will provide the student with documentation that he/she must provide to the course instructor when requesting accommoation.
21. UF Counseling Services – Resources are available on-campus for students having personal problems or lacking clear career and academic goals. The resources include:
- University Counseling Center, 301 Peabody Hall, 392-1575, Personal and Career Counseling.
- SHCC mental Health, Student Health Care Center, 392-1171, Personal and Counseling.
- Center for Sexual Assault/Abuse Recovery and Education (CARE), Student Health Care Center, 392-1161, sexual assault counseling.
- Career Resource Center, Reitz Union, 392-1601, career development assistance and counseling.
22. Software Use – All faculty, staff and student of the University are required and expected to obey the laws and legal agreements governing software use. Failure to do so can lead to monetary damages and/or criminal penalties for the individual violator. Because such violations are also against University policies and rules, disciplinary action will be taken as appropriate. We, the members of the University of Florida community, pledge to uphold ourselves and our peers to the highest standards of honesty and integrity.