CS 440 Language Processors - Fall 2007

    Dr. Elizabeth White
    Office: S&T II, Rm. 429
    Phone: 993-1586
    email: white@cs.gmu.edu
    Class web site: http://cs.gmu.edu/~white/CS440

    Course Content

    This course will cover the theoretical and implementation aspects of language processing. Emphasis will be on the design and construction of compilers. There are several substantial programming assignments associated with this course.
    • Compiler Design
    • Lexical Analysis
    • Syntax Analysis - grammars, LL(1) parsers, LR(1) parsers
    • Semantic Processing
    • Code generation and optimization

    Textbooks

    • Compilers: Principles, Techniques and Tools, Aho, Sethi, Lam & Ullman
    • lex & yacc, Levine et. al.

    Grading Policies

    • There will be 3 programming assignments, together worth 40% (10+15+15) of your grade. These are to be individual efforts, meaning no sharing of code or discussion of problem solution allowed with anyone but me or the TA. See the class website for the late policy.
    • Homework (10% of your grade) will be assigned periodically. Homework may be done individually or in groups. Late homework will be accepted with a penalty of 20% per day.
    • There will be a midterm exam during the semester, worth 25% of your grade.
    • The final exam, worth 25% of your grade, will be commulative with the primary emphasis (70-90%) on the material not tested in earlier exams.
    • All exams are closed book. You must have a written excuse (doctor's note, for example) to miss an exam. I reserve the right to give oral makeup exams in lieu of written.
    • It has been my experience that time is the biggest determiner of your final grade in this class. I suggest that you start assignments when I hand them out. They often take more time than you think.

    Honor Code

    You are expected to abide by the honor code. Programming assignments and exams are individual efforts. Information on the university honor code can be found in the university catalog

    This semester I will probably be using similarity detection software to assist me in finding honor code violations, should they occur.