CS 103 CS 103 Advanced programming language concepts for more complex, higher performance software design. Builds depth of programming skills in C++ as a foundation for upper-division courses and projects. Focuses on strengthening programming, debugging, and problem solving skills. Raymond O. Klefstad



CS 111 CS 111 Introduction of the fundamental concepts of digital signal and image processing as applicable in areas such as multimedia, graphics, AI, data mining, databases, vision, or video games. Topics include image representation, space- and frequency-domain transformations, filters, segmentation, and compression. Aditi Majumder



CS 112 CS 112 Introduction to the fundamental principles of 3D computer graphics including polygonal modeling, geometric transformations, visibility algorithms, illumination models, texturing, and rasterization. Use of an independently-learned 3D graphics API to implement these techniques. Shuang Zhao

Aditi Majumder



CS 113 CS 113 Introduction to the principles of interactive two- and three-dimensional computer game development. Concepts in computer graphics, algorithms, software engineering, art and graphics, music and sound, story analysis, and artificial intelligence are presented and are the basis for student work. Darren A. Denenberg



CS 114 CS 114 Projects in advanced 3D graphics such as illumination, geometric modeling, visualization, and animation. Topics may include physically based and global illumination, solid modeling, curved surfaces, multiresolution modeling, image-based rendering, basic concepts of animation, and scientific visualization. Shuang Zhao



CS 115 CS 115 Discrete event-driven simulation; continuous system simulation; basic probability as pertaining to input distributions and output analysis; stochastic and deterministic simulation; static and dynamic system simulation. Wayne Hayes



CS 116 CS 116 Introduces the problems of computer vision through the application of computational photography. Specific topics include photo-editing (image warping, compositing, hole filling), panoramic image stitching, and face detection for digital photographs. Charless Fowlkes



CS 117 CS 117 Students will undertake construction of a computer vision system. Topics may include automatically building 3D models from photographs, searching photo collections, robot navigation, and human motion tracking. Charless Fowlkes



CS 121 CS 121 An introduction to information retrieval including indexing, retrieval, classifying, and clustering text and multimedia documents. Cristina Lopes

Mustafa Ibrahim

Alberto Martins

Alberto Martins



CS 122A CS 122A Introduction to the design of databases and the use of database management systems (DBMS) for applications. Topics include entity-relationship modeling for design, relational data model, relational algebra, relational design theory, and Structured Query Language (SQL) programming. Sharad Mehrotra

Philip C-Y Sheu

Michael Carey



CS 122B CS 122B Introduces students to advanced database technologies and Web applications. Topics include but are not limited to database connectivity (ODBC/JDBC), extending databases using stored procedures, database administration, Web servers, Web programming languages (Java servlets and Ruby on Rails), XML, and Ajax. Raymond O. Klefstad

Raymond O. Klefstad

Chen Li



CS 122C CS 122C Covers fundamental principles underlying data management systems. Content includes key techniques including storage management, buffer management, record-oriented file system, access methods, query optimization, and query processing. Chen Li



CS 125 CS 125 Discusses concepts and techniques related to all aspects of search systems. After considering basic search technology and the state-of-art systems, rapidly developing techniques for multimedia search, local search, event-search, and video-on-demand are explored. Concurrent with CS 225. Ramesh Jain



CS 131 CS 131 Introduction to systems implemented within network-based computer architectures. Issues in distributed programming, operating systems, and applications. Specific topics covered include programming constructs, timing/coordination problems, data/service replication, transactions/currency control, fault-tolerance, recovery, file systems, security. Alexander Veidenbaum



CS 132 CS 132 An introductory course on computer network architectures. Layering approach of communication protocols is introduced, and the function of each layer is explained. Various examples are shown from long-haul networks and local area networks to B-ISDN and high speed networks. Scott Jordan

Georgios Bouloukakis

Athina Markopoulou



CS 133 CS 133 Fundamental principles in computer networks are applied to obtain practical experience and skills necessary for designing and implementing computer networks, protocols, and network applications. Various network design techniques, simulation techniques, and UNIX network programming are covered. Magda Zarki



CS 134 CS 134 Overview of modern computer and network security, attacks, and countermeasures. Authentification, identification, data secrecy, data integrity, authorization, access control, computer viruses, network security. Also covers secure e-commerce and applications of public key methods, digital certificates, and credentials. Qi Chen

Gene Tsudik



CS 137 CS 137 Concepts in Internet applications engineering with emphasis on the Web. Peer-to-Peer and Interoperability. Topics include HTTP and REST, Remote Procedure/Method Calls, Web Services, data representations, content distribution networks, identity management, relevant W3C/IETF standards, and relevant new large-scale computing styles. Same as Informatics 124. Alberto Martins



CS 141 CS 141 In-depth study of several contemporary programming languages stressing variety in data structures, operations, notation, and control. Examination of different programming paradigms, such as logic programming, functional programming and object-oriented programming; implementation strategies, programming environments, and programming style. Raymond O. Klefstad

Raymond O. Klefstad



CS 142A CS 142A Introduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support. Brian Demsky

Brian Demsky



CS 142B CS 142B Project course which provides working laboratory experience with construction and behavior of compilers and interpreters. Students build actual language processors and perform experiments which reveal their behaviors. Michael Franz



CS 143A CS 143A Principles and concepts of process and resource management, especially as seen in operating systems. Processes, memory management, protection, scheduling, file systems, and I/O systems are covered. Concepts illustrated in the context of several well-known systems. Anton Burtsev

Ardalan Amiri Sani

Lubomir Bic

Nalini Venkatasubramanian



CS 143B CS 143B Detailed specification and design of critical components of an actual operating system including a memory manager, a process server, and a file/IO subsystem. Hardware/software tradeoffs. Emphasis on logical organization of system and communication. Lubomir Bic

Lubomir Bic



CS 145 CS 145 Principles of embedded computing systems: embedded systems architecture, hardware/software components, system software and interfacing, real-time operating systems, hardware/software co-development, and communication issues. Examples of embedded computing in real-world application domains. Simple programming using an embedded systems development environment. Tony Givargis

Tony Givargis



CS 145L CS 145L Laboratory to accompany COMPSCI 145. Corequisite: COMPSCI 145. Tony Givargis

Tony Givargis



CS 146 CS 146 User- and systems-level programming of modern Internet-connected, multi-user, multitasking operating systems. Shells, scripting, filters, pipelines, programmability, extensibility, concurrency, inter-process communication. Concrete examples of a modern operating system (such as, but not necessarily, Unix programmed in C) are used. Wayne Hayes



CS 147 CS 147 Introduction to the Internet of Things (IoT) from a systems and software perspective. IoT ecosystem including sensors, embedded CPUs, networking protocols, software, cloud services, and security and privacy requirements. IoT use cases, system design and programming project. Sergio Gago Masague



CS 151 CS 151 Boolean algebra. Design/analysis of combinational and sequential systems using SSI/MSI/LSI modules. Number systems. Error detection and correction codes. Arithmetic algorithms. Hardware/firmware implementation of algorithms. Nikil Dutt



CS 152 CS 152 Design of computer elements: ALU, control unit, and arithmetic circuits. Memory hierarchy and organization. Caches. Function unit sharing and pipelining. I/O and interrupt processing. RTL and behavioral modeling using hardware description languages. Microprocessor organization and implementation techniques. Sang Woo Jun



