Analysis of hardware and software strategies, including spatial and time redundancy, error-correcting codes, mirroring, checkpointing, and dynamic reconfiguration. Principles of fault-tolerant computing and projects that demonstrate them. Compiler Construction I. 3. Theory and implementation of interpreters and compilers. Compiler topics include lexical analysis, top down and bottom up parsing methods, symbol tables, and code generation for a block-structured language with recursion and parameters.
Project uses compiler writing tools.
Advanced topics concerning the front end of a programming language compiler, the description and implementation of features found in the back end of a compiler, and the run time environment. Topics include data type checking, global data flow analysis, flow graph reduction, local and global code optimization, and code generation. Reports on recent research papers. Network, hierarchical and relational models for databases. Theory of functional dependencies, normal forms, and design of relational databases.