Jump to content

Courses in Engineering: Computer Science (ECS)

Lower Division

10. Introduction to Programming (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: two years of high school algebra. Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, Electrical Engineering Majors only. A hands-on introduction to computation, through programming and problem solving. Two units of credit for students who have taken course 12 or Engineering 6; not open to students who have completed course 30. GE credit: SciEng | QL, SE, SL.—F, W, S. (F, W, S.) Eiselt, Max

12. Introduction to Media Computation (4)

Lecture—3 hours; discussion/laboratory—1 hour. Introduction to key computational ideas necessary to understand and produce digital media. Fundamentals of programming are covered as well as analysis of how media are represented and transmitted in digital form. Aimed primarily at non-computer science students. Two units of credit for students that have taken course 10 or course 30 or Engineering 6. (Same course as Cinema and Technocultural Studies 012.) GE credit: ArtHum or SciEng | AH or SE, VL.—W. (W.) Neff

15. Introduction to Computers (4)

Lecture—3 hours; laboratory—3 hours. Not open for credit to students who have completed course 30. Computer uses in modern society. Emphasis on uses in nonscientific disciplines. Includes word processing, spreadsheets, web-page creation, elementary programming, basic computer organization, the Internet, the uses of computers and their influence on society. Course not intended for CS or CSE majors. Only two units of credit allowed to students who have completed Plant Science 21. GE credit: SciEng, Wrt | QL, SE, WE.—F, W. (F, W.) Butner, Eiselt

20. Discrete Mathematics for Computer Science (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: grade of C- or better in Mathematics 16A, 17A or 21A. Discrete mathematics of particular utility to computer science. Proofs by induction. Propositional and first-order logic. Sets, functions, and relations. Big-O and related notations. Recursion and solutions of recurrence relations. Combinatorics. Probability on finite probability spaces. Graph theory. GE credit: SciEng | QL, SE.—F, W, S. (F, W, S.) Koehl, D'Souza, Filkov

30. Programming and Problem Solving (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: Mathematics 16A or 21A (may be taken concurrently); prior experience with basic programming concepts (variable, loops, conditional statements) recommended. Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, and Electrical Engineering Majors only. Introduction to computers and computer programming, algorithm design, and debugging. Elements of good programming style. Programming in the C language. Use of basic UNIX tools. GE credit: SciEng | QL, SE.—F, W, S. (F, W, S.) Butner, Gysel

40. Software Development and Object-Oriented Programming (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 30 or the equivalent with a grade of C- or better. Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, and Electrical Engineering Majors only. Elements of program design, style, documentation, efficiency. Methods for debugging and verification. Operating system tools. Principles and use of object-oriented programming in C++. Basic data structures and their use. GE credit: SciEng | SE, VL.—F, W, S. (F, W, S.) Chen, Davis, Gygi

50. Computer Organization and Machine-Dependent Programming (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: grade of C- or better in course 40. Pass One open to Computer Science, Computer Science Engineering, and Computer Engineering Majors only. Comparative study of different hardware architectures via programming in the assembly languages of various machines. Role of system software in producing an abstract machine. Introduction to I/O devices and programming. Only one unit of credit allowed for students who have taken Electrical and Computer Engineering 70. GE credit: SciEng | SE.—F, W, S. (F, W, S.) Butner, Eiselt

60. Data Structures and Programming (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: courses 20, 40 (C++ and UNIX); grade of C- or better in each course. Design and analysis of data structures for a variety of applications. Trees, heaps, searching, sorting, hashing, graphs. Extensive programming. GE credit: SciEng | QL, SE.—F, W, S. (F, W, S.) Davis

89A. Special Topics in Computer Science; Computer Science Theory (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Computer Science Theory. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89B. Special Topics in Computer Science; Architecture (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Architecture. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89C. Special Topics in Computer Science; Programming Languages and Compilers (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Programming Languages and Compilers. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89D. Special Topics in Computer Science; Operating Systems (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Operating Systems. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89E. Special Topics in Computer Science; Software Engineering (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Software Engineering. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89F. Special Topics in Computer Science; Databases (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Databases. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89G. Special Topics in Computer Science; Artificial Intelligence (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Artificial Intelligence. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89H. Special Topics in Computer Science; Computer Graphics (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Computer Graphics. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89I. Special Topics in Computer Science; Networks (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Programming Networks. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89J. Special Topics in Computer Science; Computer-Aided Design (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Computer-Aided Design. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89K. Special Topics in Computer Science; Scientific Computing (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Scientific Computing. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

89L. Special Topics in Computer Science; Computer Science (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topics in Computer Science. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

92. Internship in Computer Science (1-5)

Internship. Prerequisite: lower division standing; project approval prior to period of internship. Supervised work experience in computer science. May be repeated for credit. (P/NP grading only.)

98. Directed Group Study (1-5)

(P/NP grading only.)

98F. Student Facilitated Course (1-4)

Prerequisite: consent of instructor. Student facilitated course intended primarily for lower division students. (P/NP grading only.) Offered irregularly.

99. Special Study for Lower Division Students (1-5)

(P/NP grading only.)

Upper Division

120. Theory of Computation (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 20 or Mathematics 108. Pass One open to Computer Science, Computer Science Engineering, and Computer Engineering Majors only. Fundamental ideas in the theory of computation, including formal languages, computability and complexity. Reducibility among computational problems. GE credit: SciEng | QL, SE.—F, W, S. (F, W, S.) Doty, Gysel

122A. Algorithm Design and Analysis (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: courses 20, 60. Pass One open to Computer Science, Computer Science Engineering, and Computer Engineering Majors only. Complexity of algorithms, bounds on complexity, analysis methods. Searching, sorting, pattern matching, graph algorithms. Algorithm design techniques: divide-conquer, greedy, dynamic programming. Approximation methods. NP-complete problems. GE credit: SciEng | SE.—F, W, S. (F, W, S.) Bai, Gysel, Filkov

122B. Algorithm Design and Analysis (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 122A. Pass One open to Computer Science, Computer Science Engineering, and Computer Engineering Majors only. Theory and practice of hard problems, and problems with complex algorithm solutions. NP-completeness, approximation algorithms, randomized algorithms, dynamic programming and branch and bound. Theoretical analysis, implementation and practical evaluations. Examples from parallel, string, graph, and geometric algorithms. GE credit: SciEng | QL, SE.—F. (F.) Gysel

124. Theory and Practice of Bioinformatics (4)

Lecture—3 hours; laboratory—1 hour. Prerequisite: course 10 or 30 or Engineering 6; Statistics 12 or 13 or 32 or 100 or 131A or Mathematics 135A; Biological Science 2A or Molecular and Cellular Biology 10. Pass One open to Computer Science, Computer Science Engineering, and Biotechnology majors only. Fundamental biological, mathematical and algorithmic models underlying bioinformatics and systems biology; sequence analysis, database search, genome annotation, clustering and classification, functional gene networks, regulatory network inference, phylogenetic trees, applications of common bioinformatics tools in molecular biology and genetics. GE credit: SciEng | SE.—F. (F.) Tagkopoulos

127. Cryptography (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 20 or Mathematics 108. Pass One open to Computer Science and Computer Science Engineering Majors only. Introduction to the theory and practice of cryptographic techniques used in computer security. Encryption (secret-key and public-key), message authentication, digital signatures, entity authentication, key distribution, and other cryptographic protocols. The social context of cryptography. GE credit: SciEng | QL, SE, SL.—Franklin, Rogaway

129. Computational Structural Bioinformatics (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: college level programming course; Biological Science 2A or Molecular and Cellular Biology 10. Pass One open to Computer Science, Computer Science Engineering, and Biotechnology majors only. Fundamental biological, chemical and algorithmic models underlying computational structural biology; protein structure and nucleic acids structure; comparison of protein structures; protein structure prediction; molecular simulations; databases and online services in computational structural biology. GE credit: SciEng | SE.—F. (F.) Koehl

130. Scientific Computation (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 30 or Engineering 6; Mathematics 22A or Mathematics 67. Pass One open to Computer Science and Computer Science Engineering Majors only. Matrix-vector approach using MATLAB for floating-point arithmetic, error analysis, data interpolation, least squares data fitting, quadrature, zeros, optimization and matrix eigenvalues and singular values. Parallel computing for matrix operations and essential matrix factorizations. GE credit: SciEng | SE.—W. (W.) Bai

132. Probability and Statistical Modeling for Computer Science (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 40; course 50 or Engineering Electrical and Computer 70; Mathematics 21C; Mathematics 22A or Mathematics 67. Pass One open to Computer Science and Computer Science Engineering Majors only. Univariate and multivariate distributions. Estimation and model building. Markov/Hidden Markov models. Applications to data mining, networks, security, software engineering and bioinformatics. GE credit: SciEng | QL, SE.—F, W. (F, W.) Ghosal, Matloff

140A. Programming Languages (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 50 or Electrical Computer Engineering 70; course 60. Pass One open to Computer Science, Computer Science Engineering, and Computer Engineering Majors only. Syntactic definition of programming languages. Introduction to programming language features including variables, data types, data abstraction, object-orientedness, scoping, parameter disciplines, exception handling. Non-imperative programming languages. Comparative study of several high-level programming languages. GE credit: SciEng | SE.—F, W,S. (F, W.) Olsson, Nitta, Su

140B. Programming Languages (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 140A. Pass One open to Computer Science and Computer Science Engineering Majors only. Continuation of programming language principles. Further study of programming language paradigms such as functional and logic; additional programming language paradigms such as concurrent (parallel); key implementation issues for those paradigms; and programming language semantics. Offered in alternate years. GE credit: SciEng | SE.Levitt, Olsson, Pandey

142. Compilers (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 20, 140A; course 120 recommended. Pass One open to Computer Science and Computer Science Engineering Majors only. Principles and techniques of lexical analysis, parsing, semantic analysis, code generation, and code optimization. Implementation of compilers. GE credit: SciEng | SE.Pandey, Su

145. Scripting Languages and Their Applications (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: programming skill at the level of course 60. Pass One open to Computer Science and Computer Science Engineering Majors only. Goals and philosophy of scripting languages, with Python and R as prime examples. Applications include networking, data analysis and display, and graphical user interfaces (GUIs). Offered in alternate years. GE credit: SciEng | SE.—F. (F.) Matloff

150. Operating Systems and System Programming (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 40; course 50 or Electrical and Computer Engineering 170. Pass One open to Computer Science, Computer Science Engineering, and Computer Engineering Majors only. Basic concepts of operating systems and system programming. Processes and interprocess communication/synchronization; virtual memory, program loading and linking; file and I/O subsystems; utility programs. Study of a real operating system. GE credit: SciEng | SE.—W, S. (W, S.) Levitt, Wu

152A. Computer Networks (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60; course 132 or Electrical and Computer Engineering 161 or Mathematics 135A or Statistics 131A, or Statistics 120 or Statistics 32. Pass One open to Computer Science and Computer Science Engineering Majors only. Overview of computer networks, TCP/IP protocol suite, computer-networking applications and protocols, transport-layer protocols, network architectures, Internet Protocol (IP), routing, link-layer protocols, local area and wireless networks, medium access control, physical aspects of data transmission, and network-performance analysis. Only 2 units of credit for students who have taken course 157. (Same course as Electrical and Computer Engineering 173A.) GE credit: SciEng | SE.—F, W, S. (F, W, S.) Ghosal, Mukherjee

152B. Computer Networks (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 152A or Electrical and Computer Engineering 173A. Pass One open to Computer Science and Computer Science Engineering Majors only. TCP/IP protocol suite, computer networking applications, clientserver and peer-to-peer architectures, application-layer protocols, transport-layer protocols, transport-layer interfaces, sockets, network programming, remote procedure calls, and network management. GE credit: SciEng | SE.—Ghosal, Matloff, Mohapatra, Mukherjee

152C. Advanced Topics in Computer Networks (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 152A or Electrical and Computer Engineering 173A. Advanced topics in computer networks, wireless networks, multimedia networking, traffic analysis and modeling, network design and management, network simulation and performance analysis, and design projects in communication networks. (Same course as Electrical and Computer Engineering 173B.) Offered in alternate years. GE credit: SciEng | SE.Chuah, Liu, Mukherjee

153. Computer Security (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: courses 150, 152A. Pass One open to Computer Science and Computer Science Engineering Majors only. Principles, mechanisms, and implementation of computer security and data protection. Policy, encryption and authentication, access control, and integrity models and mechanisms; network security; secure systems; programming and vulnerabilities analysis. Study of an existing operating system. Not open for credit to students who have completed course 155. GE credit: SciEng | SE.—F. (F.) Bishop

154A. Computer Architecture (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 50 or Electrical and Computer Engineering 70. Introduction to digital design. Interfacing of devices for I/O, memory and memory management. Input/output programming, via wait loops, hardware interrupts and calls to operating system services. Hardware support for operating systems software. GE credit: SciEng | SE.—F, W. (F, W.) Butner, Davis

154B. Computer Architecture (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 154A or both Electrical and Computer Engineering 170 and Electrical and Computer Engineering 180A. Pass One open to Computer Science and Computer Science Engineering Majors only. Hardwired and microprogrammed CPU design. Memory hierarchies. Uniprocessor performance analysis under varying program mixes. Introduction to pipelining and multiprocessors. GE credit: SciEng | SE.—W, S. (W, S.) Farrens

158. Programming on Parallel Architectures (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: courses 150 and 154B recommended. Pass One open to Computer Science and Computer Science Engineering Majors only. Techniques for software development using the shared-memory and message-passing paradigms, on parallel architectures and networks of workstations. Locks, barriers, and other techniques for synchronization. Introduction to parallel algorithms. GE credit: SciEng | SE.—F. (F.) Gygi

160. Software Engineering (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 140A. Pass One open to Computer Science and Computer Science Engineering Majors only. Requirements, specification, design, implementation, testing, and verification of large software systems. Study and use of software engineering methodologies. Team programming. GE credit: SciEng | SE.—F, W. (F, W.) Nitta

163. Information Interfaces (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60. Pass One open to Computer Science and Computer Science Engineering Majors only. Art and science of information visualization and interfaces for information systems. Design principles of human-computer interaction. Visual display and navigation of nonspatial and higher dimensional data. Implementations, performance issues, tradeoffs, and evaluation of interactive information systems. GE credit: SciEng | SE, VL.—W. (W.) Ma

165A. Database Systems (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60. Pass One open to Computer Science and Computer Science Engineering Majors only. Database modeling and design (E/R model, relational model), relational algebra, query languages (SQL), file and index structures, query processing, transaction management. GE credit: SciEng | SE.—F. (F.) Nitta

165B. Database Systems (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 165A. Pass One open to Computer Science and Computer Science Engineering Majors only. Data modeling (object-relational, graph-based, spatiotemporal models). Querying semistructured data (XML). Database theory (normalization, integration, provenance). Database programming (stored procedures, embedded SQL, web programming). Advanced topics (data warehousing, parallel data processing). GE credit: SciEng | SE.—S. (S.) 

170. Introduction to Artificial Intelligence (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60.Pass One open to Computer Science and Computer Science Engineering Majors only. Design and implementation of intelligent computer systems. Knowledge representation and organization. Memory and inference. Problem solving. Natural language processing. GE credit: SciEng | SE.—W. (W.) Davidson

171. Machine Learning (4)

Lecture—3 hours; discussion—1 hour. Pass One open to Computer Science and Computer Science Engineering Majors only. Introduction to machine learning. Supervised and unsupervised learning, including classification, dimensionality reduction, regression and clustering using modern machine learning methods. Applications of machine learning to other fields. GE credit: SciEng | SE.—F. (F.) Tagkopoulos

173. Image Processing and Analysis (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60; Mathematics 67 or C- or better in Mathematics 22A. Pass One open to Computer Science and Computer Science Engineering Majors only. Techniques for automated extraction of high-level information from images generated by cameras, three-dimensional surface sensors, and medical devices. Typical applications include detection of objects in various types of images and describing populations of biological specimens appearing in medical imagery. GE credit: SciEng | SE.—S. (S.) 

174. Computer Vision (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60; Mathematics 22A or Mathematics 67. Pass One open to Computer Science and Computer Science and Engineering Majors only. Computer vision is the study of enabling machines to "see" the visual world (e.g., understand images and videos). Explores several fundamental topics in the area, including feature detection, grouping and segmentation, and recognition. GE credit: SciEng | SE.—S. (S.) Lee

175. Computer Graphics (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 60; Mathematics 22A or Mathematics 67. Pass One open to Computer Science and Computer Science Engineering Majors only. Principles of computer graphics, with a focus on interactive systems. Current graphics hardware, elementary operations in two-and threedimensional space, geometric transformations, camera models and interaction, graphics system design, standard graphics APIs, individual projects. GE credit: SciEng | SE, VL.—F, W. (F, W.) Hamann, Joy

177. Scientific Visualization (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 175. Pass One open to Computer Science and Computer Science Engineering Majors only. Computer graphics techniques for generating images of various types of measured or computer-simulated data. Typical applications for these graphics techniques include study of air flows around car bodies, medical data, and molecular structures. GE credit: SciEng | SE, VL.—W. (W.) Max

178. Geometric Modeling (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 175. Pass One open to Computer Science and Computer Science Engineering Majors only. Interactive graphics techniques for defining and manipulating geometrical shapes used in computer animation, car body design, aircraft design, and architectural design. GE credit: SciEng | SE, VL.—S. (S.) Hamann

188. Ethics in an Age of Technology (4)

Lecture/discussion—4 hours. Prerequisite: upper division standing. Pass One open to Computer Science and Computer Science Engineering Majors only. Foundations of ethics. Views of technology. Technology and human values. Costs and benefits of technology. Character of technological change. Social context of work in computer science and engineering. GE credit: SocSci, Wrt | SS, SL, WE.—F, W, S. (F, W, S.) Davidson, Eiselt, Gusfield, Koehl, Matloff, Rogaway

189A. Special Topics in Computer Science; Computer Science Theory (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Science Theory. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189B. Special Topics in Computer Science; Architecture (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Architecture. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189C. Special Topics in Computer Science; Programming Languages and Compilers (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Programming Languages and Compilers. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189D. Special Topics in Computer Science; Operating Systems (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Operating Systems. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189E. Special Topics in Computer Science; Software Engineering (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Software Engineering. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189F. Special Topics in Computer Science; Databases (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Databases. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189G. Special Topics in Computer Science; Artificial Intelligence (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Artificial Intelligence. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189H. Special Topics in Computer Science; Computer Graphics (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Graphics. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189I. Special Topics in Computer Science; Networks (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Networks. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189J. Special Topics in Computer Science; Computer-Aided Design (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer-Aided Design. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189K. Special Topics in Computer Science; Scientific Computing (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Scientific Computing. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189L. Special Topics in Computer Science; Computer Science (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Science. May be repeated for credit when topic differs. GE credit: SciEng | SE.—F, W, S. (F, W, S.)

189M. Special Topics in Computer Science; Computer Security (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Security. May be repeated for credit when topic differs. Offered irregularly.

189N. Special Topics in Computer Science; Bioinformatics and Computational Biology (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Bioinformatics and Computational Biology. May be repeated for credit when topic differs. Offered irregularly.

190C. Research Group Conferences in Computer Science (1)

Discussion—1 hour. Prerequisite: upper division standing in Computer Science and Engineering; consent of instructor. Research group conferences. May be repeated for credit. (P/NP grading only.)—F, W, S. (F, W, S.)

190X. Senior Seminar (2)

Seminar—2 hours. Prerequisite: senior standing. Examination of a special topic in a small group setting.

192. Internship in Computer Science (1-5)

Internship. Prerequisite: completion of a minimum of 84 units; project approval prior to period of internship. Supervised work experience in computer science. May be repeated for credit. (P/NP grading only.)

193A. Senior Design Project (2)

Lecture—1 hour; laboratory—3 hours. Prerequisite: course 160 recommended (may be concurrent) or consent of instructor. Pass One open to Computer Science Engineering Majors only; Pass Two open to Computer Science and Computer Science Engineering Majors only. Team design project involving analysis, design, implementation and evaluation of a large-scale problem involving computer and computational systems. The project is supervised by a faculty member. Students must take course 193A and 193B to receive credit. (Deferred grading only, pending completion of sequence.) GE credit: SciEng | SE.—W. (W.) Liu

193B. Senior Design Project (2)

Lecture—1 hour; laboratory—3 hours. Prerequisite: IP grade in course 193A. Pass One open to Computer Science Engineering Majors only; Pass Two open to Computer Science and Computer Science Engineering Majors only. Team design project involving analysis, design, implementation and evaluation of a large-scale problem involving computer and computational systems. The project is supervised by a faculty member. Students must take course 193A and 193B to receive credit. (Deferred grading only, pending completion of sequence.) GE credit: SciEng | SE.—S. (S.) Liu

197T. Tutoring in Computer Science (1-3)

Discussion—1 hour; laboratory/discussion—3-6 hours. Prerequisite: consent of instructor. Restricted to upper-division standing. Tutoring in computer science courses, especially introductory courses. (P/NP grading only.)—F, W, S. (F, W, S.)

198. Directed Group Study (1-5)

Prerequisite: consent of instructor. (P/NP grading only.)

198F. Student Facilitated Course (1-4)

Prerequisite: consent of instructor. Student facilitated course intended primarily for upper division students. (P/NP grading only.) Offered irregularly.

199. Special Study for Advanced Undergraduates (1-5)

(P/NP grading only.)

199FA. Student Facilitated Course Development (1-4)

Prerequisite: course 3 or University Writing Program 1; consent of instructor. STU FAC. Under the supervision of a faculty member, an undergraduate student plans and develops the course they will offer under 98F/198F. (P/N grading only.) Offered irregularly.

199FB. Student Facilitated Teaching (1-4)

Prerequisite: course 199FA; consent of instructor. STU FAC. Under the supervision of a faculty member, an undergraduate student teaches a course under 98F/198F. (P/N grading only.) Offered irregularly.

The Graduate Program in Computer Science

Doctoral and Masters degrees in Computer Science are offered through the interdisciplinary Graduate Group in Computer Science. Please see http://www.cs.ucdavis.edu and Computer Science (A Graduate Group), for a descrip­tion of graduate education offerings, requirements, group faculty and research foci.

Graduate

201A. Advanced Computer Architecture (4)

Lecture—3 hours; term paper. Prerequisite: course 154B or Electrical and Computer Engineering 170; course 150. Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Modern research topics and methods in computer architecture. Design implications of memory latency and bandwidth limitations. Performance enhancement via within-processor and between-processor parallelism. Term project involving student-proposed extensions/modifications of work in the research literature. Not open for credit to students who have completed course 250A.—F. (F.) Farrens

201B. High-Performance Uniprocessing (4)

Lecture—3 hours; term paper. Prerequisite: course 201A. Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Maximizing uniprocessor performance. Barriers to high performance; solutions to the problems; historical and current processor designs. Not open for credit to students who have completed course 250B. Offered in alternate years.—(W.) Farrens

201C. Parallel Architectures (4)

Lecture—3 hours; project—1 hour. Prerequisite: course 201A. Evolution of parallel architectures from special-purpose machines to commodity servers. Emphasis on recent machines and applications that drive them. Not open for credit to students who have completed course 250C.

203. Novel Computing Technologies (4)

Lecture—3 hours; project—1 hour. Prerequisite: course 201A. Pass One and Pass Two open to Graduate Students in Computer Science only. Novel computing technologies that could revolutionize computer architecture. Quantum computing technologies, including algorithms, devices, and fault tolerance. A survey of other unconventional technologies including nanoscale electronics, MEMS devices, biological devices, and nanotechnology. Offered in alternate years.—(W.) Chong

220. Theory of Computation (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 120, 122A. Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Time and space complexity classes. Reductions, completeness, and the role of randomness. Logic and undecidability.—W. (W.) Doty

221. Computational Methods in Systems and Synthetic Biology (4)

Lecture—3 hours; discussion—1 hour. Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Computational methods related to systems and synthetic biology. An overview of machine learning techniques related to the analysis of biological data, biological networks. Predictive modeling and simulation of biological systems. Topics on biological circuit construction.—F. (F.) Tagkopoulos

222A. Design and Analysis of Algorithms (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 122A; Statistics 31A recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Techniques for designing efficient algorithms, analyzing their complexity and applying these algorithms to a broad range of applications. Methods for recognizing and dealing with difficult problems.—S. (F.) Gysel

222B. Advanced Design and Analysis of Algorithms (4)

Lecture—3 hours; project—1 hour. Prerequisite: course 222A. Pass One and Pass Two open to Graduate Students in Computer Science only. Advanced topics in complexity theory. Problem classification. The classes P, NP, P-space, co-NP. Matching and network flow algorithms. Matrix multiplication. Approximation algorithms.—(W.) Gusfield, Franklin, Martel, Rogaway

223. Parallel Algorithms (4)

Laboratory/discussion—3 hours; project—1 hour. Prerequisite: course 222A. Pass One and Pass Two open to Graduate Students in Computer Science only. Models of parallel computer systems including PRAMs, loosely coupled systems and interconnection networks. Parallel algorithms for classical problems and general techniques for their design and analysis. Proving lower bounds on parallel computation in several settings. Offered in alternate years.—(F.) Amenta, Martel

224. String Algorithms and Applications in Computational Biology (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 122A. Pass One and Pass Two open to Graduate Students in Computer Science only. Algorithms that operate on strings. Pattern matching, sets of patterns, regular expression pattern matching, suffix trees and applications, inexact similarity, parametric sequence alignment, applications to DNA sequencing and protein database searching. Offered in alternate year.—(F.) Gusfield

225. Graph Theory (3)

Lecture—3 hours. Prerequisite: graduate standing in electrical engineering or computer science or consent of instructor. Pass One and Pass Two open to Graduate Students in Computer Science only. Fundamental concepts. Vector spaces and graphs. Planar graphs: Whitney's and Kuratowski's theorems. Topological parameters: packings and coverings. Connectivity: Menger's theorem. Hamilton graphs: Posa's and Chvatal's theorems. Graph factorization: Tutte's theorem. Graph coloring: Brooks; and Vizing's theorem.—S. (W.) Gusfield

226. Computational Geometry (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: courses 175, 222A. Pass One and Pass Two open to Graduate Students in Computer Science only. Mathematics of unstructured data. Algorithms for data structures such as Voronoi diagrams, oct-trees, and arrangements. Applications in computer graphics, concentrating on problems in three-dimensions. Offered in alternate years.—(S.) Amenta, Max

227. Modern Cryptography (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 220 or 222A. Pass One and Pass Two open to Graduate Students in Computer Science only. Modern cryptography as a discipline emphasizing formal definitions and proofs of security. One-way functions, pseudo-randomness, encryption, digital signatures, zero-knowledge, secure protocols. Offered in alternate years.—(W.) Rogaway

228. Cryptography for E-Commerce (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 222A. Pass One and Pass Two open to Graduate Students in Computer Science only. Cryptographic primitives and protocols of importance to e-commerce, present and future, including content distribution mechanisms, payment mechanisms, pricing mechanisms, anonymity and privacy mechanisms, fair exchange mechanisms. Offered in alternate years.—(W.) Franklin

229. Advanced Computational Structural Bioinformatics (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: graduate standing. Pass One and Pass Two open to Graduate Students in Computer Science only. Algorithmic problems in structural biology; protein structure classification; protein structure prediction (including comparative modeling and ab initio protein structure prediction); molecular simulations (molecular dynamics and Monte Carlo simulations). Offered in alternate years.—(W.) Koehl

230. Applied Numerical Linear Algebra (4)

Laboratory/discussion—3 hours; discussion—1 hour. Prerequisite: course 130 or Engineering Applied Science 209 or Mathematics 167. Pass One and Pass Two open to Graduate Students in Computer Science only. Numerical linear algebra (NLA) with emphasis on applications in engineered systems; matrix factorizations; perturbation and rounding error analyses of fundamental NLA algorithms.—S. (S.) Gygi

231. Large-Scale Scientific Computation (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 130. Pass One and Pass Two open to Graduate Students in Computer Science only. Algorithms and techniques for large-scale scientific computation, including basics for high performance computing, iterative methods, discrete approximation, fast Fourier transform, Poisson solvers, particle methods, spectral graph partition and its applications. Offered in alternate years.—(S.) Bai 

234. Computational Functional Genomics (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 124; graduate standing in Computer Science or Life Sciences. Pass One and Pass Two open to Graduate Students in Computer Science only. Bioinformatics methods for analysis and inference of functional relationships among genes using large-scale genomic data, including methods for integration of gene expression, promoter sequence, TF-DNA binding and other data, and approaches in modeling of biological networks.—(W.) Filkov

235A. Computer and Information Security (4)

Lecture—3 hours; project. Prerequisite: course 150; course 152A recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Modern topics in computer security, including: protection, access control, operating systems security, network security, applied cryptography, cryptographic protocols, secure programming practices, safe languages, mobile code, malware, privacy and anonymity, and case studies from real-world systems. Not open for credit to students who have taken course 235.—F. (F.) Chen

235B. Foundations of Computer and Information Security (4)

Lecture—3 hours; project. Prerequisite: course 235A; courses 120, 150 recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Theoretical foundations of methods used to protect data in computer and communication systems. Access control matrix and undecidability of security; policies; Bell-LaPadula, Biba, Chinese Wall models; non-interference and non-deducibility; information flow and the confinement problem. Not open for credit to students who have taken course 235.—W. (W.) Bishop

236. Computer Security: Intrusion Detection Based Approach (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 150; 153 recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Concepts of intrusion detection, anomaly detection based on machine learning, signature-based detection using pattern matching, automated response to attacks using artificial intelligence planning, tracing intruders based on principal component analysis, security policy languages. Offered in alternate years.—(S.) Levitt

240. Programming Languages (4)

Lecture—3 hours; discussion—1 hour. Prerequisites: courses 140A; 142. Pass One and Pass Two open to Graduate Students in Computer Science only. Advanced topics in programming languages, including formal syntax and semantics, the relation between formal semantics and verification, an introduction to the lambda calculus. Additional topics will include language design principles, alternative programming languages, in-depth semantic theory and models of language implementation.—W. (W.) Su

242. Translation of Programming Languages (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 240. Pass One and Pass Two open to Graduate Students in Computer Science only. Lexical analysis, parsing, storage management, symbol table design, semantic analysis and code generation. LR, LALR grammars. Compiler-compilers.—(S.) Pandey

243. Code Generation and Optimization (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 201A or Engineering Electrical and Computer 270. Pass One and Pass Two open to Graduate Students in Computer Science only. Compiler optimizations for performance, code size and power reduction. Topics include control- and data-flow analysis, redundancy elimination, loop and cache optimizations, register allocation, local and global instruction scheduling, and modulo scheduling.—(W.) Wilken

244. Principles of Concurrent Programming (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: courses 20; 150. Pass One and Pass Two open to Graduate Students in Computer Science only. Fundamental concepts and applications of concurrent programs; concurrent program verification and derivation; synchronization mechanisms in programming languages; distributed programming techniques; case studies of languages.—F. (F.) Olsson

247. Concurrent Programming Languages (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 140A, 150. Pass One and Pass Two open to Graduate Students in Computer Science only. Language design parameters. Models of parallel machines. Load balancing. Scalability. Portability. Efficiency measures. Design and implementation techniques for several classes of concurrent programming languages (such as object-oriented, functional, logic, and constraint programming languages).—(F.) Olsson, Pandey

251. Operating Systems (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 150. Pass One and Pass Two open to Graduate Students in Computer Science only. Models, design, implementation, performance evaluation in operating systems. Algorithms, internal architectures for single processor OS and distributed systems. Concurrency control, recovery, security. OS kernel-level programming. Special topics embedded systems, real-time system, device driver, NPU (Network Processor Unit).—S. (S.) Nitta

252. Computer Networks (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 152B. Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Internet protocol based computer networks applications, transport, network layer protocols. High speed LAN technologies: Ethernet, Asynchronous Transfer Mode (ATM). Delay models in data networks: analysis of multiaccess techniques in polling, ring, random access networks. Multimedia applications requirements and design.—(S.) Ghosal, Mukherjee, Mohapatra

253. Network Theory and Applications (4)

Lecture/discussion—4 hours. Prerequisite: Mathematics 22A; Mathematics 22B; Statistics 13 or 120; experience with computer software; or consent of instructor. Develops the mathematical theory underlying growth, structure and function of networks with applications to physical, social, biological and engineered systems. Topics include network growth, resilience, epidemiology, phase transitions, software and algorithms, routing and search control, cascading failures. (Same course as Mechanical & Aeronautical Engineering 253.) Offered in alternate years.—(S.) D'Souza

255. Resource Management in Wireless Communication Networks (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 252A. Advanced research issues in wireless communication networks, including multi-user diversity and cross-layer optimization, basic network information theory, MIMO systems and the impact on networks, and dynamics spectrum management. Offered in alternate years.—(S.) Liu

256. Performance Evaluation (4)

Lecture—3 hours; project—1 hour. Prerequisite: courses 20, 152A, 154A-B or Electrical and Computer Engineering 170, Statistics 131A; course 150 recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Use of simulation and queueing theory in computer and communication system design. Applications to processor scheduling, memory hierarchies; I/O systems; packet and circuit switched networks; fault-tolerance; computer networks applications. Not open for credit to students who have completed course 256A. Offered in alternate years.—(F, W.) Ghosal, Matloff, Mohapatra, Mukherjee

257. Mobile and Wireless Networks (4)

Lecture—3 hours; independent study. Prerequisite: course 252. Pass One and Pass Two open to Graduate Students in Computer Science only. Fundamental techniques in design of second generation wireless networks: cellular network and protocols, medium access techniques, handoff control, signaling and mobility management, wireless data works, Internet mobility and Personal Communication Services (PCS). Third generation wideband systems, novel technologies, adhoc networks. Offered in alternate years.—(F.) Ghosal, Mohapatra, Mukherjee

258. Networking Architecture and Resource Management (4)

Lecture—3 hours; project. Prerequisite: course 152A or Electrical & Computer Engineering 173A. Pass One and Pass Two open to Graduate Students in Computer Science and Electrical and Computer Engineering only. Concepts and design principles of computer networks. Network architectures, protocol mechanisms and implementation principles (transport/network/data-link layers), network algorithms, router mechanisms, design requirements of applications, network simulation, modeling and performance analysis. (Same course as Electrical & Computer Engineering 273.) Offered in alternate years.—W. (W.) Chuah, Mohapatra

259. Optical Networks (4)

Lecture—3 hours; independent study. Prerequisite: course 252. Pass One and Pass Two open to Graduate Students in Computer Science only. Optical networks. Enabling technologies. Multiplexing techniques. WDM. Broadcast networks. Wavelength-routed networks. Network architectures. Protocols. Network algorithms. Device-network interface. Optimization problems. Offered in alternate years.—(F.) Ghosal, Mukherjee

260. Software Engineering (4)

Lecture—3 hours; project. Prerequisite: course 142; course 160 recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Advanced techniques for domain-specific software reuse.—W. (W.) Devanbu

261. Program Verification (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: Mathematics 125 or Philosophy 112 or familiarity with first-order logic; knowledge of an iterative and functional programming language. Methods of proving correctness of programs with respect to formal specifications, with attention to those suited for employing automated deduction. Logic background, symbolic execution, techniques suited to iterative programming, methods from denotational semantics, termination, dynamic logic and proofs of concurrent programs. Offered in alternate years.—(F.) Levitt

262. Formal Specification (3)

Lecture—3 hours. Prerequisite: course 261. Pass One and Pass Two open to Graduate Students in Computer Science only. Formal specification of modules, and its relationship to top-down programming development and verification. Abstract data types, together with methods for specifying them. Implementations and proofs of implementation. Using specifications to reason about programs. Parameterized types. Constructing good formal specifications. Offered in alternate years.—(W.) Levitt

265. Distributed Database Systems (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 165A. Pass One and Pass Two open to Graduate Students in Computer Science only. Concepts of distributed database systems and architectures, distributed database design, distributed query processing and optimization, transaction management and concurrency control, heterogeneous and multidatabase systems.—(S.) Ludaescher

266. Spatial Databases (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 165A. Concepts, models, and architectures for spatial databases, spatial access methods, query processing, spatio-temporal data management, moving objects, spatial data mining. Offered in alternate years.—(W.) Ludaescher

267. Wide-Area Distributed Information Systems (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 152B or 165A. Pass One and Pass Two open to Graduate Students in Computer Science only.  Wide-area distributed information systems, data broadcast, multicast, publish/subscribe, service differentiation, information retrieval, Web caching. Offered in alternate years.—(S.)

268. Scientific Data And Workflow Management (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 165A. Scientific data integration, metadata, knowledge representation, ontologies, scientific workflow design and management. Offered in alternate years.—(W.) Ludaescher

270. Artificial Intelligence (3)

Lecture—3 hours. Prerequisite: courses 140A, 172. Pass One and Pass Two open to Graduate Students in Computer Science only. Concepts and techniques underlying the design and implementation of models of human performance on intelligent tasks. Representation of high-level knowledge structures. Models of memory and inference. Natural language and story understanding. Common sense planning and problem solving.—(W.) Levitt

271. Machine Learning and Discovery (4)

Lecture—3 hours; project—1 hour. Prerequisite: course 170. Pass One and Pass Two open to Graduate Students in Computer Science only. Artificial intelligence techniques for knowledge acquisition by computers. Fundamental problems in machine learning and discovery. Systems that learn from examples, analogies, and solved problems. Systems that discover numerical laws and qualitative relationships. Projects centering on implementation and evaluation. Offered in alternate years.—(S.) Levitt, Vemuri

272. Information Visualization (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 163 or 175 recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Advanced topics in information visualization: perceptually effective display methods, color design and selection, interaction models and techniques, focus-context techniques, distortion methods, large graph visualization techniques, visual data mining methods, and evaluation methods.—(W.) Ma

273. Applied Visual Computing (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: graduate standing. Visual computing paradigms, current visualization technologies, principles of 3-D graphics, user interface designs, and exploratory visualization. Offered in alternate years.—(F.) Hamann, Joy, Ma, Max

274. Automated Deduction (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: Mathematics 125 or Philosophy 112 or familiarity with first-order logic. Techniques of mechanical theorem proving. Methods based on resolution and term-rewriting. Decision procedures. Induction. Applications to program verification, question/answering and plan generation. Study existing mechanical theorem provers. Offered in alternate years.—(S.) Levitt

275A. Advanced Computer Graphics (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 175 or 177 or 178. Pass One and Pass Two open to Graduate Students in Computer Science only. Advanced topics in computer graphics. Hidden surface models, rendering of various surface types, subdivision methods, shading techniques, anti-aliasing, modeling techniques.—W. (W.) 

275B. Advanced Computer Graphics (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 175 or 177 or 178. Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Advanced topics in computer graphics and geometric modeling. Topics taken from advanced research papers in computer graphics, image synthesis, visualization and geometric modeling. Discussion of current research in the field. Offered in alternate years.—(W.) Joy, Hamann, Ma

276. Advanced Volume Visualization (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 177. Pass One and Pass Two open to Graduate Students in Computer Science only. Applications, available tools and techniques, the challenges confronting the field of volume visualization, and some of the advanced topics in the field. Primary emphasis on advanced software and hardware techniques to achieve interactive visualization. Offered in alternate years.—(S.) Hamann, Joy, Ma, Max

277. Advanced Visualization (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 177. Visualization of 3D data, including scalar fields, vector fields, and medical data.—W. (W.) Ma

278. Computer-Aided Geometric Design (4)

Lecture—3 hours; laboratory—3 hours. Prerequisite: course 175. Mathematical techniques for the definition and manipulation of curves and surfaces. Bezier curves and surfaces, B-spline curves and surfaces, subdivision surfaces, wavelets. Integration into various computer graphics rendering models, visualization systems and computer-aided design systems. Offered in alternate years.—S. (S.) Hamann, Joy

279. Computer Animation (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 175 or 275. Pass One and Pass Two open to Graduate Students in Computer Science only. Course surveys current research and fundamental techniques that lie behind character animation tools. Emphasis on improving expressive aspects of movement and how physics, motion capture data, the arts and psychology literature, and interactive techniques can be used towards this goal. Offered in alternate years.—S. Neff

280. Virtual Reality Technology (4)

Lecture—3 hours; discussion—1 hour. Prerequisite: course 175. Pass One and Pass Two open to Graduate Students in Computer Science only. Fundamentals and principles of Virtual Reality (VR) technology. Potential and limits for its useful application. Developing a complete virtual reality application. Offered in alternate years.—(S.) Joy

289A. Special Topics in Computer Science; Computer Science Theory (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Science Theory. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289B. Special Topics in Computer Science; Architecture (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Architecture. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289C. Special Topics in Computer Science; Programming Languages and Compilers (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Programming Languages and Compilers. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289D. Special Topics in Computer Science; Operating Systems (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Operating Systems. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289E. Special Topics in Computer Science; Software Engineering (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Software Engineering. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289F. Special Topics in Computer Science; Databases (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Databases. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289G. Special Topics in Computer Science; Artificial Intelligence (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Artificial Intelligence. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289H. Special Topics in Computer Science; Computer Graphics (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Graphics. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289I. Special Topics in Computer Science; Networks (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Networks. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289J. Special Topics in Computer Science; Computer-Aided Design (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer-Aided Design. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289K. Special Topics in Computer Science; Scientific Computing (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Scientific Computing. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289L. Special Topics in Computer Science; Computer Science (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Computer Science. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289M. Special Topics in Computer Science; Security (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Security. May be repeated for credit when topic differs.—F, W, S. (F, W, S.)

289N. Special Topics in Bioinformatics and Computational Biology (1-5)

Lecture; laboratory; lecture/laboratory. Prerequisite: consent of instructor. Special topic in Bioinformatics and Computational Biology. May be repeated for credit when topic differs. Offered irregularly.

290. Seminar in Computer Science (1)

Seminar—1 hour. Participating seminar; discussion and presentation of current research and development in computer science. (S/U grading only.)—F, W, S. (F, W, S.)

290C. Graduate Research Group Conference (1)

Discussion—1 hour. Research problems, progress and techniques in computer science. May be repeated for credit. (S/U grading only.)—F, W, S. (F, W, S.)

293A. Research in Computer Science (1)

Lecture—1 hour. Prerequisite: graduate standing in computer science. Pass One and Pass Two open to Graduate Students in Computer Science only. Study of research topics in computer science, Ph.D. level research methodologies (experimental, applied and theoretical). Study skills necessary to successfully find/solve significant research problems. Finding and successful interacting with a research adviser. Ethical issues in research/collaborative work. (S/U grading only.)—F. (F.) Nitta

293B. Research in Computer Science (1)

Lecture—1 hour. Prerequisite: graduate standing in computer science; graduate standing in computer science; 293A recommended. Pass One and Pass Two open to Graduate Students in Computer Science only. Study of Ph.D. level research methodologies (experimental, applied and theoretical), presenting research results for the computer science community. Study skills necessary to successfully find/solve significant research problems. (S/U grading only.)—W. (W.) Martel

298. Group Study (1-5)

Lecture, laboratory, or combination. Prerequisite: consent of instructor. (S/U grading only.)

299. Research (1-12)

(S/U grading only.)

Professional

390. The Teaching of Computer Science (1)

Discussion—1 hour. Prerequisite: meet qualifications for teaching assistant and/or associate-in in Pass One and Pass Two open to Graduate Students in Computer Science only. Computer Science Computer Science. Participation as a teaching assistant or associate-in in a designated engineering course. Methods of leading discussion groups or laboratory sections, writing and grading quizzes, use of laboratory equipment, and grading laboratory reports. May be repeated for credit. (S/U grading only.)—F, W, S. (F, W, S.)

396. Teaching Assistant Training Practicum (1-4)

Prerequisite: graduate standing. May be repeated for credit. (S/U grading only.)

Page content manager can be reached at Catalog-Comment@ucdavis.edu.


Updated: November 21, 2017 12:17 PM