CS 153 CS 153 Introduction to standard integrated circuits: gates, flip-flops, shift registers, counters, latches. Construction and debugging techniques. Design of digital systems using LSI and MSI components. Practical use of circuits in a laboratory environment, including implementation of small digital systems such as arithmetic modules, displays, and timers. Elaheh Bozorgzadeh



CS 154 CS 154 Design of basic computer components and small complete digital systems. Emphasis on practical use of Computer-Aided Design (CAD) tools, modeling of computer systems, and design practices in a laboratory environment. Alexander Veidenbaum



CS 161 CS 161 Time and space complexity of algorithms. Models of computation, techniques for efficient algorithm design, effect of data structure choice on efficiency of an algorithm. Fast algorithms for problems such as sorting, set manipulation, graph problems, matrix multiplication, Fourier transforms, and pattern matching. NP-complete problems. Michael Shindler

Daniel Hirschberg

Michael Dillencourt

Milena Mihail



CS 162 CS 162 Formal aspects of describing and recognizing languages by grammars and automata. Parsing regular and context-free languages. Ambiguity, nondeterminsim. Elements of computability; Turing machines, random access machines, undecidable problems, NP-completeness. Michael Shindler



CS 163 CS 163 Algorithms for solving fundamental problems in graph theory. Graph representations, graph traversal, network flow, connectivity, graph layout, matching problems. David Eppstein



CS 164 CS 164 Algorithms and data structures for computational geometry and geometric modeling, with applications to game and graphics programming. Topics include convex hulls, Voronoi diagrams, arrangements, algorithms for triangulation, visibility, and motion planning, and data structures for geometric searching and modeling of 2D and 3D objects. Michael Goodrich



CS 165 CS 165 Design, implementation, execution, and analysis of algorithms for problems such as sorting, searching, data compression, and data encryption. Time-space-structure tradeoffs. Michael Goodrich



CS 167 CS 167 An introduction to the essential aspects of applied cryptography, as it is used in practice. Topics include classic cryptography, block ciphers, stream ciphers, public-key cryptography, digital signatures, one-way hash functions, basic cryptography protocols, and digital certificates and credentials. Michael Shindler



CS 169 CS 169 A broad introduction to optimization. Unconstrained and constrained optimization. Equality and inequality constraints. Linear and integer programming. Stochastic dynamic programming. Eric Mjolsness



CS 171 CS 171 Different means of representing knowledge and uses of representations in heuristic problem solving. Representations considered include predicate logic, semantic nets, procedural representations, natural language grammars, and search trees. Richard Lathrop

Kalev Kask

Richard Lathrop

Kalev Kask



CS 172B CS 172B Neural network and deep learning from multiple perspectives. Theory of parallel distributed processing systems, algorithmic approaches for learning from data in various manners, applications to difficult problems in AI from computer vision, to natural language understanding, to bioinformatics and chemoinformatics. Pierre Baldi



CS 172C CS 172C Explores the frontiers of artificial intelligence and related technologies with a focus on the underlying ethical, legal, and societal challenges and opportunities they create. Encourages critical thinking about these issues. Pierre Baldi



CS 177 CS 177 Application of probability to real-world problems in computer science. Typical topics include analysis of algorithms and graphs, probabilistic language models, network traffic modeling, data compression, and reliability modeling. Erik Sudderth



CS 178 CS 178 Introduction to principles of machine learning and data mining applied to real world datasets. Typical applications include spam filtering, object recognition and credit scoring. Alexander Ihler

Stephan M Mandt

Erik Sudderth



CS 179 CS 179 Graphical model techniques dealing with probabilistic and deterministic knowledge representations. Focuses on graphical models, such as constraint networks, Bayesian networks and Markov networks that have become a central paradigm for knowledge representation and reasoning in Artificial Intelligence and general computer science. Alexander Ihler



CS 184A CS 184A Introduction to computational methods in molecular biology, aimed at those interested in learning about this interdisciplinary area. Covers computational approaches to understanding and predicting the structure, function, interactions, and evolution of DNA, RNA, proteins, and related molecules and processes. Xiaohui Xie



CS 184C CS 184C Computational inference and modeling of gene regulation networks, signal transduction pathways, and the effects of regulatory networks in cellular processes, development, and disease. Introduction of required mathematical, computational, and data handling tools. Eric Mjolsness



CS 190 CS 190 Studies in selected areas of Information and Computer Science. Topics addressed vary each quarter. Michael Carey



CS 200S CS 200S Graduate colloquium series. Includes weekly talks by notable computer scientists. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary. Ardalan Amiri Sani

Ardalan Amiri Sani

Ardalan Amiri Sani



CS 201 CS 201 Explores fundamental cryptographic tools, including encryption, signatures, and identification schemes. Students are introduced to the provable security paradigm of modern cryptography, focusing on understanding of security properties provided by cryptographic tools, and on proving security (or insecurity) of cryptographic constructions. Prerequisites: CS 260 or 263, or consent of instructor. Stanislaw Jarecki



CS 202 CS 202 Design and analysis of algorithms for applied cryptography. Topics include symmetric and asymmetric key encryption, digital signatures, one-way hash functions, digital certificates and credentials, and techniques for authorization, non-repudiation, authentication, identification, data integrity, proofs of knowledge, and access control. Prerequisites: CS 260 and 263, or consent of instructor. Stanislaw Jarecki



CS 203 CS 203 Overview of modern computer and networks security: attacks and countermeasures. Authentication, identification, data secrecy, data integrity, authorization, access control, computer viruses, network security. Group communication and multicast security techniques. Also covers secure e-commerce and applications of public key methods, digital certificates, and credentials. Prerequisite: CS 132 or EECS148. Same as Networked Systems 240. Gene Tsudik



CS 206 CS 206 Overview of widely used principles and methods of numerical and scientific computing, including basic concepts and computational methods in linear algebra, optimization, and probability. Prerequisites: basic courses in multivariate calculus, linear algebra, and probability. CS 206 and Statistics 230 may not both be taken for credit. Xiaohui Xie

Wayne Hayes



CS 211A CS 211A Fundamentals of image processing (convolution, linear filters, spectral analysis), vision geometry (projective geometry, camera models and calibration, stereo reconstruction), radiometry (color, shading, illumination, BRDF), and visual content synthesis (graphics pipeline, texture-, bump-, mip-mapping, hidden surface removal, anti-aliasing). Aditi Majumder



CS 211B CS 211B Advanced topics in 3D graphics on rendering, geometric modeling, and visualization. Subjects range from illumination and shading, and multiresolution representations, to other advanced algorithms and data structures in graphics. Also looks at trends that go beyond traditional computer graphics. Prerequisites: CS 161, 164, or 211A, and 266. Gopi Meenakshisundaram



CS 213 CS 213 Introduction to the process of human visual perception. Offers the physiological and psychophysical approach to understand vision, introducing concepts of perception of color, depth, movement. Examples of the quantification and application of these models in computer vision, computer graphics, multimedia, HCI. Prerequisite: Mathematics 121A. Aditi Majumder



CS 216 CS 216 The goal of image understanding is to extract useful semantic information from image data. Course covers low-level image and video processing techniques, feature descriptors, segmentation, objection recognition, and tracking. Prerequisites: ICS 6D, Mathematics 6G or 3A, Mathematics 2A-B, ICS 23. Charless Fowlkes



