FSU Seal - 1851


    COP 4020 Programming Languages
    Fall Semester 2014


This is an on-line class, there are no scheduled face-to-face meetings.

Regular participation via the campus.fsu.edu [Blackboard] course interface is required. Official course announcements, lecture materials, assignments, and help archives will all be on-line at this site. Note that all registered students should have the course web site listed on their campus.fsu.edu portal page. Be sure to test this and resolve any difficulties no later than the first week of classes.

All exams must be proctored and taken during the exam window. It is the student's responsibility to arrange for proctored exams in compliance with the FSU standards. (See COURSE POLICIES for details.)

Note that students may be required to identify themselves with official FSU ID to sit an exam.


There will be two exams: a midterm exam and a final exam. The exams must be taken during the exam window at a testing center approved by FSU Assessment Services. The exam windows for the two exams are shown in the following table.

Exam Calendar
Exam Window (Inclusive)
Midterm Exam Mon Oct 6 - Sat Oct 11
Final Exam Mon Dec 8 - Sat Dec 13


Chris Lacher, Instructor
Responsibilities: Exams, Assignments, Oral & Written Presentations, Final Grades, Course Manager, On-Line Mentor  
Office: A-211-O Academic Center / Panama City Campus 
Office Phone (during office hours):   850-770-2256 (local direct line)
Mobile Phone & Voice Mail (24/7): 850-510-5575 
Email:  lacher "at" cs "dot" fsu "dot" edu
Mail & Delivery: Florida State University
4750 Collegiate Drive
Panama City, FL 32405-1099
Lacher Weekly Schedule Effective Aug 25 - Dec 5, 2014 (excluding Sep 1, Nov 11 and Nov 26-30)
Christian Smith, Course Mentor
Responsibilities: Assignment assessment, Oral & Written Presentation Assessment, On-Line Help 
Email:  chrsmith "at" cs "dot" fsu "dot" edu
Tim Valentine, Course Mentor
Responsibilities: Assignment assessment, Oral & Written Presentation Assessment, On-Line Help 
Email:  valentin "at" cs "dot" fsu "dot" edu


The course COP 4530 must be taken prior to, or concurrently with, taking COP 4020.


COP4020 is an introduction to the design and implementation of programming languages. Programming languages are an essential means to express abstract computer programs. While programming languages may differ significantly in syntax and semantics, they share many common design concepts, translation mechanisms, and properties. This course reviews several common programming languages, defines programming language classes, introduces imperative and object-oriented programming language concepts, functional programming (with Scheme), logic programming (with Prolog), and presents theoretical and pragmatic aspects of programming language design, implementation, and analysis.


A student who has completed this course with a passing grade should be able to:

  • State the basic requirements for effective programming language design
  • Identify the limitations of programming languages within a historical perspective
  • Classify the programming constructs that appear in imperative, functional, and logic programming languages
  • State the requirements for type safety in programming languages
  • Identify the various program translation mechanisms in compilers
  • Construct well-designed Lisp (and Scheme) programs
  • Construct recursive-descent parsers in Java, C, and C++
  • Construct simple Prolog programs from first-order predicate calculus specifications
  • State the requirements for exception handling in C++ and Java

In addition, the following ABET program objectives will be assessed:

  • The student will be able to formulate and deliver an effective oral presentation on a programming languages topic.
  • The student will be able to produce a written technical document, written to professional standards.

Note that the ABET objectives must be satisfied in order to make a grade of C or better in the class.


The overall grade for COP 4020 is an average of two equally weighted parts: Exams and Assignments. Exams consist of a midterm exam and a final exam. Assignments consist of two programming projects and approximately eight written homework assignments. The dates for the two exams are shown in the Exam Calendar above. Due dates for other deliverables will be available on the Course Calendar.

The weighting for course components is shown in Table 1 below. An average of 70% must be attained for exams and and assignments to get a course grade of C or better. In addition, working solutions for every assignment must be submitted in order to be eligible for the grade of A. Once meeting these constraints, the final grade is determined using Table 2.

     Table 1: Course Components by Weight 
     Item   Weight 
     Programming Projects (2)   20% 
     Homework Assignments (8)   20% 
     Oral Presentation     5% 
     Written Paper     5% 
     Midterm Exam   15% 
     Final Exam   35% 
     Table 2: Letter Grades  
     Percent   Grade 
     92 - 100   A 
     90 - 91   A- 
     88 - 89   B+ 
     82 - 87   B 
     80 - 81   B- 
     78 - 79   C+ 
     72 - 77   C 
     70 - 71   C- 
     68 - 69   D+ 
     62 - 67   D 
     60 - 61   D- 
     0 - 59   F 

NOTE: The following are additional constraints on the final grade in this course.

  1. Your average grade on exams (midterm and final) and assignments (homework and projects) must be at least 70% to be awarded a course grade of C- or better.
  2. You must submit a passing version of every assignment (projects & homework) in order to be eligible for the grade of A or A-.
  3. you must receive an assessment of "effective" or "highly effective" on both the oral presentation and the written paper in order to receive a grade of C- or higher.

Programming projects will be submitted by unix script. Homework assignments will be submitted via Blackboard.
See Assessment of Programming Assignments for policies on assessment and late submission of programming assignments.


The following materials are required:

