COMPUTING IV 91.204 (2kf204)
Course Information and Standards
University of Massachusetts, Lowell
Department of Computer Science
(Unix Path: $CASE/2kf204/2kf204syl{.doc,.htm})
Instructor: Prof. Robert Lechner Office: OS105 (new)
Telephone: 934-3632 (UML x3632) or Home: 781-444-8321
Office Hours: MWF 230-430PM; Wed. 830-10PM; Others by appt.
Email: lechner @cs.uml.edu
1. Course description:
An introduction to program translation software construction. This course is about the principles, methods and issues that affect compilers and interpreters which translate between human-readable programming languages and hardware-implemented ones. Object-oriented design and implementation techniques will be introduced to facilitate the construction of a simple compiler which will serve as a running case study throughout the course. In the Fall 2000 semester, Lex and Yacc will be used front-end parsing and ENgel's Oolong assembler for the Java Virtual Machine will be the target language.
Prerequisites: 91.201 Computing III and 91.203 Computer Organization and Assembly Lang.
2. Textbooks (2 required):
Levine, Mason & Brown: "Lex and Yacc", OReilly, 1992.
J Engel: "Programming the Java Virtual Machine (JVM), Addison-Wesley 1999 (CD-ROM included)
Class material will be available on-line at $CASE/2kf204, including this document (99s204syl{.doc,.htm}, class assignments, code samples from Engel's web site or to be used in lectures and assignments. [The environment variable $CASE is defined by 'setenv CASE /usr/proj3/case']
Programming assignments in 2ks204 will be based on the expression calculator introduced in Computing III and material in the required and recommended texts. All coding will be done in the C++ programming language. Unix host machines are preferred, but PC's are optional for students already familiar with PC-based C++ development environments.
3. Course Objectives and Goals
Students in this course will participate in a significant compiler design and implementation case study, through which they are expected to achieve the following synergistic goals:
4. Lateness
For each class day an assignment or project is late, 10 of the total points will be deducted from the points received. This will continue for 5 class days (2 weeks), after which the assignment or project will have a maximum possible value of 50 if passed in before the last day of the semester.
5. Academic Dishonesty
In this course all work is to be each student's own, unless otherwise notified. Two-person teams may be specifically authorized for a particular assignment; in this case, work will be divided between the partners.
Students should be familiar with the University's rules on academic dishonesty , which can be found in the Bulletin of Undergraduate Studies and in the Schedule of Classes. In particular, plagiarism will not be tolerated ! Any student caught plagiarizing will automatically receive a grade of F for the course. If you are unsure as to what constitutes plagiarism, it is your responsibility to check with the instructor. Other forms of dishonesty will result in similar actions.
6. Topical Outline:
The following topics will be covered in this course:
7. Grading
Final grades will be based as follows:
|
Item Type |
Number |
Weight |
||
Hour Exams |
2 |
40% |
||
Final Exam |
1 |
20% |
||
Project Builds |
8(approx) |
40% |
||