Department of Electrical Engineering and Computer Sciences Division of Computer Science Course Descriptions, Spring 1994 (Tentative) CS 2 Introduction to Computer Animation (1) This seminar will be a hands-on and gentle, top-level introduction to the field of computer animation. We will discuss geometric modeling, explicit motion specification, forward and inverse kinematics, spline interpolation, morph- ing and dynamics, and implement a subset of these topics. Guest speakers will present their work. Students will be provided with tools to create their own animations easily, with little to no programming. The course is limited to 20 freshmen. Textbooks: Vince, "3-D Computer Animation", Addison-Wesley (required) Badler, Barsky & Zeltzer, "Making Them Move: Mechanics, Con- trol & Animation of Articulated Figures", Morgan Kaufmann (recommended) This course will be taught by Professor Barsky. Lecture 1 is scheduled to meet on Wednesdays from 1:00-2:00 pm in 608-7 Evans Hall. CS 3 Introduction to Symbolic Programming (4) Introduction to computer programming, emphasizing sym- bolic computation and functional programming style. Students will write a project of at least 200 lines of code, in a dialect of the LISP programming language. This course is intended to be primarily for non-CS majors with a secondary interest in programming, but it can also serve as prepara- tion for students considering CS 61A later. Textbook: Harvey & Wright, "Simply Scheme", MIT Press (required) This course will be taught by Lecturer Harvey. Lecture 1 is scheduled to meet on MW from 10:00-11:00 a.m. in 22 Warren. CS 3S Self-Paced Introduction to Symbolic Programming. (1-4) Introduction to computer programming, emphasizing sym- bolic computation and functional programming style. Stu- dents will write a project of at least 200 lines of code in a dialect of the LISP programming language. Same material as in CS 3, but in a self-paced format. Units assigned depend on amount of work completed. First two units of CS 3S must be taken together. Textbooks: Touretzky, "Common Lisp: A Gentle Introduction to Symbolic Computation", Addison Wesley. (required) This course will be taught by Senior Lecturer Clancy. Man- datory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 9A Introduction to Fortran for Scientific Computation (1) Self-paced Fortran course for students who already know how to program. Solution of problems drawn from numerical applications, e.g., root finding, numerical integration, simulation, matrix manipulation, and graphing. and data base processing, simple graphics. Textbooks: Dyck, "Fortran 77, Introduction to Structured Problem Solv- ing", Prentice Hall (required) Abrahams, "Unix for the Impatient", Addison Wesley. (recom- mended) This course will be taught by Senior Lecturer Clancy. Man- datory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 9B Pascal for Programmer (1) Self-paced Pascal course for students who already know how to program. Solution of problems drawn mainly from non- numerical applications. Textbooks: Cooper, "Condensed Pascal", Norton & Co. (required) Abrahams, "Unix for the Impatient", Addison Wesley. (recom- mended) This course will be taught by Senior Lecturer Clancy. Man- datory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 9C C for Programmers (1) Self-paced course in the C programming language. Solu- tion of problems drawn mainly from UNIX systems programming applications. Textbook: Kernighan and Ritchie, "The C Programming Language", Prentice-Hall (required) Johnsonbaugh, "Applications Programming in ANSI-C", Macmil- lan Publishing. (recommended) Abrahams, "Unix for the Impatient", Addison Wesley (recom- mended) Stallman, "GDB Manual (current release)", Free Software (recommended) no author, "Codecenter (formerly Saber-C)", Centerline Software (recommended) This course will be taught by Senior Lecturer Clancy. Man- datory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 9D Lisp and Functional Programming for Programmers (1) Introduction to the Lisp programming language and the techniques of functional programming. Functions and list structures; recursion; functions as parameters and returned values; high-order functions; and functions as stored values. Textbooks: Touretzky, "Common Lisp: A Gentle Introduction to Symbolic Computation", Addison Wesley (required) Abrahams, "Unix for the Impatient", Addison Wesley (recom- mended) Steele, "Common Lisp: The Language", Prentice Hall (recom- mended) This course will be taught by Senior Lecturer Clancy. Man- datory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 9E Productive Use of the Unix Environment (1) File and directory organization and access; built in tools used singly and in combination; the shell command languages; environment customization; process management; maintenance of directories on networked computers. Text- books: Anderson, "The UNIX C Shell Field Guide", Prentice-Hall (required) Peek et al, "Unix Power Tools", O'Reilly and Associates (required) Kernighan and Pike, "The UNIX Programming Environment", Prentice-Hall (recommended) This course will be taught by Senior Lecturer Clancy. Mandatory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 30S Practice for the Novice Programmer (1) This course is intended to provide practice with pro- gram design and development skills for students with minimal outside programming experience. Problems are drawn from a variety of computing applications; credit depends on the number and selection of problems solved. Textbooks: No Text Required. This course will be taught by Professor Clancy. Mandatory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte E 77S Self-Paced Introduction to Fortran Programming for Scientists & Engineers. (1-3) Self-paced version of E 7. Unit 1: variables and compu- tation; subprograms and parameters; control structures. Unit 2: vectors and matrices. Unit 3: a project (a program over 300 lines in length). Textbooks: Dyck, "Fortran 77, Introduction to Structured Problem Solv- ing", Prentice Hall Inc. (recommended) McCracken, "Computing for Engineers & Scientists w/Fortran 77", John Wiley & Sons (required) Birns, "UNIX for People", Prentice Hall (recommended) Abrahams, "UNIX for the Impatient", Addison Wesley (recom- mended) This course will be taught by Senior Lecturer Clancy. Man- datory Orientation: Tuesday, 1/18/94, 5-6 pm in 4 Le Conte, OR Wednesday, 1/19/94, 5-6 pm in 4 Le Conte CS 60C Data Structures and Advanced Programming (4) Advanced programming techniques. Mathematical reasoning about programs. Principles of software engineering, applied in a large programming project. Review of elementary data structures: arrays, linked structures, queues, stacks. Advanced data structures and algorithms: graphs and trees, strings, searching, sorting, hashing. Textbooks: Winder, "Developing C++ Software", 2nd ed., Wiley (required) OR Graham, "Learning C++" McGraw Hill (required) Cormen, Leiserson and Rivest, "Introduction to Algorithms", McGraw Hill (required) This course will be taught by Professor Canny. Lecture 1 is scheduled to meet on MWF 11-12:00 pm in 145 Dwinelle. CS 61A Introduction to Computer Science (4) Introduction to programming and computer. This course exposes students to techniques of abstraction at several levels: (a) within a programming language, using higher- order functions, manifest types, data-directed programming, and message-passing; (b) between programming language, using functional and rule- based languages as examples. It also relates these techniques to the practical problems of imple- mentation of languages and algorithms on a von Neumann machine. There are several significant programming pro- jects, programmed in a dialect of the LISP language. Lec- tures also introduce the use of the Unix operating system, computer science applications, and social implications. Textbooks: Abelson and Sussman, "Structure and Interpretation of Com- puter Programs", McGraw-Hill (required) Abelson and Sussman "Instructor's Manual", McGraw-Hill (recommended) Friedman and Felleisen, "The Little Lisper", Macmillan (recommended) Dybvig, "The Scheme Programming Language", Prentice-Hall (recommended) This course will be taught by Lecturer Harvey. Lecture 1 is scheduled to meet on MWF from 2-3 pm in 100 Lewis. CS 61B Data Structures (4) Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays, strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the C programming language. Textbooks: Winder, "Developing C++ Software", 2nd ed., Wiley. (required) OR Graham, "Learning C++" McGraw Hill (required) Kruse, Leung, Tondo, "Data Structures and Program Design in C", Prentice Hall (required) This course will be taught by Lecturer Clancy. Lecture 1 is scheduled to meet on MWF 3-4 pm in 155 Dwinelle. CS 150 Components and Design Techniques for Digital systems (5) Design of boolean logic and finite state machines. Standard SSI, MSI and LSI parts. Drawing standards, depen- dency notation. Implementation to different logic families, mainly TTL and MOS sticks. Synchronous systems design, ALU, memory, tri-state and open-collector busses. Functional blocks in microprocessors. Discussion of a typical example of a microprocessor. Simple I/O, switches, LED displays, A/D, D/A. Textbooks: Katz, "Contemporary Logic Design", Benjamin/Cummings, (required) Texas Instruments, "TTL Logical Data", Texas Instruments, (recommended) Wakerly, "Digital Design: Principles and Practices", Pren- tice Hall (recommended) D.A. Norman, "The Design of Everyday Things", Nacscorp (Bantam-Double-Day) (recommended) Adams, "Conceptual Block Busting", Addison Wesley (recom- mended) This course will be taught by Professor Newton. Lecture 1 is scheduled to meet on TuTh 8-9:30 am in 145 Dwinelle. CS 152 Computer Architecture and Engineering (5) Instruction set design, register transfer. Computer design project requiring about 100 hours. Data-path design. Controller design. Memory system. Addressing. Micro- programming. Computer arithmetic. Survey of real computers and microprocessors. Each student is required to complete a design project. Textbooks: Hennessy and Patterson, "Computer Architecture: A Quantita- tive Approach", Morgan & Kaufmann (recommended) Hennessy and Patterson, "Computer Organization & Design: The Hardware/Software Interface", Morgan & Kaufmann (required) This course will be taught by Professor Wawrzynek. Lecture 1 is scheduled to meet TuTh from 9:30-11 am in 3 Evans Hall. Lecture 2 is scheduled to meet on TuTh from 12:30-2:00 in 9 Evans Hall. CS 162 Operating Systems and System Programming (4) Basic concepts of operating systems and system program- ming. Utility programs, subsystems, multiple-program sys- tems. Processes, interprocess communication and synchroni- zation. Memory allocation, segmentation, paging. Loading and linking, l.sparies. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security and privacy. Textbooks: Silberschatz and Paterson, "Operating System Concepts", Addison Wesley (required) This course will be taught by Professor Smith. Lecture 1 is scheduled to meet on TuTh 11-12:30 pm in 155 Donner. Lec- ture 2 is scheduled to meet on TuTh 2-3:30 pm in 4635 Tol- man. CS 164 Programming Languages and Compilers (4) Survey of programming languages. The design of modern programming languages. Principles and techniques of scan- ning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling. Text- book: Aho, Sethi, Ullman, "Compilers: Principles, Techniques and Tools", Addison Wesley (required) Levine, "Lex and Yacc", O'Reilly and Associates (recom- mended) Talbolt, "Managing Projects with Make", O'Reilly and Associ- ates (recommended) This course will be taught by Professor Rowe. Lecture 1 is scheduled to meet on TuTh from 11-12:30 pm in 525 McCone. Lecture 2 is scheduled to meet on TuTh from 2-3:30 pm in 306 Latimer. CS 169 Software Engineering (4) Ideas and techniques for designing, developing, and modifying large software systems. Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documenta- tion. Verification and validation. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial programming project. Textbook: Booch, Grady, "Object Oriented Design with Applications", (Series Title: Benjamin/Cummings series in Ada and software engineering) Benjamin/Cummings (required) Sommerville, Ian, "Software Engineering", 4th ed., Addison Wesley (required) Stroustrup, Bjarne "The C++ Programming Language", 2nd ed., Addison Wesley (recommended) This course will be taught by Professor Hilfinger. Lecture 1 is scheduled to meet on MWF from 1-2 pm in 3 Evans Hall. CS 170 Efficient Algorithms and Intractable Problems (4) Concept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algo- rithms for optimum search trees, balanced trees and UNION- FIND algorithms; numerical and algebraic algorithms; com- binatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines. NP- completeness. Unsolvable and intractable problems. Text- book: Manber, "Introduction to Algorithms: A Creative Approach", Addison Wesley (required) This course will be taught by Professor Blum. Lecture 1 is scheduled to meet on TuTh from 11-12:30 pm in 3106 Etcheverry Hall. Lecture 2 is scheduled to meet on TuTh 2- 3:30 pm in 3108 Etcheverry Hall. CS 172 Computability and Complexity (4) Variations on the theme of finite automata. Nondeter- minism and regularity. Properties of languages accepted by finite automata; context-free grammars and push-down auto- mata. Turing machines and computability. Time and space bounded computation. Special classes of grammars and languages. Textbooks: Hopcroft, Ullman, "Introduction to Automata Theory, Language, & Computation", '79, Addison Wesley (required) Garey, "Computers & Intractability", Freeman (required) This course will be taught by Professor Sinclair. Lecture 1 is scheduled to meet on MWF from 9-10 am in 3 Evans Hall. CS 174 Combinatorics and Discrete Probability (4) Permutations, combinations, generating functions, recurrence relations, inclusion-exclusion principle, Polya's theorem, Hall's theorem; planar graphs, Euler graphs, Hamil- tonian graphs, coloring problems; independence numbers, cov- ering numbers. Textbook: No Text Required. This course will be taught by Professor Vazirani. Lecture 1 is scheduled to meet TuTh from 11-12:30 pm in 70 Evans Hall. CS 184 Foundations of Computer Graphics (4) An introduction to the principles of computer graphics. A comparison of various display devices. Two-dimensional and three-dimensional transformations such as rotation, scaling and translation, and their matrix representations. Homogeneous coordinates and projective transformations including several formulations for perspective projections. Algorithms for clipping, hidden surface removal, and antialiasing. Lighting models for reflection, refraction and transparency. Mathematical techniques for curve and surface representation. Textbook: Foley,Van Dam, Feiner, Hughes, Phillips, "Introduction to Computer Graphics", Addison Wesley (required) This course will be taught by Professor Se'quin. The lecture 1 is scheduled to meet TuTh from 12:30-2 pm in 141 Giannini. CS 186 Introduction to Database Systems (4) Introduction to data base systems, access methods, file systems to facilitate data access. Hierarchical, network and relational models of data, query languages for each model, subschemas and views, updates to alternate represen- tations, protection, high level interfaces such as query by example, report writers, introduction to transaction pro- cessing. Data system implementation to be done as a term project. Textbook: Korth, "Database System Concepts", 2nd ed., McGraw Hill (recommended) Date, "An Introduction to Database Systems", 5th ed., Addison Wesley (recommended) This course will be taught by Professor Wang. Lecture 1 is scheduled to meet on TuTh from 5-6:30 pm in 101 Moffitt. CS 188 Introduction to Artificial Intelligence and Natural Language Processing (4) Basic ideas and techniques underlying the design of intelligent computer systems. Topics include heuristic search, problem solving, game playing, knowledge representa- tion, logical inference, planning, reasoning under uncer- tainty, expert systems, learning, perception, language understanding, Textbook: Steele, "Common Lisp: The Language", 2nd ed., Prentice Hall (required) Wilensky, "Common Lispcraft", Norton and Company (recom- mended) This course will be taught by Professor Minton. Lecture 1 is scheduled to meet on TuTh from 12:30-2 pm in 308 Le Conte. CS H196 Honors Seminar for Computer Science Majors (3) Study in-depth of several topics in computer Science to be chosen by the instructor. Students will assess current literature in the topics and present critiques to the class. Each student will carry out a project. No topic description from Professor Kahan as of 1/7/94. Textbooks: No text required This course will be taught by Professor Kahan. Lecture 1 is scheduled to meet on MWF from 3-4 pm in 75 Evans Hall. CS 250 VLSI Systems Design (4) Unified top-down and bottom-up design of integrated circuits and systems concentrating on architectural and topological issues. VLSI architectures, systolic arrays, self-timed systems. Trends in VLSI development. Physical limits. Tradeoffs in custom-design, standard cells, gate arrays. VLSI design tools. Textbooks: Weste and Eshraghian, "Principles of CMOS VLSI Design (A Systems Perspective)", 2nd ed., Addison Wesley (required) This course will be taught by Lecturer Lazzaro. Lecture 1 is scheduled to meet on TuTh from 2-3:30 pm in 3 Evans Hall. CS 252 Graduate Computer Architecture (4) Graduate survey of contemporary computer organizations covering: early systems, CPU design, instruction sets, con- trol, processors, busses, ALU, memory, I/O interfaces, con- nection networks, virtual memory, pipelined computers, mul- tiprocessors, and case studies. Term paper or project is required. Textbook: Hennessy and Patterson, "Computer Architecture: A Quantita- tive Approach", Morgan & Kaufmann (required) Johnson, "Superscalar Microprocessor Design", Prentice Hall (required) This course will be taught by Professor Culler. Lecture 1 is scheduled to meet on MWF from 11-12 pm in 203 McLaughlin. CS 253 Software Engineering and Artificial Intelligence (1) Software Development Methodologies, emphasizing the basic ideas and discipline of software engineering and their comparative evaluation. Rapid Prototyping, Software Reuse and Automated Generation of Software. Software Design Methods. Object-oriented design and programming. Testing and validation. Software Reliability theory. Software Metrics and models. Software Tools and their issues. Software maintenance. Application of AI techniques. Text- books: Sommerville, Ian, "Software Engineering", 4th ed., Addison Wesley (required) Von Mayrhauser, "Software Engineering: Methods and Manage- ment", Academic Press (required) This course will be taught by Professor Ramamoorthy. Lec- ture 1 is scheduled to meet on MW from 4-6 pm in 329 Le Conte. CS 262 Advanced Topics in Operating Systems (4) Graduate survey of operating systems covering: early systems, virtual memory, protection, synchronization, deadlock, process management, scheduling, input/output, file systems, virtual machines, performance analysis, software engineering, user interfaces, distributed systems, networks, current operating systems, case studies. Term paper or pro- ject required. Textbook: No Text Required. This course will be taught by Professor Cabrera. Lecture 1 is scheduled to meet on M from 1-4 pm in 608-7 Evans Hall. CS 263 Design of Programming Languages (1) Selected topics from: analysis, comparison, and design of programming languages, formal description of syntax and semantics, advanced programming techniques, structured pro- gramming, debugging, verification of programs and compilers, and proofs of correctness. Textbooks: No Text Required. This course will be taught by Professor Yelick. Lecture 1 is scheduled to meet on WF from 1-2:30 pm in 236 Evans Hall. CS 266 Introduction to System Performance Analysis (1) Performance indices. Evaluation techniques. Measure- ment: instrumentation, design of experiments, interpretation of results. Simulation modeling: simulator design, model calibration , statistical analysis of output data. Intro- duction to analytic modeling. Workload characterization. Tuning, procurement, and capacity planning application. Program performance evaluation. File and I/O system optimi- zation. CPU Scheduling and architecture performance analysis. Textbooks: Jain, "Art of Computer System Performance Analysis", Wiley (required) This course will be taught by Professor Ferrari. Lecture 1 is scheduled to meet on TuTh from 2:00-3:30 pm in 87 Evans Hall. CS 267 Applications of Parallel Computers (1) Models of parallel programming. Fundamental algorithms for linear algebra, sorting, FFT, etc. Survey of parallel machines and machine structures. Exiting parallel program- ming languages, vectorizing compilers, environments, l.sparies and toolboxes. Data partitioning techniques. Techniques for synchronization and load balancing. Detailed study and algorithm program development of medium sized applications. Possible candidate applications include fin- ite element methods, solution of different equations, cir- cuit simulation, n-body simulation, database searching, applications in computer vision, graphics and other. Text- books: No Text Required. This course will be taught by Professor Demmel. Lecture 1 is scheduled to meet on WF from 2:30-4 pm in Sibley Audito- rium. CS 268 Computer Networks (3) Distributed systems, their notivations, applications, and organization. The network component. Network architec- tures. Local and long-haul networks, technologies, and topologies. Data link, network, and transport protocols. Point-to-point and broadcast networks. Routing and conges- tion control. Higher-level protocols. Naming. Internetworking. Examples and case studies. Textbooks: Tanenbaum, "Computer Networks", Prentice Hall (required) This course will be taught by Professor Ferrari. Lecture 1 is scheduled to meet on TuTh from 9:30-11 am in 289 Cory Hall. CS 270 Combinatorial algorithms and Data Structures (3) Design and analysis of efficient algorithms for com- binatorial problems. Network flow theory, matching theory, matroid theory; augmenting path algorithms;branch-and-bound algorithms; data structure techniques for efficient imple- mentation of combinatorial algorithms; analysis of data structures; applications of data structure techniques to sorting, searching and geometric problems. Textbooks: Tarjan, "Data Structures and Network Algorithms", SIAM (required) This course will be taught by Professor Luby. Lecture 1 is scheduled to meet on TuTh from 3:30-5 pm in 2 Evans Hall. CS 271 Randomness and Computation (3) Computational applications of randomness and computa- tional theories of randomness. Approximate counting and uniform generation of combinatorial objects, rapid conver- gence of random walks on expander graphs, explicit construc- tion of expander graphs, randomized reductions, Kolmogorov complexity, pseudo-random number generation, semi-random sources. Textbooks: No Text Required. This course will be taught by Professor Karp. Lecture 1 is scheduled to meet on TuTh from 9:30-11 am in 75 Evans Hall. CS 273 Foundations of Parallel Computation (3) Fundamental theoretical issues in designing parallel algorithms and architectures. Shared memory models of parallel computation. Parallel algorithms for linear alge- bra, sorting, Fourier Transform, recurrence evaluation, and graph problems. Interconnection networks based models. Algorithm design techniques for networks like hypercubes, shuffle-exchanges, threes, meshes and butterfly networks. Systolic arrays and techniques for generating them. Message routing. Textbooks: Leighton, "Introduction to Parallel Algorithms and Architectures", Morgan Kaufman (required) Ja'Ja', "An Introduction to Parallel Algorithms", Addison Wesley (recommended) This course will be taught by Professor Ranade. Lecture 1 is scheduled to meet on TuTh from 11-12:30 pm in 85 Evans Hall. CS 274 Computational Geometry (3) Algebraic algorithms for integers, matrices and polyno- mials. Solution of polynomial systems. Decision algorithms for theories of the real and complex numbers. Algebraic analogues of the P versus NP question. Geometry of real algebraic sets. Universal algorithms for polynomial ideals. Textbooks: Mulmuley, "Geometry: An Introduction through Randomized Algorithms", Prentice Hall (recommended) This course will be taught by Professor Seidel. Lecture 1 is scheduled to meet on TuTh from 12:30-2 pm in 247 Cory Hall. CS 280 Computer Vision (3) Paradigms for computational vision. Relation to human visual perception. Mathematical techniques for representing and reasoning, with curves, surfaces and volumes. Illumina- tion and reflectance models. Color perception. Image seg- mentation and aggregation. methods for bottom-up three dimensional shape recovery: Line drawing analysis, stereo, shading, motion, texture. use of object models for predic- tion and recognition. Textbooks: Horn, "Robot Vision", McGraw Hill (required) This course will be taught by Professor Malik. Lecture 1 is scheduled to meet on TuTh from 9:30-11 am in 87 Evans Hall. CS 283 Programming Technology for Artificial Intelligence and Symbol (3) Advanced LISP programming, AI programming languages, indexing, discrimination nets, unification pattern matching, production systems, predicate-calculus based systems, frame-based systems, representations for mathematical forms, symbolic and algebraic manipulation techniques. Textbooks: Norvig, "Paradigms AI Programming", Morgan Kaufman (required) This course will be taught by Professor Fateman. Lecture 1 is scheduled to meet on MWF from 9-10 am in 85 Evans Hall. CS 284 Computer-Aided Geometric Design and Modeling (3) Mathematical techniques for curve and surface represen- tation, including: Hermite interpolation, interpolatory splines, tensed splines, Bezier curves and surfaces, B- splines, Beta-splines, Coons patches, tensor product forms, as well as subdivision end/bounding conditions, and computa- tional considerations. Textbooks: Bartels, "Introduction to the use of Splines...Graphics", Morgan Kaufman (required) This course will be taught by Professor Barsky. Lecture 1 is scheduled to meet on TuTh from 3:30-5 pm in 608-7 Evans Hall. CS 286 Implementation of Data Base Systems (3) Implementation of data base systems on modern hardware systems. Considerations concerning operating system design, including buffering, page size, prefetching, etc. Query processing algorithms, design of crash recovery and con- currency control systems. Implementation of distributed data bases and data base machines. Textbooks: Stonebraker, "Reading in Database Systems", Morgan Kaufmann, (required) This course will be taught by Professor Stonebraker. Lec- ture 1 is scheduled to meet on MWF from 10-11 am in 2 Evans Hall. CS 289 Knowledge representation and Use in Computers (3) Fundamentals of knowledge representation and use in computers. Predicate calculus, non-monotonic logics, proba- bility and decision theory, and their use in capturing com- monsense and expert knowledge. Theorem-provers, planning systems belief networks and influence diagrams as reasoning methods. Integrated architectures for intelligent agents. A project will be undertaken. Textbooks: Davis, "Representing commonsense Knowledge", Morgan Kaufmann (required) Genesereth and Nilsson, "Logical Foundations of AI", Morgan Kaufmann (required) Pearl, "Probabilistic Reasoning in Intelligent Systems", Morgan Kaufmann (required) This course will be taught by Professor Russell. Lecture 1 is scheduled to meet on TuTh from 2-3:30 pm in B-1 Northgate. Updated on January 28, 1994