Mathematics/Computer
Science
CSC 415-01: Translators and Compilers
Instructor: Dr. Chuck Lillie Semester: Fall 2002
Class Location: SCI 111 Time: 1:30 PM to 2:20 PM MTWF
Section: 01
Description:
This course covers interpreters, assemblers, and
compilers. The student will study grammar,
languages, syntax, semantics, and BNF. Course
material covers parsing, symbol tables, and one and two pass assemblers. The design will design interpreters and
compilers. The course has a large
programming project. PREREQ: CSC 375,
CSC 395.
Narrative:
The subject of this course is the implementation of
programming languages. This course
reviews the concepts of high-level programming languages, and their syntax,
contextual constraints, and semantics.
We will discuss the theory of programming languages and the constructs
comprising a language processor.
Programming language design representations are covered as well as
theory underlying programming language representation and implementation. The course examines compilers, syntactic
analysis, contextual analysis, code generation, and interpreters. A class project will analyze an existing
programming language implementation, and add extensions to the existing
compiler.
Goals:
·
Learn
the theory underling programming language representation, design, and implementation.
·
Obtain
hands-on experience designing and implementing a compiler.
Objectives:
·
Master
more than 90% of programming language theory.
·
Build
extensions to the Triangle programming language compiler.
Course Materials:
Textbook: Programming Language Processors in Java,
David A. Watt and Deryck F. Brown, Prentice Hall, 2000.
Supplemental Reading:
Java Programming with Microsoft Visual J++ 6.0,
Joyce Farrell and Don Gosselin, Course Technology, 1999.
Course Content:
Lectures on interpreter and compiler theory
Large programming project
Assignments:
Office Hours:
Office: SCI 102
Email: lilliec@uncp.edu
Phone: 521-6415
Office Hours: MWF 2:30 PM to 3:30 PM
T 10:30 AM to 12:00 Noon
R 10:00 AM to 11:00 AM
By appointment
Open door indicates unscheduled office hours
Course Links:
http://www.bellsnwhistles.com/links.html
http://www.dcs.gla.ac.uk/~daw/books/PLPJ/
Exams, Homework, and Projects:
Two exams, mid-term and final, final exam is
comprehensive. 40% of grade is based on
programming project. 10% of grade is based
on homework assignments, which are progress reports for the project.
Grading Policy:
You are responsible for all material covered in
class even if you are absent. The final grade will be a weighted average of the
scores in the homework, project, midterm, and final exam. Homework is due on Assignment Due Date. Your grade for that assignment is decreased
by 10% if it is one week late. If it is
later than one week, you get a score of zero.
Grade Components:
Name Weight
Weekly Progress Report 10%
Programming Project 40%
Mid-term Exam 20%
Final Exam 30%
Final Grades:
Grade Percent Grade Percent
A 90%-100% A- 87%-89%
B+ 84%-86% B 80%-83%
B- 77%-79% C+ 74%-76%
C 70%-73% C- 67%-69%
D+ 64%-66% D 60%-63%
D- 57%-59% F 0%-56%
Attendance Policy:
Attendance will be checked.
To get a passing grade in the course you should attend at least 90% of the
classes.
Student
Conduct & Honor Code
The UNCP Academic Honor Code
will be strictly observed in this class.
UNCP Academic Honor Code: http://www.uncp.edu/catalog99/academic.htm#honor_code
Dates:
Last day to drop classes:
Monday, October 21, 2002
Final Exam: Friday, December
13, 10:30 AM to 12:30 AM
Students with
Disabilities:
Any student with a
documented disability needing academic adjustments is requested to speak
directly to Disability Support Services and the instructor, as early in the
semester (preferably within the first week) as possible. All discussions will remain
confidential. Please contact Mary Helen
Walker, Disability Support Services, DF
Lowry building, 521-6695.
This syllabus is available
in alternative formats upon request.
Please contact Mary Helen Walker, Disability Support Services, DF Lowry building, 521-6695.