CS 216 and CS 333 with grades of C- or higher Presents the fundamental concepts of programming language design and implementation. Emphasizes language paradigms and implementation issues. Develops working programs in languages representing different language paradigms. Many programs oriented toward language implementation issues. Covers fundamental concepts and techniques and surveys selected application areas.
Core material includes state space search, logic and resolution theorem proving.
Application areas covered may include expert systems, natural language understanding, planning, machine learning, or machine perception. Topics include fault models and effects, fault avoidance techniques, hardware redundancy, error detecting and correcting codes, time redundancy, software redundancy, combinatorial reliability modeling, Markov reliability modeling, availability modeling, maintainability, safety modeling, trade-off analysis, design for testability, and the testing of redundant digital systems. Cross-listed as EE 434 . Cross-listed as EE 457 . CS 216 and CS 302 with grades of C- or higher Introduces the fundamental concepts for design and development of database systems.