CS 221 CS 221 Algorithms for the storage, retrieval, filtering, and classification of textual and multimedia data. The vector space model, Boolean and probabilistic queries, and relevance feedback. Latent semantic indexing; collaborative filtering; and relationship to machine learning methods. Prerequisites: B.S. degree in computer science, or CS 161, 171; Mathematics 3A or 6C; and a course in basic probability. Iftekhar Ahmed



CS 222 CS 222 Covers fundamental principles underlying data management systems. Content includes key techniques including storage management, buffer management, record-oriented file system, access methods, query optimization, and query processing. Prerequisites: CS 122A 131, 143A, and 152. Chen Li



CS 223 CS 223 Covers fundamental principles underlying transaction processing including database consistency, concurrency control, database recovery, and fault-tolerance. Includes transaction processing in centralized, distributed, parallel, and client-server environments. Prerequisite: CS 222. Sharad Mehrotra



CS 224 CS 224 Selected advanced topics in data management. Content differs in each offering and with instructor interests. Intended for students interested in data management with focus on reading and critiquing recent research papers, presentations, and substantial research projects. Prerequisites: CS 143A, 152, 161, 222, 223, or consent of instructor. Sharad Mehrotra



CS 225 CS 225 Discusses concepts and techniques related to all aspects of search systems. After considering basic search technology and the state-of-art systems, rapidly developing techniques for multimedia search, local search, event-search, and video-on-demand are explored. Prerequisites: ICS 21/CSE 21 or Informatics 41 or consent of instructor. Concurrent with CS 125. Ramesh Jain



CS 230 CS 230 Principles of distributed computing systems. Topics covered include message-passing, remote procedure calls, distributed shared memory synchronization, resource and process/thread management, distributed file systems, naming and security. Prerequisite: consent of instructor. Nalini Venkatasubramanian



CS 232 CS 232 A broad overview of basic Internet concepts. Internet architecture and protocols, including addressing, routing, TCP/IP, quality of service, and streaming. Prerequisite: EECS148, CS 132, or consent of instructor. Same as EECS248A and Networked Systems 201. Marco Levorato



CS 233 CS 233 A laboratory-based introduction to basic networking concepts such as addressing, sub-netting, bridging, ARP, and routing. Network simulation and design. Structured around weekly readings and laboratory assignments. Prerequisite: CS 132 or EECS148. Same as Networked Systems 202. Magda Zarki



CS 237 CS 237 Discusses concepts, techniques, and issues in developing distributed systems middleware that provides high performance and Quality of Service for emerging applications. Also covers existing standards (e.g., CORBA, DCOM, Jini, Espeak) and their relative advantages and shortcomings. Prerequisite: undergraduate-level course in operating systems and networks or consent of instructor. Same as Networked Systems 260. Nalini Venkatasubramanian



CS 238 CS 238 Focuses on advanced and graduate-level topics in operating systems. Presents important recent developments in operating systems, topics not covered in undergraduate operating systems courses. This includes novel operating system designs and techniques to improve existing ones. Ardalan Amiri Sani



CS 241 CS 241 Advanced study of programming language implementation techniques: optimizations such as common sub-expression elimination, register allocation, and instruction scheduling. Implementation of language features such as type-directed dispatch, garbage collection, dynamic linking, and just-in-time code generation. Prerequisite: CS 142A or equivalent. Michael Franz



CS 242 CS 242 Definition of parallel processing systems. Theory and application of arrays, trees, and hypercubes. Computational models, applications: sorting, integer arithmetic, matrix operations, Fast Fourier Transform, and others. Interconnection networks: a framework for the description, analysis, and construction of hypercube-derived networks. Isaac Scherson



CS 243 CS 243 Emphasis on the development of automatic tools (i.e., compilers/environments) for the efficient exploitation of parallel machines, and the trade-offs between hardware and software in the design of supercomputing and high-performance machines. Alexandru Nicolau



CS 244 CS 244 Embedded and ubiquitous system technologies including processors, DSP, memory, and software. System interfacing basics; communication strategies; sensors and actuators, mobile and wireless technology. Using pre-designed hardware and software components. Design case studies in wireless, multimedia, and/or networking domains. Prerequisites: B.S. degree in computer science; or ICS 51, CS 152; Mathematics 3A or 6G or ICS 6D; CS 161. Same as Informatics 244. Elaheh Bozorgzadeh



CS 245 CS 245 Embedded computing elements, device interfaces, time-critical IO handling. Embedded software design under size, performance, and reliability constraints. Software timing and functional validation. Programming methods and compilation for embeddable software. Embedded runtime systems. Case studies of real-time software systems. Prerequisites: B.S. degree in computer science; or ICS 51, CS 152; Mathematics 3A or 6G or ICS 6D; CS 161. Tony Givargis



CS 248A CS 248A The disappearing computer paradigm. Differences to the desktop computing model: applications, interaction in augmented environments, security, alternate media, small operating systems, sensors, and embedded systems design. Evaluation by project work and class participation. Same as Informatics 241. Darren A. Denenberg



CS 250A CS 250A Study of architectural issues and their relation to technology and software: design of processor, interconnections, and memory hierarchies. Prerequisite: CS 152 or equivalent. Alexander Veidenbaum



CS 250B CS 250B Fundamental concepts and recent advances in computer systems architecture necessary to achieve high performance and efficiency on systems available today. Topics span modern processor features, accelerators, storage and network architectures, as well as architecture-optimized software. Sang Woo Jun



CS 252 CS 252 The methodology and use of CAD tools for computer design, accomplished by a lab in which students practice design using commercially available silicon compilers and other tools. Prerequisite: CS 151 and 152 or equivalent. Sang Woo Jun



CS 253 CS 253 Concepts in modern programming languages, their interaction, and the relationship between programming languages and methods for large-scale, extensible software development. Empirical analysis of programming language usage. Cristina Lopes



CS 259S CS 259S Current research and research trends in design science. Forum for presentation and criticism by students of research work in progress. May be repeated for credit. Nikil Dutt

Nikil Dutt



CS 260 CS 260 Covers fundamental concepts in the design and analysis of algorithms and is geared toward non-specialists in theoretical computer science. Topics include: deterministic and randomized graph algorithms, fundamental algorithmic techniques like divide-and-conquer strategies and dynamic programming, and NP-completeness. Prerequisite: CS 161 or equivalent undergraduate algorithms course. Michael Dillencourt



CS 261 CS 261 An in-depth treatment of data structures and their associated management algorithms including resource complexity analysis. Prerequisite: ICS 23 and CS 161. David Eppstein



CS 263 CS 263 Analysis of correctness and complexity of various efficient algorithms; discussion of problems for which no efficient solutions are known. Prerequisites: CS 161 and 261. Milena Mihail



CS 265 CS 265 Graph definitions, representation methods, graph problems, algorithms, approximation methods, and applications. Prerequisites: CS 161 and 261. David Eppstein



CS 266 CS 266 An overview of some of the basic problems in computational geometry and of some algorithmic and data-structuring techniques appropriate to their solution. Prerequisites: CS 161 and 261. Michael Goodrich



CS 268 CS 268 A broad introduction to optimization. Unconstrained and constrained optimization. Equality and inequality constraints. Linear and integer programming. Stochastic dynamic programming. Prerequisites: Mathematics 2D, Mathematics 3A or 6G, Statistics 67. Concurrent with Computer Science 169. Eric Mjolsness



