Sunteți pe pagina 1din 3

COMS 440/540: Principles and Practice of Compiling

Iowa State University


Spring, 2017
Class Schedule: Monday, Wednesday, and Friday 3:10 PM 4:00 PM; Gilman 2205
Instructor: Dossay Oryspayev (oryspayd at iastate.edu)
Office Location: Room #13 in Basement (B013), Atanasoff Hall
Office hours: Mondays 10:00 AM 12:00 PM

1. Course description and objectives


Compilers translate code written from one (source) language to another (target) language. For example,
a C compiler translates programs written in C to a binary code that a machine can execute. A compiler
itself is a large piece of complex software. For example, GCC is a compiler that can compile programs
written in C language.

In this course, we will learn how to design such a complex software step by step. Students will gain
hands-on experience to design a compiler.

Why study compilers?

It is a foundational subject in Computer Science. Compilers knowledge, such as grammars,


parsing, and optimizations, is theoretically deep and intellectually interesting.
It is also a practical subject. There are many programming languages and thus compiler
construction teams around, e.g., Portland Group (PGI), Intel, GCC, etc. Compilers are
implementations of programming languages involving large amount of engineering work and
system building.

2. Prerequisite
COM S 331 and 342; ENGL 250 OR ENGL 105; SP CM 212.

3. References and Resources


The following textbooks are not required but recommended. Note that all of the books in this list,
except the last one, are available online through our library.

TB1. Compiler Construction Using Java, JavaCC, and Yacc by Anthony J. Dos Reis.
TB2. Modern Compiler Implementation in Java by Andrew W. Appel.
TB3. Modern Compiler Design by Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J. H.
Jacobs, and Koen Langendoen.
TB4. Engineering a compiler by Keith D. Cooper and Linda Torczon.
TB5. Compilers: Principles, Techniques, and Tools (2nd Edition) by Alfred V. Aho, Monica S.
Lam, Ravi Sethi, and Jeffrey D. Ullman.
4. Grading Policy
This course has the following components:

Pop Quizzes 15%


Exam 1 15%
Exam 2 15%
Programming Project and Assignments - 30%
Final Exam 25%

All components above are essential, a student completely missing (i.e., in any component receiving 0)
any of the components will get an F for the course. Programming Project and Assignments will have
different difficulty levels for 440 and 540 students.

The final letter grade will be assigned as follows:

A 92.50% - 100.0% B- 80.00% - 82.49% D+ 67.50% - 69.99%


A- 90.00% - 92.49% C+ 77.50% - 79.99% D 62.50% - 67.50%
B+ 87.50% - 89.99% C 72.50% - 77.49% D- 60.00% - 62.50%
B 82.50% - 87.49% C- 70.00% - 72.49% F 00.00% - 59.99%

Final letter grades will be assigned according to the absolute scale, i.e., no curving. There will be no
extra credit for any part of the course components. NO exceptions will be made to the grading policy of
the course.

5. Tentative List of Topics


Introduction; Lexical Analysis; Parsing; Semantic Analysis; Runtime organization; Optimizations; Code
generation. Additional topics (time permitting).

6. Class Policies
Absence and late project and assignments policy: Late project and assignments will not be graded. Pop
quizzes do not have any predefined time during the lecture or week day.

Exam make-up policy: Excused absence for make-up exams need to be supported with a written official
documentation and must be provided to the instructor at least a week in advance of the request, except
when such notice is not possible. These include the following:

Medical emergency of yourself or family members;


Extra-curricular activities as a representative of ISU (e.g., sponsored sports, band, etc.);
Armed forces deployment (military duty);
Officially mandated court appearances, including jury duty;
Other life emergencies (need to inform Dean of Student Office, please see
http://www.studentassistance.dso.iastate.edu/)
7. University Policies 1
Academic Dishonesty: The class will follow Iowa State Universitys policy on academic dishonesty.
Anyone suspected of academic dishonesty will be reported to the Dean of Students Office.

Disability Accommodation: Iowa State University is committed to assuring that all educational activities
are free from discrimination and harassment based on disability status. All students requesting
accommodations are required to meet with staff in Student Disability Resources (SDR) to establish
eligibility. A Notification Letter form will be provided to eligible students. The provision of reasonable
accommodations in this course will be arranged after timely delivery of the Notification Letter to the
instructor. Students are encouraged to deliver Notification Letters as early in the semester as possible.
SDR, a unit in the Dean of Students Office, is located in room 1076, Student Services Building or online at
www.dso.iastate.edu/dr/. Contact SDR by e-mail at disabilityresources@iastate.edu or by phone at 515-
294-7220 for additional information.

Dead Week: This class follows the Iowa State University Dead Week policy as noted in section 10.6.4 of
the Faculty Handbook.

Harassment and Discrimination: Iowa State University strives to maintain our campus as a place of work
and study for faculty, staff, and students that is free of all forms of prohibited discrimination and
harassment based upon race, ethnicity, sex (including sexual assault), pregnancy, color, religion, national
origin, physical or mental disability, age, marital status, sexual orientation, gender identity, genetic
information, or status as a U.S. veteran. Any student who has concerns about such behavior should
contact his/her instructor, Student Assistance at 515-294-1020 or email dso-sas@iastate.edu, or the
Office of Equal Opportunity and Compliance at 515-294-7612.

Religious Accommodation: If an academic or work requirement conflicts with your religious practices
and/or observances, you may request reasonable accommodations. Your request must be in writing,
and your instructor or supervisor will review the request. You or your instructor may also seek
assistance from the Dean of Students Office or the Office of Equal Opportunity and Compliance.

Contact Information: If you are experiencing, or have experienced, a problem with any of the above
issues, email academicissues@iastate.edu.

8. Other policies
Copyright: Please note that all written and web materials for this course have an implied
copyright. In particular, you can photocopy, print, or download for your own use, but may not
reproduce them for others.
Recording/Photographing lectures is not allowed unless you have obtained explicit permission,
in advance, from the instructor.
The instructor reserves the right to make changes to this syllabus. If changes are necessary, an
updated version will be posted on Blackboard and announced in class.

1
http://www.celt.iastate.edu/teaching/preparing-to-teach/recommended-iowa-state-university-syllabus-
statements

S-ar putea să vă placă și