Exam 1 Study Topics
Overview
The exam will be March 9. You will have the entire class period to
work on it. It will cover Chapters 1-3 of the Sebesta text, plus
material from the programming exercises and material covered in lecture
that is not in the book.
Questions will be a mix of multiple choice, short answers, and problems
to solve.
Topics
- Evaluating Languages
- Criteria: Readability, Writability, Robustness
- Characteristics: Simplicity/orthogonality, Control structures,
Data types and structures, Syntax design, Support for abstraction,
Expressivity, Type checking, Exception handling, Restricted
aliasing.
- Executing Programs
- Direct Interpreter (shell scripts)
- Compiled Interpreter (Perl scripts)
- Virtual Machine Interpreter (Java VM)
- Hardware Interpreter (C/C++)
- Developing Executable Files
- Text Editing
- Compiling
- Linking
- Loading
- Syntax
- Regular Expressions
- Context Free Grammars
- BNF and EBNF
- Parse Trees
- Recursive Descent Parsing
- Static Semantics
- Dynamic Semantics
- Operational Semantics
- Axiomatic Semantics
- Terms: Assertions, preconditions, postconditions, weakest
precondition, rule of consequence, loop invariant, total
correctness, partial correctness.
- Denotational Semantics