What you need to know in ECE495S exams

You are expected to know the following terms and concepts. "Know" means, be able to explain the item, give examples, recognize it in a given context, and apply it to a given problem.

Understanding the material on the course slides will get you up to a 90% score (meaning a high B grade). If you can answer background questions to this material, (which is covered in the text book and handouts but may not have been discussed in detail in class) you will achieve a solid A (in the exam part of the course)

All exams are comprehensive, however the emphasis is on the recently learned material. All exams are "open textbook and notes". However it is strongly recommended that you page through the textbook as little as possible during the exam. It can slow you down significantly. So, use the textbook only in "emergencies". Each midterm exam will include a question about the syllabus.

Exams will be mixed multiple choice and prose questions.

Missing an Exam

Request for exceptions to take an exam at a different time will not be granted, except in rare circumstances that (1) could not have been foreseen in the first week of class and (2) are beyond the student's control. No early exams will be possible. Once the instructor approves an exception, you need to contact the TA to schedule an alternative exam date. If the TA is unavailable, the student may arrange for an alternative exam with a proctor suggested by the student and approved by the instructor. The exam will need to be completed no later than 24 hours after the regular exam date.

Material for Midterm Exam, Fr, Sept 12 2008 (in class)

(Chapters 1-3.5 in textbook)

sample exams can be obtained from the secretary in EE339

  • Block diagram of a compiler. including input and output, functionality, implementation issues, generator tools.

  • 1-pass compilers, multi-pass compilers, tradeoffs.

  • Terminology: syntax, semantics; the attributes static, dynamic, context-free/sensitive; attribute grammar, denotational semantics; n

  • Scanning: regular expresions, finite automata (DFA/NFA); transition, goto, action table; scanner generation methods; multi-character lookahead.

    Material for Midterm Exam, We, Oct 15 2008 (in class)

    (tentative) - (Chapters 1-13 in textbook)
    material of exam 1 plus:
  • Grammar, Parsing: resursive descent, BNF, LL(x), LR(x), stack-based parsing, parse tree, syntax tree, first and follow set, predicting productions, left/right-most derivation, bottom-up/top-down parsers, parse tables, parser generation methods, left-recursion, non-LL grammar, shift-reduce parser, configuration set, CFSM, goto/action tables, basics on LR(k) and SLR parsers.
  • Semantic processing: semantic annotations of grammar, action symbols, use in recursive-descent and stack-based parsing; semantic records, use in in recursive-descent and stack-based parsing; basics on symbol tables; basic issues of runtime storage organization, processing declarations, expressions and data structure references; processing of if, loop, case, control structures (semantic actions and record keeping); parameter types, activation frame, register save issues of subroutine calls.

    Material for Midterm exam, We, Nov 19 2008 (in class)

    (tentative): Chapters 1-16.3 in textbook
    Material of previous exams, plus:
  • Code Generation.
  • Register allocation and scheduling on handouts and lecture slides.
  • Program Analysis.

    Final Exam, Thur 12/18 3:20-5:20pm in EE115
    All course material.

    Paper handouts need to be understood to the extent that they provide background material to the course slides.