CS 269S CS 269S Current research and research trends in the theory of algorithms and data structures. May be repeated for credit. Milena Mihail

TBD

TBD



CS 271 CS 271 The study of theories and computational models for systems which behave and act in an intelligent manner. Fundamental subdisciplines of artificial intelligence including knowledge representation, search, deduction, planning, probabilistic reasoning, natural language parsing and comprehension, knowledge-based systems, and learning. Kalev Kask



CS 272 CS 272 Statistical models, machine learning algorithms, and computational tasks involved in natural language processing. Focuses on approaches that learn these models from data, and covers applications such as information extraction, dialog systems, machine translation, and question answering. Sameer Singh



CS 273A CS 273A Computational approaches to learning algorithms for classifications, regression, and clustering. Emphasis is on discriminative classification methods such as decision trees, rules, nearest neighbor, linear models, and naive Bayes. Prerequisites: CS 206 and 271. Stephan M Mandt

Alexander Ihler



CS 274A CS 274A An introduction to probabilistic and statistical techniques for learning from data, including parameter estimation, density estimation, regression, classification, and mixture modeling. Prerequisite: CS 206 or consent of instructor. Padhraic Smyth



CS 274B CS 274B Models for data analysis are presented in the unifying framework of graphical models. The emphasis is on learning from data but inference is also covered. Real world examples are used to illustrate the material. Prerequisite: CS 274A or consent of instructor. Erik Sudderth



CS 274C CS 274C Neural network and deep learning from multiple perspectives. Theory of parallel distributed processing systems, algorithmic approaches for learning from data in various manners, applications to difficult problems in AI from computer vision, to natural language understanding, to bioinformatics and chemoinformatics. Pierre Baldi



CS 274D CS 274D Explores the frontiers of artificial intelligence and related technologies with a focus on the underlying ethical, legal, and societal challenges and opportunities they create. Encourages critical thinking about these issues. Pierre Baldi



CS 276 CS 276 Focuses on reasoning with uncertainty using "Bayes Networks" that encode knowledge as probabilistic relations between variables, and the main task is, given some observations, to update the degree of belief in each proposition. Prerequisite: a basic course in probability or consent of instructor. Rina Dechter



CS 278 CS 278 Advanced probability, dicrete time Markov chains, Poisson processes,continuous time Markov chains. Queuing or simulation as time permits. Prerequisite: Statistics 120A. Concurrent with Statistics 121. Marco Levorato



CS 284A CS 284A Introduction to computational methods in molecular biology, aimed at those interested in learning about this interdisciplinary area. Covers computational approaches to understanding and predicting the structure, function, interactions, and evolution of DNA, RNA, proteins, and related molecules and processes. Prerequisite: a basic course in algorithms, or a basic course in molecular biology, or consent of instructor. Concurrent with CS 184A. Xiaohui Xie



CS 284C CS 284C Computational inference and modeling of gene regulation networks, signal transduction pathways, and the effects of regulatory networks in cellular processes, development, and disease. Introduction of required mathematical, computational, and data handling tools. Prerequisites: CS 284A or 284B or Biological Sciences 99 and Mathematics 2D and 2J, or consent of instructor. Concurrent with CS 184C. Eric Mjolsness



CSE 112 CSE 112 Semiconductor properties, carrier transport, P-N junctions, metal-semiconductor junctions, diodes, MOS transistors, transistor equivalent circuits, amplifiers, invertors, digital circuits, CMOS circuits, and logic gates. SEE CATALOGUE FOR PREREQUISITES. Henry P. Lee



CSE 090 CSE 090 Introduces systems engineering concepts, including specifications and requirements, hardware and software design, integration, testing, and documentation. Emphasizes organization and writing of reports and effective presentations. Amelia Regan



ICS 010 ICS 010 Introduction to digital computer and communication systems. Capabilities and limitations of information technology. Representing information in digital form. Overview of computer organization, Internet, operating systems, software. Human-computer interaction and social impact. May not be taken for credit after ICS 51, ICS 52, ICS 105, or Informatics 43. Mark Baldwin

Mustafa Ibraheem Hussain



ICS 161 ICS 161 The use of an industry standard game engine in the design and implementation of a new computer game. Principles of game engine design. Students work on a team to design, implement, and evaluate a new computer game based on an engine. Darryl Despie



ICS 162 ICS 162 Use of 3D modeling software and related tools to design and create animated, textured models, and expansive virtual worlds incorporating objects, scenes, and venues for activity within game worlds and online environments. Shuang Zhao



ICS 163 ICS 163 Design and technology of mobile games, including mixed reality gaming, urban games, and locative media. Case studies of significant systems. Uses and limitations of location-based technologies. Infrastructures and their relationships to gameplay and design. Aaron Trammell



ICS 166 ICS 166 Game design takes into consideration psychology, narrative, platform features and limitations, marketing, computer science capabilities, human-computer interface principles, industry trends, aesthetic judgment, and other factors. Students focus on video game design through lectures, readings, presentations, implementation, and play testing. Craig William Morrison



ICS 167 ICS 167 Foundations and technologies that enable multiuser, networked, and persistent virtual environments. Emphasis on database design and management, network protocols, and concurrency control to accommodate large numbers of simultaneous users. Kurt Squire



ICS 168 ICS 168 Designing and implementing a multiuser, networked, and persistent virtual environment or game. Emphasis on cultural aspects, community building, user interface issues and design, security, privacy, and economics. Kurt Squire



ICS 169A ICS 169A Students work in teams to design and implement a new computer game or virtual world. Emphasis on sound, art, and level design building a community, cut scenes, production values, full utilization of hardware and software platform, and current industry trends. Theresa Tanenbaum



ICS 169B ICS 169B Students work in teams to design and implement a new computer game or virtual world. Emphasis on sound, art, and level design, building a community, cut scenes, production values, full utilization of hardware and software platform, and current industry trends. Theresa Tanenbaum



ICS 003 ICS 003 Examines current Internet technologies and social implications at the individual, group, and societal level. Blogs, wikis, sharing of video, photos, and music, e-commerce, social networking, gaming, and virtual environments. Issues include privacy, trust, identity, reputation, governance, copyright, and malicious behavior. Daniel Gardner

Samantha Mcdonald



ICS 031 ICS 031 Introduction to fundamental concepts and techniques for writing software in a high-level programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, input/output, methods, classes, and pragmatics of programming. Same as CSE41. Only one course from ICS 21/CSE21, ICS H21, ICS 31/CSE41, EECS10, EECS12, ENGR 10, and MAE10 may be taken for credit. (II, Vb) Shannon Alfaro

Shannon Alfaro

Shannon Alfaro



ICS 032 ICS 032 Construction of programs for problems and computing environments more varied than in ICS 31. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming. Language features beyond those in ICS 31 are introduced as needed. Same as CSE42. Only one course from ICS 32/CSE42, ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (II; Va or Vb) Kimberly A Hermans

Mustafa Ibrahim

Alex Thornton

Mustafa Ibrahim

Kimberly A Hermans



ICS 032A ICS 032A Introduces Python syntax and semantics for fundamental programming concepts. Constructing programs for varied problems and environments. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming. Accelerated course for students with previous programming background. Alex Thornton



