CSE 321 Final Review
The exam is closed-book, closed-notes, closed-neighbor.
We will provide you with a summary sheet
of all the kernel operations
for the relevant components. If you need to see the specification
for any component during the exam, your instructor will have a copy
of the full specifications for you to consult.
- Review all material listed on the Midterm
Review Sheet
- Be able to read and understand component specifications, including
convention and correspondence
- Be able to write code from specifications
- Be able to design, implement, and visualize recursive algorithms
(5 step method)
- Be able to analyze the performance of simple code segments.
- In addition to the components listed on the Midterm
Review Sheet, be able to
use the following software components.
- BL_Tokenizing_Machine
- Array
- Partial_Map
- Queue
- Sequence
- Text
- BL_Tokenizing_Machine
- Conceptual Model
- Representation: buffer_rep, buffer_state, and token_ready
- Implementation and performance of operations
- Using state transition diagrams to specify the implementation
of the Insert operation
- Language Processing
Given a language described with a suitable context free grammar:
- Be able to define appropriate tokens for the language
- Be able to define the necessary buffer states for
an implementation of a Tokenizing_Machine for this language
- Be able to write a recursive descent parser or evaluator
for this language
- Code Generation
- Motivation for code generation phase
- BugsWorld virtual machine (memory, instruction set, program counter)
- Be able to generate code for a given BL program
- Be able to execute a BugsWorld virtual machine program
- Resolve/C++ Model of Software
- Components, Relationships, Discipline
- Abstract vs. Concrete components
- Instances vs. Templates
- Kernels vs. Extensions
- Catalogs
- Component Coupling Diagrams (CCDs)
- Component Families
- Design and implementation of abstract kernels, abstract extensions,
concrete kernels, concrete extensions, checking kernels