CMSC 430: Course Description
Introduction to compiler construction (emphasis on compiler front ends). Course contents include the following: Formal translation of programming languages, program syntax and semantics. Finite state recognizers and regular grammars. Context-free parsing techniques such as LL(k) and LR(k). Code generation, improvement, syntax-directed translation schema.
This course focuses on compilation techniques needed to translate programs written in a standard programming language into executable code on microprocessor architectures. Program analysis and optimization techniques are presented in class lectures. Programming projects provide experience with implementation issues and allow students to develop programming and software engineering skills.
A grade of C or better in CMSC 330, or permission of instructor.
20% midterm, 30% final, 50% projects
Projects must be submitted for grading by the time they are due. Late projects receive a penalty of 20% for the first day, and 10% each additional day. Exceptions may be made for valid medical excuses from a doctor. Project grades will roughly consist of 50% or more for correct execution on test data made available to students at time of the assignment, and up to 50% for correct execution on the instructor's test data.
All graded materials (examinations and programming assignments) must be strictly individual efforts. Cooperation on programming assignments is limited to general discussion of the problem (not its solution), and assistance with errors. Transmitting a copy of a solution (in either hardcopy or electronic form), or falsely representing the correctness of a program are considered forms of academic dishonesty. Project submissions may be automatically compared with submissions from current and past semesters using software to detect potential cases of academic dishonesty.
Academic dishonesty is a serious offense which may result in suspension or expulsion from the University. In addition to any other action taken, the grade "XF" denoting "failure due to academic dishonesty" will normally be recorded on the transcript of students found responsible for acts of academic dishonesty. See the Undergraduate Catalog for definitions and sanctions.
Statement from the Student Honor Council: "The University of Maryland, College Park has a nationally recognized Code of Academic Integrity, administered by the Student Honor Council. This Code sets standards for academic integrity at Maryland for all undergraduate and graduate students. As a student you are responsible for upholding these standards for this course. It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.studenthonorcouncil.umd.edu/whatis.html."