Course Syllabus

Department of Mathematics and Computer Science



COURSE ID: CSC-453
COURSE NAME: Compiler Construction
CREDITS: 3

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
  • Gain full understanding of organization of a compiler.
  • Explore and learn several sets of grammar production rules.
  • Learn both recursive descent and non-recursive methods of parsing.
  • Be able to design and implement a simple compiler for a higher-level language including the lexical analyzer, parser, symbol tables and code generation.
  • Fully understand how the programming language compilers such as C++ and Java generate syntax errors.
  • Be introduced to some of the compiler-related topics in formal languages and gain preparation for graduate studies/ research in both complier construction and formal languages.

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*

  • Computer Projects

            Computer Projects will be given on material covered in class. General computer labs are available throughout the campus for students to do their work. The students are encouraged to make regular visits during office hours, to meet in study groups, and to use the Computer/ Programming Tutors from the School of Natural Sciences.

  • Late Work And Make-Ups

            All computer projects, assignments, quizzes and exams must be completed by the scheduled date. Late assignments or make-up tests or quizzes will only be allowed with official documentation and grades may be lowered. To qualify for a make-up, a student must have notified the professor and rescheduled in a timely manner.


GRADING STANDARDS- ASSESSMENT TOOLS

The grades will be evaluated based on the practical and written tests/ quizzes as follows.

Projects 20%
Tests 80%
   
Quizzes   20 points each
Test#1 100 points
Test#2 100 points
The final exam 100 points

The grading scale guideline: **
A       92-100%
A-       88-91%
B+      85-87%
B      82-84%
B-      78-81%
C+       75-77%
C       72-74%
C-      68-71%
D+      65-67%
D      58-64%
F      0-57%

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:

  • Four absences may result in an automatic failure in the course.
  • Three tardy arrivals may be counted as one absence.
  • Absences will be counted starting with whatever day is specified by the instructor but not later than the deadline for adding or dropping courses.
  • In case of illness, death in the family, or other extenuating circumstances, the student must present documented evidence of inability to attend classes to the Vice President for Student Affairs and Enrollment Management. However, in such cases the student is responsible for all work missed during those absences.
  • Students representing the University in athletic events or other University sanctioned activities will be excused from class (es) with the responsibility of making up all work and examinations. The Registrar will issue the excused format to the faculty member in charge of the off- or on-campus activity for delivery by the student(s) to their instructors.
2) Statement on Academic Integrity:

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.

Lincoln University of the Commonwealth of Pennsylvania
1570 Baltimore Pike, P.O. Box 179, Lincoln University, PA 19352 \ (610) 932-8300 \
Internet Privacy Policy, © Copyright, Lincoln University.