Studies race conditions, critical sections, mutual exclusion, process synchronization, semaphores, monitors, message passing, the rendezvous, deadlock, and starvation. Also covers programming in an AI language. Additional topics chosen from game theory, decision support systems, pattern matching and recognition, image understanding, natural language, fuzzy and non-monotonic logic, machine learning, theorem proving, and common sense reasoning. Course content, language, and prerequisites may vary according to instructor, with emphasis on applications for which the language is designed. 3.00 Offers in-depth study and application of topics in CS 451.
Students work in teams to develop a significant software system.
Course is intended to serve as a capstone experience for students in the senior year. The project involves the specification and review of software requirements and designs, implementation and code inspections, functional testing, and documentation. Covers design of a general- purpose computer system, including organization, input, output, mass storage, memory, timing, communications, and multiprocessing. Includes programming assignments that modify or enhance the operating system. Different topics may be considered during different quarters.