CC item list

ITEM 2. Name changes for compiler courses.

Motion: (at 11/29/07 DCSC) that the course titles of CPS710, CPS812, CPS883 be changed as indicated below.
Status: CC: passed 11/15/2007; DCSC: passed Nov. 29, 07
Suggested name changes of three compiler courses:
CPS710: Translators I CPS710: Compilers and Interpreters
CPS812: Translaters II CPS812: Advanced Compilers and Interpreters
CPS883: Compilers and Translators CPS883: Compilers

Motivation: the term "Translator" is not in commonly associated with compilers and interpreters. This point was made by the visitation team from CIPS, and also by the visitation team from CEAC (for engineering accred.).

For example, going to an online technical dictionary,
and searching for "interpreter", one gets the expected:

A program which executes source code by reading it one line at a time and performing each instruction immediately. An interpreter is different from a compiler, which does not execute the source code, but translates it into object code (machine language) which is stored in a file and executed later. Some programming languages must be interpreted; some can be both interpreted and compiled.

but searching for "translator", one gets something unrelated to the topic of this course:
FORmula TRANslator
(FORTRAN). The first high-level programming language for scientific and mathematical applications, developed by IBM in 1954. Memory Translator Hub
(MTH) - The interface that allows SDRAM memory to be supported on a Direct Rambus Channel for motherboards using Intel's 820 chipset.

Sophie: I have a comment concerning point 2 (cps710). The reason for the name "Translators" was to give instructors the option to cover either compilers or interpreters. In the 8 years when I taught the course, which includes this year and last year, I have always focused this course on interpreters rather than compilers. I am quite convinced that this is a better approach for a first course, for many reasons which I will be pleased to explain either during the meeting or by email if I can't make it to the meeting. I do not know what other instructors have done; in addition to yourself they include Marcus and Dave.

Marc Lijour: I agree with the CIPS suggestion as I believe it makes it easier for the students to read the course catalog and to prepare for the course. While I agree 100% with Sophie, I suspect students would prefer to see a more explicit description rather than a more purist definition. Can interpreters still be taught/implemented as a valid first step in a compiler course?

Names of similar courses at other universities:
U of T: Compilers and Interpreters (CSC488), followed by Compilers II

Waterloo: Compiler Construction

McMaster: Syntax-based tools and compilers (4TB3)

York U: Compilers and Interpreters (CSE4302)
Result: We all seemed to agree that a name change would be advantageous. We sought the opinions of the relevant instructors of these courses. Sophie Q.: agrees; Marcus S.: agrees; Dave M.: no comment yet.
Calendar descriptions: CPS 710 Translators I

Introduction to modern compiler design: theory, techniques, and tools. Students will develop an interpreter or compiler. Assembler and preprocessors will also be briefly discussed.
Lect: 3 hrs. Prerequisite: CPS 615

CPS 812 Translators II

This course examines advanced aspects of compiling including run-time support, garbage collection code generation and type systems. Scanning and parsing will be neither covered nor required, but CPS 710 or readings in these areas is recommended.
Lect: 3 hrs. Prerequisite: CPS 710

CPS 883 Compilers and Translators

Topics include: Lexical analysis, deterministic and non-deterministic finite automata; hardware implementation of DFAs; Context-free grammars; parsing techniques; syntax directed translation, code generation; compiler generators.
Lect: 3 hrs./Lab: 2 hrs. Departmental consent required

Result: Passed in CC on Nov. 15, 2007.
CC item list