COP 5555 -- (Fall 2004)

Programming Language Principles

Last Edited: Mon Jan 5 22:06:07 2004 by jnw (Joseph N. Wilson) on shine.cise.ufl.edu

Syllabus

Credit Hours
3
Class Meeting Time and Room
Tuesday 7, Thursday 7-8
NEB Room 201
For verification, consult the Registrar's Schedule Page
Instructor
Joseph N. Wilson ()
Room E358 CSE Bldg.
Phone: (352) 392-1360
Office Hours:
Teaching Assistants
Prerequisites:
For COP5555: COP 3530 (Data Structures); Graduate standing.
Required Textbook
Kenneth Louden, Programming Languages: Principles and Practice, 2nd Edition, Thomson-Brooks/Cole, 2003, ISBN 0-534-95341-7.
Recommended Book
Joshua Engel, Programming for the Java™ Virtual Machine Addison Wesley, 1999, ISBN 0-201-30972-6.
Course Objectives
To convey the central principles in specifying, designing, and implementing programming languages. To review important programming paradigms including imperative, object-oriented, concurrent, functional, and logic programming.
Course Description
The course covers three major topics, namely: i) programming language specification, ii) programming language design, and iii) programming paradigms. A programming project involves implementation of an interpreter and compiler for a small language, TBD.
Course Requirements:
Homework (15%)
various pencil and paper exercises
Programming Projects (30%)
Implementation of an interpreter/compiler for a simple language with several increments.
Two Midterm Examinations (15% Each)
Final Examination (25%)
The Final Examination will be help during exam period 28B, on 28 April 2004 at 10:00 AM in NEB Room 201.
For verification, consult the Registrar's Exam Period
If you want to change the date, time, or place of the Final Examination, see my policy concerning changing final examinations.
Course Outline by Topical Area:
See the course schedule.
Academic Honesty
All students in this class are bound by the University of Florida Honor Code. All work in this class is expected to be a result of the intellectual and creative efforts of the individual student. Algorithms and techniques may be discussed with other students and with outsiders, however, all students in this class must take the initiative to write all required programs and complete all homework assignments themselves.