ICS 033 ICS 033 Intermediate-level language features and programming concepts for larger, more complex, higher-quality software. Functional programming, name spaces, modules, class protocols, inheritance, iterators, generators, operator overloading, reflection. Analysis of time and space efficiency. Same as CSE43. Only one course from ICS 33/CSE43, ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (II, Vb) Richard Pattis

Richard Pattis (2)

Richard Pattis



ICS 398A ICS 398A Theories, methods, and resources for teaching computer science at the university level, particularly by teaching assistants. Classroom presentations, working with individuals, grading, motivating students. Participants will give and critique presentations and may be videotaped while teaching. Satisfactory/Unsatisfactory only. Hadar Ziv



ICS 004 ICS 004 Principles of human-computer interaction in evaluating, designing, and developing information presented on the World Wide Web. User characteristics, usability analysis, navigation and organization. Color, typography, multimedia, information visualization, prototyping, user studies, evaluation strategies. Web accessibility. May not be taken for credit after Informatics 131. TBD



ICS 045C ICS 045C An introduction to the lexical, syntactic, semantic, and pragmatic characteristics of the C/C++ languages for experienced programmers. Emphasis on object-oriented programming, using standard libraries, and programming with manual garbage collection. Formerly ICS 65. Same as CSE 45C. Alex Thornton

Mustafa Ibrahim

Mustafa Ibrahim

Alex Thornton



ICS 045J ICS 045J An introduction to the lexical, syntactic, semantic, and pragmatic characteristics of the Java language for experienced programmers. Emphasis on object-oriented programming, using standard libraries, and programming with automatic garbage collection. Kimberly A Hermans

Kimberly A Hermans



ICS 046 ICS 046 Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Same as CSE46. (Vb) Richard Pattis

Michael Shindler

Alex Thornton

Michael Shindler

Alex Thornton



ICS 005 ICS 005 Explores the relationship between recent developments in information technology and current global environmental issues. Potential topics include ecoinformatics, e-waste, technological life cycle assessment, and online community building. Course activities involve reading, writing, discussion, and a final project. Bill Tomlinson

Neil Young



ICS 051 ICS 051 Multilevel view of system hardware and software. Operation and interconnection of hardware elements. Instruction sets and addressing modes. Virtual memory and operating systems. Laboratory work using low-level programming languages. Jennifer Lee Wong-ma

Alexandru Nicolau

Jennifer Lee Wong-ma

Elaheh Bozorgzadeh



ICS 053 ICS 053 Principles and practice of engineering of computer software and hardware systems. Topics include techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; coordination of parallel activities; security and encryption; and performance optimizations. Corequisite: ICS 53L. Jennifer Lee Wong-ma

Ian Harris

Jennifer Lee Wong-ma (2)



ICS 060 ICS 060 The study and critical analysis of computer games as art objects, cultural artifacts, gateways to virtual worlds, educational aids, and tools for persuasion and social change. Emphasis on understanding games in their historical and cultural contexts. ICS 60 and University Studies 12A-B-C may not both be taken for credit. Constance Steinkuehler

Constance Steinkuehler



ICS 061 ICS 061 Principles and usage of game design elements. Introduction to technologies that support modern computer games. Students design, implement, and critique several small games. Katie Anne Salen



ICS 062 ICS 062 Technologies for interactive media and game design. Web-based software systems, virtual world platforms and game engines. Emphasis on conceptual and architectural aspects of these technologies. Aaron Trammell



ICS 006B ICS 006B Relations and their properties; Boolean algebras, formal languages; finite automata. Irene Gassko (2)

Kimberly A Hermans

Irene Gassko



ICS 006D ICS 006D Covers essential tools from discrete math used in computer science with an emphasis on the process of abstracting computational problems and analyzing them mathematically. Topics include: mathematical induction, combinatorics, and recurrence relations. Sandy Irani

Irene Gassko (2)

Irene Gassko

Stanislaw Jarecki



ICS 006N ICS 006N Matrices and linear transformations, systems of linear equations, determinants, linear vector spaces, eigenvalues and eigenvectors, orthogonal matrices, diagonalization, and least squares. Topics will be taught primarily from an algorithmic perspective, including computational solutions, applications, and numerical error analysis. Only one course from Information and Computer Science 6N, Mathematics 3A, and Mathematics 6G may be taken for credit. (II, Vb) Sergio Gago Masague

Gopi Meenakshisundaram

Sergio Gago Masague

Sergio Gago Masague



ICS 007 ICS 007 A unified look at a spectrum of modern tools for building, solving, and analyzing simple computational models (deterministic and random) in diverse subject areas. Tools include those for numeric/symbolic computation, and those for acquiring, organizing, translating, processing, and displaying information. Richard Pattis



ICS 090 ICS 090 Introduces students to the School of Information and Computer Sciences. Activities focus on advising students making the transition to UCI, community building, and mostly surveying the technical areas within departments in ICS, via talks by faculty on their research. Pass/Not Pass only. Richard Pattis

Hadar Ziv



ICS H197 ICS H197 An overview of computer science and selected recent trends in research. Students attend talks on current faculty research, with opportunities for discussion. Prerequisite: participation in the ICS Honors Program or Campuswide Honors Program. Pass/Not Pass only. Richard Lathrop



INF 101 INF 101 In-depth study of several contemporary programming languages stressing variety in data structures, operations, notation, and control. Examination of different programming paradigms, such as logic programming, functional programming and object-oriented programming; implementation strategies, programming environments, and programming style. Raymond O. Klefstad

Raymond O. Klefstad



INF 102 INF 102 In-depth study of major programming paradigms: imperative, functional, declarative, object-oriented, and aspect-oriented. Understanding the role of programming languages in software development and the suitability of languages in context. Domain-specific languages. Designing new languages for better software development support. Cristina Lopes



INF 113 INF 113 Aims to equip students to develop techniques of software-intensive systems through successful requirements analysis techniques and requirements engineering. Students learn systematic process of developing requirements through co-operative problem analysis, representation, and validation. Emily Navarro

Kimberly A Hermans



INF 115 INF 115 Aims to prepare students to develop high quality software through successful verification and validation techniques. Students learn the fundamental principles of software testing, how to test software, and how to ensure the thoroughness of testing to gain confidence in the correctness of the software. Iftekhar Ahmed

James Jones



INF 117 INF 117 Specification, design, construction, testing, and documentation of a complete software system. Special emphasis on the need for and use of teamwork, careful planning, and other techniques for working with large systems. Emily Navarro

Hadar Ziv



INF 121 INF 121 Introduction to application design: designing the overall functionality of a software application. Topics include general design theory, software design theory, and software architecture. Includes practice in designing and case studies of existing designs. Adriaan Van Der Hoek

Alberto Martins



INF 122 INF 122 Introduction to implementation design: designing the internals of a software application. Topics include design aesthetics, design implementation, design recovery, design patterns, and component reuse. Includes practice in designing and case studies of existing designs. Joshua Nathaniel Garcia



INF 124 INF 124 Concepts in Internet applications engineering with emphasis on the Web. Peer-to-Peer and Interoperabilty. Topics include HTTP and REST, Remote Procedure/Method Calls, Web Services, data representations, content distribution networks, identity management, relevant W3C/IETF standards, and relevant new large-scale computing styles. Prerequisites: CS 132 or consent of instructor, and upperdivision standing. Same as CS 137. Alberto Martins



