Course SyllabusDepartment of Mathematics and Computer Science
TEXT BOOK Compilers, Principles, Techniques, and Tools by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman INSTRUCTOR INFORMATION ***To be provided for each section*** COURSE DESCRIPTION This course is intended to explore the principal ideas and techniques of compiler construction. Topics include lexical analyzers, parsers, error detection, code generation, symbol tables, and formal languages. PREREQUISITE CSC-254 (Data Structures) and CSC-353 (Computer Org. & Assembly Lang.)COURSE GOALS- STUDENT LEARNER OUTCOMES The student should
TENTATIVE SCHEDULE OF WEEKLY ASSIGNMENTS WEEK 1 . The organization of a compiler WEEK 2-3 . Introduction of grammars as sets of production rules . Parse Trees . Post-fix notation WEEK 4-7 . Lexical analysis, NFA, DFA . A simple scanner . Lexical generators . Translation of simple expressions into finite automata WEEK 8 . Syntax analysis . Context-free grammars WEEK 9-10 . Recursive descent parsers WEEK 11-13 . Non-recursive predictive parsing . LR parsers . Parser generators . Symbol tables WEEK 14-16 . Code generation . Other miscellaneous compiler construction topics WEEK 1-16 . Case Study: Design and implementation of a simple compiler for a high level language . Quizzes about every two weeks . One Written Test during the midterm week . One Written Test approximately week 13 . The final exam is written and is administered during the official university final schedule period. . Projects are assigned about every three weeks. COURSE ASSESSMENT- LEARNING OPPORTUNITIES*
GRADING STANDARDS- ASSESSMENT TOOLS The grades will be evaluated based on the practical and written tests/ quizzes as follows.
The grading scale guideline: **
UNIVERSITY POLICY 1) Attendance: Lincoln University uses the class method of teaching, which assumes that each student has something to contribute and something to gain by attending class. It further assumes that there is much more instruction absorbed in the classroom than can be tested on examinations. Therefore, students are expected to attend all regularly scheduled class meetings and should exhibit good faith in this regard. For the control of absences, the faculty adopted the following regulations:
Students are responsible for proper conduct and integrity in all of their scholastic work. They must follow a professor's instructions when completing tests, homework, and laboratory reports, and must ask for clarification if the instructions are not clear. In general, students should not give or receive aid when taking exams, or exceed the time limitations specified by the professor. In seeking the truth, in learning to think critically, and in preparing for a life of constructive service, honesty is imperative. Honesty in the classroom and in the preparation of papers is therefore expected of all students. Each student has the responsibility to submit work that is uniquely his or her own. All of this work must be done in accordance with established principles of academic integrity. An act of academic dishonesty or plagiarism may result in failure for a project or in a course. Plagiarism involves representing another person's ideas or scholarship, including material from the Internet, as your own. Cheating or acts of academic dishonesty include (but are not limited to) fabricating data, tampering with grades, copying, and offering or receiving unauthorized assistance or information.3) The Student Conduct Code: Students will be held to the rules and regulations of the Student Conduct Code as described in the Lincoln University Student Handbook. In particular, excessive talking, leaving and reentering class, phones or pagers, or other means of disrupting the class will not be tolerated and students may be asked to leave. Students who constantly disrupt class may be asked to leave permanently and will receive an F. 4) The Core Curriculum Learner Competencies:All courses offered through the Department of Mathematics and Computer Science require students to meet at least the following out of the 8 Core Curriculum Learner Competencies: (1) Listen and effectively communicate ideas through written, spoken, and visual means;(2) Think critically via classifying, analyzing, comparing, contrasting, hypothesizing, synthesizing, extrapolating, and evaluating ideas; (6) Apply and evaluate quantitative reasoning through the disciplines of mathematics, computational science, laboratory science, selected social sciences and other like-minded approaches that require precision of thought; (8) Demonstrate positive interpersonal skills by adhering to the principles of freedom, justice, equality, fairness, tolerance, open dialogue and concern for the common good. Note: * The instructor of a given section of the course may make some modifications to the evaluation as well as to the rest of the syllabi including but not limited to; the grade weights, number of tests, and test total points. **The grading scale guideline includes a 2-point flexibility. Please consult with the department chairperson for any program updates or corrections which may not be yet reflected on this page _ last updated 11/20/2007.
|