Class Notes

Grades

Assignments

Solutions

Announcements
 

ANSI C  (BNF)

ANSI C  (XBNF)

Final Exam



Fall 2011 CSci 465: Principle of Translation
 
Instructor Dr. Hassan Reza
Email reza at aero.und.edu
Phone: 701.777.4127
Office hours :  M, W, F: 10:00 to 11:00 or by appointment 
Class meets :  M, W, F: 11:00 to 12:00  Streibel 238
Room 238 Striebel Hall
Credit hours :  3
TextBook:
  •  Required Text: Compiler Principles, Techniques, and Tools, Jeffrey Ullman et al, Addison-Wesley, 2007
Description: 
Csci 465: Compiler Design provides a very comprehensive coverage of issues dealing with principles and practice of design and implementation of compilers. In general, compilers convert programs in high level programming languages to machine code. To this end, the course covers topics in  programming languages, theory of algorithms, software engineering, and architecture.   

Course Procedures:
The course will utilize lecture and discussion, as the main teaching tools for presenting the course material.  This course requires extensive programming and time management.  Students will be expected to read the material and be prepared to discuss the readings and the assignments in class. 

Prerequisites: 
Background in Automata and  Formal Languages (Csci435), familiarity to Computer Architecture (Csci351), and exposure to any  high level programming languages such as C, C++, or  Java  are required.

Upon successful completion of the course, the student should be able to understand the role  and components of conventional compilers. The objectives for this course include:

  • Overview of Software Architecture and Compiling
  • Lexical analysis
  • Symbol tables (lexical scope, access  data structure,etc)
  • Parsing (Top down Parser and Bottom parser)
  • Semantic Analysis using Syntax directed translation and attribute grammar
  • Type checking, Type systems, Specification of a simple type checker, etc.
  • Run-time Environments  (Stack, activation record, etc.)
  • Intermediate Code Generations (ICG)
  • Code Generation


Grading Policy: 

  • Three  Exams 60% (20% for each exam)
  • Assignments and Quizzes 10 %
  • <> Project 30 % (modest Compiler design/implementation/Presentation)  
Exams: 
There will be three exams:
  • Exam 1 : September 16, 2011;
  • Exam 2:  November 2, 2011;
  • Exam 3:  December 12, 2011;
 Note 1: Make-up tests are not granted and/or administrated

Assignments and Quizzes:

There will be several assignments and/or quizzes throughout the course. The topics of these assignments will be taken either from the textbook or from other resources relevant to the course and will be announced in advance. Assignments should be turned in the class. For every day of late submission 20% of the points will be deducted.
You are advised to hand in assignments in class. Any homework placed without my knowledge (e.g., in my office mail box) will be accepted without any warranty. In case an assignment is lost, it is your responsibility. 
Recommendations are: to save everything, retain important papers and computer file until the course is finished. 
Note 2: Anything that you submit (e.g., homework) must be typed and spell checked otherwise it won't be graded.

About Project: 
There will be a modest  programming project (write a modest compiler), which counts 30% of course grade. The project is done and presented individually. Late programs will lose 3-5% per day, up to a maximum of 50% off after two weeks. A program is considered to be on time if it runs before midnight on the day it is due. The project must be presented to the class  at very last week of the class (December 5 and  7, 2011).

Grading Scale:
 
90 - 100% 
80 - 89% 
70 - 79% C
60 - 69% 
below  60  F

Note3: Graduate students taking 400-level courses are required by The Graduate School  to perform extra work

Participation & Class Attendance:
Regular classroom attendance is required, but does not count as participation. Active participation in class involves preparing ahead of time, asking intelligent questions that the book does not answer, answering questions in class, and participating in classroom discussions. If you know you will miss a class ahead of time, email the instructor. Make friends with your classmates so they will be willing to share notes, which problems were assigned, etc., for when emergencies arise and you do miss class. 

Civility in the Classroom:
Students are expected to assist in maintaining a classroom environment, which is conducive to learning.  Please do not bring  food to the classroom and always turn your cell phone (ringer) off if you have to have it with you. 

Disability Conditions:
If you have a disability condition that may effect your participation in this course and wish to discuss academic accommodations, please inform me as soon as possible.

Drops & Withdrawals:
Students should not assume that the instructor will administratively drop the student for non-attendance. Withdrawal from the course is the responsibility of the student. Should a student decide to withdraw from the course, simply not attending class sessions, rather than formally withdrawing from the course, may result in an 'F' on the student's transcript. 

PLAGIARISM, PROFESSIONAL ETHICS & PERSONAL INTEGRITY 
The UND academic policy clearly states an expectation that each student submit his/her own work do otherwise, that is, to submit anther's efforts as one's own, is at its least plagiarism, and at its most unethical and without integrity. Indeed, it is a matter of professional ethics and personal integrity to graciously accept accolades for a job well done, as well as to publicly acknowledge those to whom partial credit is owed. 
Those found to be cheating on exams, assignments, and Project will receive an "F " for the COURSE, and the matter will be discussed with the appropriate Dean and/or Chair. I do not anticipate any problem here.

Emergency Suspension of Campus
In the event of a major campus emergency suspension or closure, the course requirements, deadlines, and grading percentages on this syllabus are subject to change. I will notify you of such changes  by email using emial address listed in Campus Connection .

Disclaimer: This syllabus is intended to suggest the outline of the course; it is not absolute. Changes to the syllabus, should they occur, will be announced in class. 

Last Update Dec.7., 2011  by H.R.