Section 3: Language Translation & Execution
  Column:   D C B A
Row: Language Translation: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must meet requirements in at least two areas. Total
  6 0       10
1 Program Translation: Describe the stages w.r.t. Pre-processor, Compiler, Linker, Loader    Define 2/4 terms.  Define all.  Define with simple example. n.a.
2 Comparison of interpreters and compilers.    Describe one.  Describe both.  List some implications of each.  Compare and contrast.
3 Describe Language translation phases (lexical analysis, parsing, code generation, optimization);     Define 2/4 terms.  Define all.  Define with simple example.  Describe the process w.r.t. real language.
4 Identify Machine-dependent and machine-independent aspects of translation    Define.  Identify some.  Identify most. n.a.
             
  Column:   D C B A
Row: Virtual Machines: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must meet requirements in at least two areas. Total
  6 0       10
1 Define the concept of a virtual machine.     Rote  Brief definition.  Complete definition.  Discuss the advantages and trade-offs.
2 Outline the hierarchy of virtual machines.     Rote  Mostly.  Outline the hierarchy of virtual machines. n.a.
3 Describe the role of Intermediate languages.     Rote  Describe the role of Intermediate languages.  Describe the role of Intermediate languages.  Describe the role of Intermediate languages.
4 Discuss security issues arising from running code on an alien machine.     Explain what the statement means.  Describe the general issue of security w.r.t. running on an alien machine.  Discuss security issues arising from running code on an alien machine. n.a.
             
  Column:   D C B A
Row: Structural Decomposition: YOUR SCORE Attempt Meets Requirements Exceeds Requirements Exemplary
  Minimum Points   Must exceed requirements in at least two areas. Total
  15 0       27
1 Procedures, functions, activation records, and the run-time environment. .    good start, still some major misconceptions  Describe, conceptually, what happens when a program runs  can demonstrate process with activation records  can explain how this fits in with recursion; memory allocation, etc.
2 Follow the execution of a program.     simple programs  Follow the execution of a program (predict output, etc.)  moderately complex programs (with sub-programs; multiple classes) n.a.
3 Parameterization mechanisms (reference vs. value):      define the term  Describe, in general terms how pass-by-value works.  clear understanding of how identifier names are related to parameters n.a.
4 Parameterization mechanisms (reference vs. value):      define the term Describe, in general terms how pass-by-reference works.  able to follow the effect of changes through several levels of indirection n.a.
5 Discuss storage management at run-time (static vs. automatic. vs. dynamically allocated).     can define terms  simplistic explanation  has fairly thorough understanding of the differences  can use this understanding to articulate when each might be appropriate (and inappropriate)
6 How are records and arrays represented in memory?     overly simplistic explanation  1-D & 2-D arrays  can incorporate simple dynamically allocated entities  can incorporate dynamically allocated entities; discuss implications w.r.t. copying, I/O
7 What happens during dynamic allocation?     simplistic explanation  reasonably accurate explanation  distinguish between heap & RTS; can show (visually or otherwise) how it works. n.a.
8 What is Garbage collection, and how does it work?     Define.  rough explanation able to identify some of the issues involved n.a.