INF 125 INF 125 Introduction to the principles of interactive two- and three-dimensional computer game development. Concepts in computer graphics, algorithms, software engineering, art and graphics, music and sound, story analysis, and artificial intelligence are presented and are the basis for student work. Darren A. Denenberg



INF 131 INF 131 Presents basic principles of human-computer interaction (HCI). Introduces students to user interface design techniques, design guidelines, and usability testing. Students gain the ability to design and evaluate user interfaces and become familiar with some of the outstanding research problems in HCI. Matthew J. Bietz

Stacy Marie Branham



INF 132 INF 132 Students undertake significant projects in the elicitation and specification of HCI requirements and the thorough evaluation of user interfaces. Matthew J. Bietz

Matthew J. Bietz



INF 133 INF 133 Introduction to human-computer interaction programming. Emphasis on current tools, standards, methodologies for implementing effective interaction designs. Widget toolkits, web interface programming, geo-spatial and map interfaces, mobile phone interfaces. Strategies for evaluation of user interfaces. Daniel Epstein



INF 134 INF 134 Students complete an end-to-end user interface programming project based on an interactive design paradigm. Topics may include requirements brainstorming, paper prototyping, interative development, cognitive walk-through, quantitative evaluation, and accetance testing. Paul J Lumsdaine



INF 141 INF 141 An introduction to information retrieval including indexing, retrieval, classifying, and clustering text and multimedia documents. Cristina Lopes

Mustafa Ibrahim

Alberto Martins

Alberto Martins



INF 143 INF 143 Introduction to interactive visual interfaces for large datasets, and to principles of human visual perception and human computer interaction that inform their design. Various applications for data analysis and monitoring are discussed. Stewart Sutton

Darren A. Denenberg



INF 148 INF 148 Introduction to ubiquitous computing research methods, tools, and techniques. Prototyping, design, and evaluation of physical computing applications, smart environments, embedded systems, and future computing scenarios. Includes hands-on in-class laboratory exercises. Kylie Aine Peppler



INF 151 INF 151 Introduces theoretical and practical aspects of project management. Topics include organizational theory, group behavior, project management skills, case studies, personal and group productivity tools, management of distributed work, stakeholders, consultants, and knowledge management. Students do a project exercise. Gloria Mark

Gloria Mark



INF 153 INF 153 Introduces concepts and principles of collaborative systems. Topics may include shared workspaces, group interaction, workflow, architectures, interaction between social and technical features of group work, and examples of collaborative systems used in real-world settings. Students develop a simple collaborative application. SEE CATALOGUE FOR PREREQUISITES. Daniel Gardner



INF 161 INF 161 Introduction of computerization as a social process. Examines the social opportunities and problems raised by new information technologies, and the consequences of different ways of organizing. Topics include computerization and work life, privacy, virtual communities, productivity paradox, systems risks. Roderic Nicholaus Crooks

Geoffrey C Bowker



INF 162W INF 162W Introduction to role of information systems in organizations, components and structure of organizational information systems, and techniques used in information systems analysis, design, and implementation. Melissa Mazmanian

Paul Dourish



INF 163 INF 163 Students undertake projects intended to gather and analyze data from situations in which computers are used, organize and conduct experiments intended to test hypotheses about impacts, and explore the application of concepts learned in previous courses. Neil Young



INF 164 INF 164 Examines how popular media may impact how young people learn, develop, and communicate by looking at research related to the impacts of a wide range of popular media including television, video games, digital environments, mobile devices, and other multimedia. Rebecca W Black



INF 171 INF 171 Broad overview of Medical Informatics for students with varied backgrounds. Electronic medical records, online resources, mobile technologies, patient safety, and computational design. Legal, ethical, and public policy issues. Health systems management. Evaluation and fieldwork for health systems. Sean Young



INF 172 INF 172 Students undertake significant quarter-long projects related to health informatics. Topics may include field evaluations of health care technologies, prototypes, iterative design, and system implementations. Kai Zheng



INF 190 INF 190 May be repeated for credit if title or topic varies. Prerequisites vary. Justin Britch

Geoffrey C Bowker

Theresa Tanenbaum



INF 191A INF 191A Group supervised project in which students analyze, specify, design, construct, evaluate, and adapt a significant information processing system. Topics include team management, professional ethics, and systems analysis. Prerequisites for 191A: Informatics 121, 131, 151; either Informatics 161 as a prerequisite or Informatics 123 as a corequisite; and upper-division standing; for 191B: Informatics 191A; for 191C: Informatics 191B. In-progress grading for 191B only. Darren A. Denenberg

Hadar Ziv

Emily Navarro



INF 191B INF 191B Group supervised project in which students analyze, specify, design, construct, evaluate, and adapt a significant information processing system. Topics include team management, professional ethics, and systems analysis. Prerequisites for 191A: Informatics 121, 131, 151; either Informatics 161 as a prerequisite or Informatics 123 as a corequisite; and upper-division standing; for 191B: Informatics 191A; for 191C: Informatics 191B. In-progress grading for 191B only. Darren A. Denenberg

Hadar Ziv

Emily Navarro



INF 201 INF 201 Introduction to strategies and idioms of research in informatics. Includes examination of issues in scientific inquiry, qualitative and quantitative methods, and research design. Both classic texts and contemporary research literature are read and analyzed. Kurt Squire



INF 203 INF 203 Introduction to qualitative research methods used to study computerization and information systems, such as open-ended interviewing, participant observation, and ethnography. Studies of the methods in practice through examination of research literature. Prerequisite: Informatics 251 or 261. Rebecca W Black



INF 205 INF 205 Quantitative research methods used to study computerization and information systems. Design of instruments, sampling, sample sizes, and data analysis. Validity and reliability. Longitudinal versus cross-sectional designs. Analysis of secondary data. Studies of the methods through examination of research literature. Prerequisites: basic knowledge of elementary statistics; Informatics 251 or 261. Constance Steinkuehler



INF 207S INF 207S Doctoral seminar centered on original research and writing. Provides a chance for doctoral students at all levels to present original work, brainstorm ongoing issues, and learn to provide and receive critical feedback from peers. Prerequisite: consent of instructor. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary. Melissa Mazmanian

Melissa Mazmanian



INF 209S INF 209S Current research and research trends in Informatics. Forum for presentation and criticism by students of research work in progress. May be repeated for credit. Bonnie P Ruberg

TBD

TBD



INF 231 INF 231 Introduction to the design and evaluation of user interfaces, with an emphasis on methodology. Cognitive principles, design life cycle, on-line and off-line prototyping techniques. Toolkits and architectures for interactive systems. Evaluation techniques, including heuristic and laboratory methods. Daniel Epstein



INF 232 INF 232 Introduction to contemporary topics in human-computer interaction, including methods, technologies, design and evaluation. Emerging application domains and their challenges to traditional research methods. Advanced architectures and technologies. Critical Issues. Some familiarity with HCI principles expected. Gloria Mark



INF 241 INF 241 The disappearing computer paradigm. Differences to the desktop computing model: applications, interaction in augmented environments, security, alternate media, small operating systems, sensors, and embedded systems design. Evaluation by project work and class participation. Same as CS 248A. Darren A. Denenberg



