PL&S CURRICULAR CHANGES EXECUTIVE SUMMARY We propose the following actions: + EIGHT course deletions Delete courses 23, 141 from the catalog. Delete courses 231A, 232A, 232B, 234A, 235A, 243B from the catalog. + THREE course additions Add the courses: 230A (Models of Information and Computation), to supersede 232A, 232B, 234A, 235A. 236A (Advanced Operating Systems) so that we have a graduate-level OS course. 240B (Advanced Data and Knowledge Bases) replaces CS249CZ courses on deductive and temporal DBMS + SIX course catalog revisions Revise catalog entries for 31, 32, 131, 143, 240A, 244A. ----------------------------------------------------------------------------- UCLA COURSE CATALOG CHANGES ADD NEW CATALOG ENTRIES FOR: 230A. Models of Information and Computation. Lecture, four hours; outside study, eight hours. Prerequisites: courses 131 and 181 or equivalent. Paradigms, models, frameworks, problem solving; axiomatic systems; domains, fixpoint theory; induction. Logical models: deduction; proof; models; semantics; propositional & first-order logic; logic programming. Functional models: equations; combinators; lambda calculus; functional programming. Program models: Hoare logic; object models; standard templates; design patterns; frameworks. 236A. Advanced Operating Systems. Lecture, four hours; outside study, eight hours. Prerequisites: courses 111 or equivalent. Advanced material in operating systems, including operating system architectures (kernels, microkernels, extensibility), fundamentals of distributed operating systems and synchronization, interprocess communications, modern file systems, failure recovery and fault tolerance, security, multiprocessor operating systems, performance and benchmarking. 240B. Advanced Data and Knowledge Bases. Lecture, four hours; outside study, eight hours. Prerequisites: courses 111 or equivalent. Logical models for data and knowledge representation. Rule-based languages and nonmonotonic reasoning. Temporal queries, spatial queries, and uncertainty in deductive databases and object relational databases (ORDBs). Abstract data types and user-defined column functions in ORDBs. Data mining algorithms. Semistructured information. DELETE THE EXISTING CATALOG ENTRIES FOR: 23. Introduction to Computer Science III. 141. Basic Methods of Data Organization. 231A. Advanced Topics in Programming Languages. 232A. Operational Semantics of Programming Languages. 232B. Semantics of Programming Languages. 234A. Correctness Proofs. 235A. Logic Programming and PROLOG. 243B. Abstract Data Types and Program Specification. The final six courses are superseded by CS230A. REVISE THE CATALOG ENTRIES (AS FOLLOWS) FOR: 31. Introduction to Computer Science I. Lecture, four hours; discussion, two hours; outside study, six hours. Limited to computer science and electrical engineering majors. Introduction to computer science via theory, applications, and programming. Basic data types, operators and control structures. Input/output. Procedural and data abstraction. Introduction to object-oriented software development. Functions, recursion. Arrays, strings, pointers. Abstract data types, object-oriented programming. Examples and exercises from computer science theory and applications. 32. Introduction to Computer Science II. Lecture, four hours; discussion, two hours; outside study, six hours. Prerequisite: course 31. Limited to computer science and electrical engineering majors. Object-oriented software development. Abstract data type definition and use. Overloading, inheritance, polymorphism. Object-oriented view of data structures: stacks, queues, lists. Algorithm analysis. Trees, graphs, and associated algorithms. Searching and sorting. Case studies and exercises from computer science applications. 33. Systems Programming (5 units). Lecture, four hours; discussion, two hours; outside study, nine hours. Prerequisite: course 32. Limited to computer science and electrical engineering majors. Introductory course on computer architecture, assembly language, and operating system fundamentals. Number systems, machine language, and assembly language. Procedure calls, stacks, interrupts, and traps. Assemblers, linkers, and loaders. Operating systems concepts: processes and process management, I/O programming, memory management, file systems. 131. Programming Languages. Lecture, four hours; laboratory, two hours; outside study, six hours. Prerequisites: courses 32, 33. Principles and methods for describing, implementing, and using modern programming languages. Topics include syntax, scope, control, types, inheritance, reliability, and storage management. 143. Introduction to Database Systems. Lecture, four hours; discussion, two hours; laboratory, two hours; outside study, four hours. Prerequisite: course 32 or consent of instructor. Information systems and database systems in enterprises. File organization and secondary storage structures. Relational model and relational database systems. Network, hierarchical and other models. Query languages. Database design principles. Transactions, concurrency, and recovery. Integrity and authorization. 240A. Databases and Knowledge Bases. Lecture, four hours; outside study, eight hours. Prerequisite: course 143. Theoretical and technological foundation of Intelligent Database Systems, which merge database technology, knowledge-based systems, and advanced programming environments. Rule-based knowledge representation, spatio-temporal reasoning, and logic-based declarative querying/programming are salient features of this technology. Other topics covered include object-relational systems, and data mining techniques. 244A. Distributed Database Systems. Lecture, four hours; outside study, eight hours. Prerequisites: courses 215 and/or 241A. File allocation, intelligent directory design, transaction management, data warehouse, deadlock, strong and weak concurrency control, commit protocols, semantic query answering, multidatabase systems, fault recovery techniques, network partitioning, examples, trade-offs, and design experiences.