No Credit grading only. CSCI 15B or faculty permission. This course first covers formal descriptions of computers, languages, and programs, then investigates correctness, behavior, and complexity. Topics include formal grammars and the associated automata, unsolvable problems, recursive functions, and post systems. Methods related to the functional design of complex computer systems.
Emphasis is on the project-team design approach.
Operational criteria, system feasibility, requirements, and cost tradeoffs. Integration of personnel, equipment, hardware, and software. Analysis of multi-user operating systems including hardware and software requirements. Comparison of differing types of scheduling and memory allocation routines. Analysis of system deadlocks and their prevention.