INF 244 INF 244 Embedded and ubiquitous system technologies including processors, DSP, memory, and software. System interfacing basics; communication strategies; sensors and actuators, mobile and wireless technology. Using pre-designed hardware and software components. Design case studies in wireless, multimedia, and/or networking domains. Prerequisites: B.S. degree in computer science; or ICS 51, CS 152; Mathematics 3A or 6G or ICS 6D; CS 161. Same as CS 244. Elaheh Bozorgzadeh



INF 251 INF 251 The role of information systems in supporting work in groups and organizations. Examines various technologies designed to support communication, information sharing, and coordination. Focuses on behavioral and social aspects of designing and using group support technologies. Yunan Chen



INF 261 INF 261 The social and economic impacts of computing and information technologies on groups, organizations, and society. Topics include computerization and changes in the character of work, social control and privacy, electronic communities, and risks of safety-critical systems to people. Roderic Nicholaus Crooks



INF 265 INF 265 Social and economic conceptions of information technology. Macrosocial and economic conditions that foster changes in information technologies. Social construction of information and computer technology in professional worlds. Theories of information technology and large-scale social change. Prerequisite: Informatics 251 or 261. Aaron Trammell



INF 273 INF 273 Explores the relationship between recent developments in information technology and the global transition to sustainability. Topics include: the role of IT systems in the provision of human needs and wants (e.g., smart grids, food systems, and other IT-enabled infrastructure, IT. Bill Tomlinson



INF 291S INF 291S Reading and analysis of relevant literature in Software Engineering under the direction of a faculty member. May be repeated for credit as topics vary. Sam Malek

Sam Malek



INF 043 INF 043 Concepts, methods, and current practice of software engineering. Large-scale software production, software life cycle models, principles and techniques for each stage of development. Only one course from In4matx 43, ICS 52, and ICS 105 may be taken for credit. Kristina Nasr

Hadar Ziv

Hadar Ziv

Emily Navarro



INF H081 INF H081 Provides a critical framework for how and why biases of many kinds are built into everyday digital tools. Reflections on ethics, technology, and design through case studies drawn from machine learning, CS education, engineering, social media, and criminal justice. Katie Anne Salen



SE 211 SE 211 Study of the concepts, methods, and tools for the analysis, design, construction, and measurement of complex software-intensive systems. Underlying principles emphasized. State-of-the-art software engineering and promising research areas covered, including project management. David Redmiles



SE 212 SE 212 Concepts in modern programming languages, their interaction, and the relationship between programming languages and methods for large-scale, extensible software development. Empirical analysis of programming language usage. Cristina Lopes



SE 213 SE 213 Rigorous techniques in requirements engineering - the requirements definition phase of software development - with a focus on modeling and specification. Topics include notations and models for requirements specification; and methods, tools, and processes for software requirements elicitation, representation, analysis. Hadar Ziv



SE 215 SE 215 Studies techniques for developing confidence in software from traditional testing schemes to integrated, multitechnique analytic approaches. Considers strengths and weaknesses and explores opportunities for synergistic technique application. Emphasis is on approaches integrated into the software process. James Jones



SE 219 SE 219 Study of the requirements, concepts, and architectures of comprehensive, integrated, software development and maintenance environments. Major topics include process support, object management, communication, interoperability, measurement, analysis, and user interfaces in the environment context. James Jones



SE 221 SE 221 Study of the concepts, representation techniques, development methods, and tools for architecture-centric software engineering. Topics include domain-specific software architectures, architectural styles, architecture description languages, software connectors, and dynamism in architectures. Sam Malek



SE 225 SE 225 Algorithms for the storage, retrieval, filtering, and classification of textual and multimedia data. The vector space model, Boolean and probabilistic queries, and relevance feedback. Latent semantic indexing; collaborative filtering; and relationship to machine learning methods. Iftekhar Ahmed



STATS 110 STATS 110 Lecture, three hours; laboratory, one hour. Introduction to statistical methods for analyzing data from experiments and surveys. Methods covered include two-sample procedures, analysis of variance, simple and multiple linear regression. Sevan Gregory Gulesserian (2)



STATS 111 STATS 111 Lecture, three hours; laboratory, one hour. Introduction to statistical methods for analyzing data from surveys or experiments. Emphasizes application and understanding of methods for categorical data including contingency tables, logistic and Poisson regression, loglinear models. Concurrent with Statistics 202. Sevan Gregory Gulesserian (2)



STATS 112 STATS 112 Lecture, three hours; laboratory, one hour. Introduction to statistical methods for analyzing longitudinal data from experiments and cohort studies. Topics covered include survival methods for censored time-to-event data, linear mixed models, non-linear mixed effects models, and generalized estimating equations. Concurrent with Statistics 203. Mine Dogucu



STATS 115 STATS 115 Basic Bayesian concepts and methods with emphasis on data analysis. Special emphasis on specification of prior distributions. Development for one-two samples and on to binary, Poisson, and linear regression. Analyses performed using free OpenBugs software. Mine Dogucu



STATS 120A STATS 120A Lecture, three hours; discussion, one to two hours. Introductory course covering basic principles of probability and statistical inference. Axiomatic definition of probability, random variables, probability distributions, expectation. Only one course from Statistics 120A, Mathematics 130A, and Mathematics 132A may be taken for credit. Yaming Yu

Sevan Gregory Gulesserian



STATS 120B STATS 120B Lecture, three hours; discussion, one to two hours. Introductory course covering basic principles of probability and statistical inference. Point estimation, interval estimating, and testing hypotheses, Bayesian approaches to inference. Weining Shen (2)



STATS 120C STATS 120C Lecture, three hours; discussion, one to two hours. Introductory course covering basic principles of probability and statistical inference. Linear regression, analysis of variance, model checking. Veronica Berrocal

Veronica Berrocal

Veronica Berrocal



STATS 170A STATS 170A Problem definition and analysis, data representation, algorithm selection, solution validation, and results presentation. Students do team projects and lectures cover analysis alternatives, project planning, and data analysis issues. First quarter emphasizes approach selection, project planning, and experimental design. Volodymyr Minin

Chen Li



STATS 170B STATS 170B Problem definition and analysis, data representation, algorithm selection, solution validation, and results presentation. Students do team projects and lectures cover analysis alternatives, project planning, and data analysis issues. Second quarter emphasizes project execution and analysis, and presentation of results. Volodymyr Minin

Chen Li



STATS 200A STATS 200A Basics of probability theory, random variables and basic transformations, univariate distributions - discrete and continuous, multivariate distributions. Prerequisites: Statistics 120A-B-C or equivalent or consent of instructor. Yaming Yu



STATS 200B STATS 200B Random samples, transformations, limit laws, normal distribution theory, introduction to stochastic processes, data reduction, point estimation (maximum likelihood). Prerequisites: Statistics 120A-B-C or equivalent or consent of instructor. Daniel Gillen



STATS 200C STATS 200C Interval estimation, hypothesis testing, decision theory and Bayesian inference, basic linear model theory. Prerequisites: Statistics 120A-B-C or equivalent or consent of instructor. Zhaoxia Yu



STATS 201 STATS 201 Introduction to statistical methods for analyzing data from experiments and surveys. Methods covered include two-sample procedures, analysis of variance, simple and multiple linear regression. May not be taken for graduate credit by Statistics graduate students. Prerequisite: knowledge of basic statistics (at level of Statistics 7). Concurrent with Statistics 110. Sevan Gregory Gulesserian (2)



STATS 202 STATS 202 Introduction to statistical methods for analyzing data from surveys or experiments. Emphasizes application and understanding of methods for categorical data including contingency tables, logistic and Poisson regression, loglinear models. May not be taken for graduate credit by Statistics graduate students. Prerequisite: Statistics 201 or equivalent. Concurrent with Statistics 111. Sevan Gregory Gulesserian (2)



STATS 203 STATS 203 Introduction to statistical methods for analyzing longitudinal data from experiments and cohort studies. Topics covered include survival methods for censored time-to-event data, linear mixed models, non-linear mixed effects models, and generalized estimating equations. May not be taken for graduate credit by Statistics graduate students. Prerequisite: Statistics 202 or equivalent. Concurrent with Statistics 112. Mine Dogucu



STATS 205 STATS 205 Basic Bayesian concepts and methods with emphasis on data analysis. Special emphasis on specification of prior distributions. Development for one-two samples and on to binary, Poisson, and linear regression. Analyses performed using free OpenBugs software. Michele Guindani



STATS 210 STATS 210 Statistical methods for analyzing data from surveys and experiments. Topics include randomization and model-based inference, two-sample methods, analysis of variance, linear regression and model diagnostics. Prerequisite: knowledge of basic statistics (at the level of Statistics 7), calculus, linear algebra. Hal Stern



STATS 210B STATS 210B Introduction to statistical methods for analyzing discrete and non-normal outcomes. Emphasizes the development and application of methods for categorical data, including contingency tables, logistic and Poisson regression, loglinear models. TBD



STATS 210C STATS 210C Introduction to statistical methods for analyzing longitudinal outcomes. Emphasizes the development and application of regression methods for correlated and censored outcomes. Methods for continuous and discrete correlated outcomes, as well as censored outcomes, are covered. Sevan Gregory Gulesserian



STATS 211 STATS 211 Development of the theory and application of generalized linear models. Topics include likelihood estimation and asymptotic distributional theory for exponential families, quasi-likelihood and mixed model development. Emphasizes methodological development and application to real scientific problems. Bin Nan



STATS 212 STATS 212 Development and application of statistical methods for analyzing corrected data. Topics covered include repeated measures ANOVA, linear mixed models, non-linear mixed effects models, and generalized estimating equations. Emphasizes both theoretical development and application of the presented methodology. Michele Guindani



STATS 220A STATS 220A Advanced topics in probability and statistical inference including measure theoretic probability, large sample theory, decision theory, resampling and Monte Carlo methods, nonparametric methods. Prerequisites: Statistics 200A-B-C. Yaming Yu



STATS 220B STATS 220B Advanced topics in probability and statistical inference including measure theoretic probability, large sample theory, decision theory, resampling and Monte Carlo methods, nonparametric methods. Prerequisites: Statistics 200A-B-C. Weining Shen



STATS 225 STATS 225 Introduction to the Bayesian approach to statistical inference. Topics include univariate and multivariate models, choice of prior distributions, hierarchical models, computation including Markov chain Monte Carlo, model checking, and model selection. Prerequisites: two quarters of upper-division or graduate training in probability and statistics, or consent of instructor. Babak Shahbaba



STATS 226 STATS 226 Fundamental topics in modern Bayesian Statistics. Topics include: theory of Markov chains, application of this theory to modern methods of Markov chain Monte Carlo sampling; mathematical background for Bayesian non parametric and semiparametric modeling, including Dirichlet Process Mixtures and Mixtures of Polya Trees prior. Prerequisite: Statistics 200A-B-C Michele Guindani



STATS 230 STATS 230 Numerical computations and algorithms with applications in statistics. Topics include optimization methods including the EM algorithm, random number generation and simulation, Markov chain simulation tools, and numerical integration. Prerequisites: two quarters of upper-division or graduate training in probability and statistics. Statistics 230 and CS 206 may not both be taken for credit. Babak Shahbaba



STATS 250 STATS 250 Statistical methods commonly used to analyze data arising from clinical studies. Topics include analysis of observational studies and randomized clinical trials, techniques in the analysis of survival and longitudinal data, approaches to handling missing data, meta-analysis, nonparametric methods. Prerequisite: Statistics 210. Tsung-Hua Lin



STATS 255 STATS 255 Statistical methods for analyzing survival data from cohort studies. Topics include parametric and nonparametric methods, the Kaplan-Meier estimator, log-rank tests, regression models, the Cox proportional hazards model and accelerated failure time models, efficient sampling designs, discrete survival models. Prerequisite: Statistics 211. Daniel Gillen



STATS 262 STATS 262 Covers the basic techniques and statistical methods used in designing surveys and analyzing collected survey data. Topics to be covered include: simple random sampling, ratio and regression estimates, stratified sampling, cluster sampling, sampling with unequal probabilities, multistage sampling, and methods to handle nonresponse. Prerequisites: Statistics 120A-B-C or equivalent. Zhaoxia Yu



STATS 270 STATS 270 Introduction to the theory and application of stochastic processes. Topics include Markov chains, continuous-time Markov processes, Poisson processes, and Brownian motion. Applications include Markov chain Monte Carlo methods and financial modeling (for example, option pricing). Prerequisites: Statistics 120A-B-C or consent of instructor. Statistics 270 and Mathematics 271A-B-C may not both be taken for credit. Volodymyr Minin



STATS 275 STATS 275 Training in collaborative research and practical application of statistics. Emphasis on effective communication as it relates to identifying scientific objectives, formulating a statistical analysis plan, choice of statistical methods, and interpretation of results and their limitations to non-statisticians. Babak Shahbaba



STATS 280 STATS 280 Periodic seminar series covering topics of current research in statistics and its application. Prerequisites: graduate standing and consent of instructor. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary. Babak Shahbaba

Hal Stern

TBD



STATS 281A STATS 281A Introduction to basic principles of probability and statistical inference. Axiomatic definition of probability, random variables, probability distributions, expectation. Yaming Yu

Sevan Gregory Gulesserian



STATS 281B STATS 281B Introduction to basic principles of probability and statistical inference. Point estimation, interval estimating, and testing hypotheses, Bayesian approaches to inference. Weining Shen (2)



STATS 281C STATS 281C Introduction to basic principles of probability and statistical inference. Contingency table analysis, linear regression, analysis of variance, model checking. Veronica Berrocal

Veronica Berrocal

Veronica Berrocal



STATS 295 STATS 295 May be repeated for credit as topics vary. Bin Nan

Veronica Berrocal

Bin Nan



STATS 005 STATS 005 An introduction to the field of Data Science; intended for entering freshman and transfers. Volodymyr Minin



STATS 068 STATS 068 Introduces key concepts in statistical computing. Techniques such as exploratory data analysis, data visualization, simulation, and optimization methods, will be presented in the context of data analysis within a statistical computing environment. David S Armstrong



STATS 007 STATS 007 Lecture, three hours; discussion, one to two hours. Basic inferential statistics including confidence intervals and hypothesis testing on means and proportions, t-distribution, Chi Square, regression and correlation. F-distribution and nonparametric statistics included if time permits. Only one course from Statistics 7, Statistics 8, Management 7, or Biological Sciences 7 may be taken for credit. No credit for Statistics 7 if taken after Statistics 67. David S Armstrong

Brigitte Baldi (2)

Brigitte Baldi (2)

Lee Ellen Kucera (2)

Brigitte Baldi (2)

Mine Dogucu

