CS440: Language Processors and Programming Environments (Spring 2020)

1 Course Basics

1.1 Meeting Time and Location:

1.2 Instructor: Dr. Yutao Zhong

1.3 Course Content

This course will cover the theoretical and implementation aspects of language processing. Emphasis will be on the techniques and the issues that arise in the design and construction of compilers. There are several substantial programming assignments associated with this course.  Main topics of the course include:

1.4 Course Outcomes

At the end of this course, students should

1.5 Prerequisites: C or better in CS310/CS330/CS367

Students are expected to be acquainted with formal models and languages(CS330), computer systems and assembly languages(CS367), and data structures(CS310). Students should have strong programming skills with at least one language in C/C++/Java.

1.6 Textbook:

1.7 Other Useful Resources:

2 Grading

2.1 Assessment

Coding projects
Written assignments
Final exam

Cutoffs will be applied without rounding.  Cutoffs will be in the vicinity of: A: >90%, B: >80%, C: >70%, D: >60%.

NOTE: CS 440 students may choose to use the grading policy and assignments associated with CS540 (cross-listed this semester). Any student who would like this to use the option must inform the professor before the due date for the first assignment and this decision is binding. I do not recommend this option for students who did not receive A grades in all (or most) of the pre-requisite classes.

2.2 Projects

2.3 Written assignments

2.4 Exams

2.5 Discussion board

2.6 Other

3 Honor Code

All students are expected to abide by the GMU Honor Code. This policy is rigorously enforced. The computer science department has an CS Honor Code Policies that you are subject to particularly for our courseCheating on any assignment will be prosecuted and result in a notification of the Honor Committee as outlined in the GMU Honor Code. Sharing, collaboration, or looking at any code, algorithm, or solutions of assignments that is not your own (or outside the group for group assignments), including resources from Internet, is considered cheating.

We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated. We use automated software to flag suspicious cases, and then review them to find the cases that must be submitted to the Office of Academic Integrity. The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance. Confirmed cases of cheating almost always translate into course failure.

4 Learning Disabilities

Students with a learning disability or other condition (documented with GMU's Office of Disability Services) that may impact academic performance should speak with the professor ASAP to discuss appropriate accommodations.

5 Campus Resources