The second edition of the textbook may be used in place of the third edition.


First Day Attendance Policy: Official university policy is that any student not attending the first class meeting will be automatically dropped from the class. For distance students, this policy is interpreted as posting to the discussion forum "First Day Attendance" no later than the first day of the semester.

Regular Attendance Policy: The university requires attendance in all classes. Attendance in distance classes shall mean regular access to the course web site via campus.fsu.edu and regular participation in the class discussion forums. Here, "regular" shall mean a substantial amount of time on a weekly basis. Note that individual access statistics are maintained by Blackboard.

Excused absences include documented illness, deaths in the immediate family and other documented crises, call to active military duty or jury duty, religious holy days, and official University activities. Accommodations for these excused absences will be made and will do so in a way that does not penalize students who have a valid excuse. Consideration will also be given to students whose dependent children experience serious illness.

Proctored Exam Policy: All exams must be proctored and taken at an approved testing site during the exam window. It is the student's responsibility to arrange for proctored exams in compliance with the FSU standards. Go to Student Testing Responsibilities for complete information on setting up a proctored exam site. Please note also that students taking exams on main campus in Tallahassee are now required to sign up for a time slot at the site.

Exam Makeup Policy: An exam missed without an acceptable excuse will be recorded as a grade of zero (0). The following are the only acceptable excuses:

  • If submitted prior to the day of the scheduled exam:
    • A written and signed explanation as to why the exam will missed. Illness or required professional travel are acceptable, while discretionary or personal travel are not. In any case the explanation should be accompanied by corroborating documentation, including names and contact information, and the explanation must be accepted by the instructor prior to missing the exam.
    • Evidence from a university official that you will miss the exam due to university sanctioned travel or extracurricular activity.
  • If submitted on or after the day of the scheduled exam:
    • A note from a physician, university dean, spouse, parent, or yourself indicating an illness or other extraordinary circumstance that prevented you from taking the exam and could not be planned for in advance. Again, corroborating information should be supplied.

All excuses must be submitted in writing, must be signed by the excusing authority, and must include complete contact information for the authority, including telephone numbers and address.

Missed exams with acceptable excuse will be made up or assigned the average grade of all other exams, at the option of the course instructor.

Missed, and acceptably excused, final exams will result in the course grade of 'I' and must be made up in the first two weeks of the following semester.

Grade of 'I' Policy: The grade of 'I' will be assigned only under the following exceptional circumstances:

  • The final exam is missed with an accepted excuse for the absence. In this case, the final exam must be made up during the first two weeks of the following semester.
  • Due to an extended illness or other extraordinary circumstance, with appropriate documentation, the student is unable to participate in class for an extended period. In this case, arrangements must be made to make up the missed portion of the course prior to the end of the next semester.

Completion of Work Policy: To be eligible for the grade of A or A-, working versions of all programming assignments must be submitted.


The Florida State University Academic Honor Policy outlines the University’s expectations for the integrity of students’ academic work, the procedures for resolving alleged violations of those expectations, and the rights and responsibilities of students and faculty members throughout the process.  Students are responsible for reading the Academic Honor Policy and for living up to their pledge to “. . . be honest and truthful and . . . [to] strive for personal and institutional integrity at Florida State University.”  (Florida State University Academic Honor Policy, found at http://dof.fsu.edu/honorpolicy.htm.)

All students are expected to uphold the Academic Honor Policy. Please note the following items are defined and made violations by the policy:

  1. Plagiarism
  2. Cheating
  3. Unauthorized Group Work
  4. Fabrication, Falsification, and Misrepresentation
  5. Multiple Submission
  6. Abuse of Academic Materials
  7. Complicity in Academic Dishonesty
  8. Attempted ...

Violations of the academic honor policy may result in failing grades and/or dismissal from the university. All students are expected to read and understand the policy.

Checking for Plagiarism: FSU subscribes several databases of papers and computer source code that have been previously published or turned in for credit in university courses worldwide. Student work may be checked in one or more of these databases for originality. Note that turning in work that contains uncited quoted material from any source is considered plagiarism and a violation of the FSU honor code.


Students with disabilities needing academic accommodation should:
(1) register with and provide documentation to the Student Disability Resource Center; and
(2) bring a letter to the instructor indicating the need for accommodation and what type.  This should be done during the first week of class.

This syllabus and other class materials are available in alternative format upon request.

For more information about services available to FSU students with disabilities, contact the:

Student Disability Resource Center
874 Traditions Way
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)

(This syllabus and other class materials are available in alternative format upon request.)


Information regarding the status of FSU in an emergency situation may be obtained from the following sources:

  • For information specific to the Panama City Campus go to the FSUPC web page at http://www.pc.fsu.edu/ or call the Campus Hotline number 850-770-2000
  • For information related to FSU in general and the Tallahassee Campus go to the FSU alerts web page at http://www.fsu.edu/~alerts/
  • For state-wide and national information, go to the Florida Division of Emergency Management information pages at http://www.floridadisaster.org/

Any specific information related to this class will be posted on the course web site or sent via email to your fsu email address.


Except for changes that substantially affect implementation of the evaluation (grading) statement, this syllabus is a guide for the course and is subject to change with advance notice. Such notice will be in the form of a posting to the course web site on campus.fsu.edu.