CIS 706
Prerequisites by Topic
- working knowledge of a high-level language, preferably Java, C, or C++;
- ability to use and implement common data structures such as lists, stacks,
queues, and trees;
- principles of functional, block-oriented programming languages including types,
scoping, abstraction mechanisms, exceptions, and concurrency
- principles of object-oriented programming languages including
classes and objects
- knowledge of software architecture and design
Knowledge and Skills Acquired
- Mastery of:
- Deterministic parsing, Semantic analysis, Abstract syntax trees
- Symbol tables, type checking, resource allocation
- Generating LR parsers using automated tools such as Flex and Bison
- Code generation
- Deterministic parsing, Semantic analysis, Abstract syntax trees
- Familiarity with:
- Domain specific languages
- Garbage collection, native code generation, static analysis
- Virtual machines and run-time environments
- Domain specific languages
