Course Listing for 2016-17Note:This is a TENTATIVE schedule. The course listings shown here are neither guaranteed, nor considered "final". Department Chairs may provide updated information regarding course offerings or faculty assignments throughout the year. Be sure to check this list regularly for new or revised information.

Course Title description Fall 2016 Winter 2017 Spring 2017 Summer 2017 CS 111 CS 111Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Aditi Majumder

CS 112 CS 112Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Gopi Meenakshisundaram

CS 113 CS 113Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Darren A. Denenberg

CS 114 CS 114Projects 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. SEE CATALOGUE FOR PREREQUISITES. Shuang Zhao

CS 115 CS 115Discrete 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. SEE CATALOGUE FOR PREREQUISITES. Wayne Hayes

CS 116 CS 116Introduces 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. SEE CATALOGUE FOR PREREQUISITES. Charless Fowlkes

CS 117 CS 117Students 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. SEE CATALOGUE FOR PREREQUISITES. Charless Fowlkes

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

TBD

CS 122A CS 122AIntroduction 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. SEE CATALOGUE FOR PREREQUISITES. Philip C-Y Sheu

Michael Carey

Michael Carey

CS 122B CS 122BIntroduces 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. SEE CATALOGUE FOR PREREQUISITES. Chen Li

Chen Li

CS 122C CS 122CCovers 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. Prerequisite COMP SCI 122A and COMPSCI 143A and COMP SCI 152 Chen Li

CS 125 CS 125Discusses 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. SEE CATALOGUE FOR PREREQUISITES. Concurrent with CS 225. Ramesh Jain

CS 131 CS 131Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Alexander Veidenbaum

CS 132 CS 132An 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. SEE CATALOGUE FOR PREREQUISITES. Athina Markopoulou

Scott Jordan

CS 133 CS 133Fundamental 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. SEE CATALOGUE FOR PREREQUISITES. Magda Zarki

CS 134 CS 134Overview 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. SEE CATALOGUE FOR PREREQUISITES. Karim Eldefrawy

CS 137 CS 137Concepts 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. Prerequisites: CS 132 or consent of instructor, and upper-division standing. Same as Informatics 124. Sam Malek

CS 141 CS 141In-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.SEE CATALOGUE FOR PREREQUISITES. Shannon Alfaro

CS 142A CS 142AIntroduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support.SEE CATALOGUE FOR PREREQUISITES. Harry Xu

CS 143A CS 143APrinciples 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. SEE CATALOGUE FOR PREREQUISITES. Raymond O. Klefstad

Ardalan Amiri Sani

CS 143B CS 143BDetailed 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. SEE CATALOGUE FOR PREREQUISITES. Lubomir Bic

CS 145 CS 145Principles 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. SEE CATALOGUE FOR PREREQUISITES. Ian Harris

CS 145L CS 145LLaboratory to accompany COMPSCI 145. Corequisite: COMPSCI 145. Ian Harris

CS 146 CS 146User- and system-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. SEE CATALOGUE FOR PREREQUISITES. Wayne Hayes

CS 151 CS 151Boolean 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. SEE CATALOGUE FOR PREREQUISITES. Nikil Dutt

CS 152 CS 152Design 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. SEE CATALOGUE FOR PREREQUISITES. Isaac Scherson

CS 154 CS 154Design 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. SEE CATALOGUE FOR PREREQUISITES. Alexander Veidenbaum

CS 161 CS 161Time 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. SEE CATALOGUE FOR PREREQUISITES. David Eppstein

Daniel Hirschberg

CS 162 CS 162Formal 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. SEE CATALOGUE FOR PREREQUISITES. Michael Goodrich

CS 163 CS 163Algorithms for solving fundamental problems in graph theory. Graph representations, graph traversal, network flow, connectivity, graph layout, matching problems. SEE CATALOGUE FOR PREREQUISITES. Michael Goodrich

CS 167 CS 167An 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. SEE CATALOGUE FOR PREREQUISITES. Stanislaw Jarecki

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

CS 171 CS 171Different 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. SEE CATALOGUE FOR PREREQUISITES. Alexander Ihler

Eric Mjolsness

CS 172B CS 172BNeural 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. SEE CATALOGUE FOR PREREQUISITES. Pierre Baldi

CS 175 CS 175Construction of a working artificial intelligence system. Evaluation of capabilities of the system including impact of knowledge representation. SEE CATALOGUE FOR PREREQUISITES. Padhraic Smyth

Sameer Singh

CS 177 CS 177Application 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. SEE CATALOGUE FOR PREREQUISITES. Richert Kaiyou Wang

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

CS 184A CS 184AIntroduction 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. SEE CATALOGUE FOR PREREQUISITE. Xiaohui Xie

CS 184C CS 184CComputational 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. SEE CATALOGUE FOR PREREQUISITES. Eric Mjolsness

CS 190 CS 190May be repeated for credit if title or topic varies. Prerequisites vary. Ardalan Amiri Sani

Richert Kaiyou Wang

CS 200S CS 200SGraduate colloquium series. Includes weekly talks by notable computer scientists. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary. Harry Xu

Harry Xu

Harry Xu

CS 201 CS 201Explores 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 202Design 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 203Overview 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 206Overview 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

CS 211A CS 211AFundamentals 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 212 CS 212Organization and structure of modern multimedia systems; audio and video encoding/compression; quality of service concepts; scheduling algorithms for multimedia; resource management in distributed and multimedia systems; multimedia protocols over high-speed networks; synchronization schemes; multimedia applications and teleservices. Prerequisites: undergraduate degree in computer science or CS 143A and 161; CS 131, 132, and 133 recommended. Ramesh Jain

CS 213 CS 213Introduction 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 216The 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 221Algorithms 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. Cristina Lopes

CS 222 CS 222Covers 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 223Covers 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 225 CS 225Discusses 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 230Principles 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. Isaac Scherson

CS 232 CS 232A 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 233A 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 236 CS 236Introduction to wireless networking. The focus is on layers 2 and 3 of the OSI reference model, design, performance analysis, and protocols. Topics covered include: an introduction to wireless networking, digital cellular, next generation cellular, wireless LANs, and mobile IP. Prerequisites: CS 132 or EECS148, and an introductory course in probability or consent of instructor. Same as Networked Systems 230. Marco Levorato

CS 237 CS 237Discusses 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 241 CS 241Advanced 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 242Definition 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 243Emphasis 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 244Embedded 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 246 CS 246Embedded system building blocks including IP cores. Co-simulation. Formal verification using model checking. Verification environments. Test challenges in core integration: compliance, feature, random, and collision testing. Core access and test integration. Interface-based verification and standards. Prerequisite: B.S. degree in computer science or basic courses in algorithms and data structures, calculus, discrete mathematics, linear algebra, symbolic logic. Nikil Dutt

CS 248A CS 248AThe 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 248B CS 248BPrinciples and design techniques for ubiquitous computing applications. Conceptual basis for tangible and embodied interaction. Interaction in virtual and augmented environments. Design methods and techniques. Design case studies. Examination by project work. Prerequisites: Informatics 231 and 241. Same as Informatics 242. Joshua G. Tanenbaum

CS 250A CS 250AStudy 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 252 CS 252The 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. Elaheh Bozorgzadeh

CS 253 CS 253Concepts 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. James Jones

CS 259S CS 259SCurrent 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

CS 260 CS 260Covers 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. Daniel Hirschberg

Michael Dillencourt

CS 261 CS 261An 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 263Analysis of correctness and complexity of various efficient algorithms; discussion of problems for which no efficient solutions are known. Prerequisites: CS 161 and 261. David Eppstein

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

CS 268 CS 268A 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 269SCurrent research and research trends in the theory of algorithms and data structures. May be repeated for credit. Sandy Irani

TBD

TBD

CS 271 CS 271The 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 273A CS 273AComputational 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. Alexander Ihler

CS 274A CS 274AAn 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 274C CS 274CNeural 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 276 CS 276Focuses 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 284A CS 284AIntroduction 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 284CComputational 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

CS 295 CS 295May be repeated for credit as topics vary. Sameer Singh

Ardalan Amiri Sani

Shuang Zhao

CSE 141 CSE 141In-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. Same as COMPSCI 141, IN4MATX 101. SEE CATALOGUE FOR PREREQUISITES. Shannon Alfaro

CSE 142 CSE 142Introduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support. SEE CATALOGUE FOR PREREQUISITES. Harry Xu

CSE 145 CSE 145Principles 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. Ian Harris

CSE 145L CSE 145LLaboratory section to accompany CSE 145 or COMPSCI 145. Ian Harris

CSE 161 CSE 161Time 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. Same as COMPSCI 161. SEE CATALOGUE FOR PREREQUISITES. David Eppstein

Daniel Hirschberg

CSE 181A CSE 181ATeaches problem definition, detailed design, integration and testability with teams of students specifying, designing, building, and testing complex systems. Lectures include engineering values, discussions, and ethical ramifications of engineering decisions. SEE CATALOGUE FOR PREREQUISITES. TBD

CSE 181B CSE 181BTeaches problem definition, detailed design, integration and testability with teams of students specifying, designing, building, and testing complex systems. Lectures include engineering values, discussions, and ethical ramifications of engineering decisions. SEE CATALOGUE FOR PREREQUISITES. TBD

CSE 181CW CSE 181CWCompletion, documentation, and presentation of projects started in CSE181A-B. Teaches engineering documentation writing and presentation skills. Students write comprehensive project reports individually and participate in a public presentation of the project's results. SEE CATALOGUE FOR PREREQUISITES. TBD

CSE 041 CSE 041Introduction 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 I&C SCI 31. David Kay (2)

Raymond O. Klefstad

David Kay

CSE 042 CSE 042Construction of programs for problems and computing environments more varied than in CSE41. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming. Language features beyond those in CSE41 are introduced as needed. Same as I&C SCI 32. SEE CATALOGUE FOR PREREQUISITES. Alex Thornton

Alex Thornton (2)

Alex Thornton

CSE 043 CSE 043Intermediate-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 I&C SCI 33. SEE CATALOGUE FOR PREREQUISITES Richard Pattis

Richard Pattis

Richard Pattis (2)

CSE 045C CSE 045CAn 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 I&C SCI 45C. SEE CATALOGUE FOR PREREQUISITES. Alex Thornton

Raymond O. Klefstad

Raymond O. Klefstad

Raymond O. Klefstad

CSE 046 CSE 046Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Same as I&C SCI 46. SEE CATALOGUE FOR PREREQUISITES. Richard Pattis

Richard Pattis

Alex Thornton

CSE 090 CSE 090Introduces 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 010Introduction 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. Debra Richardson

David Kay

ICS 011 ICS 011How the Internet works. Current public policy issues concerning the Internet. Introductory economics. Communications law.Interactions between information technology, economics, and law. Case studies about Internet and communications policy. Same as Economics 11. Scott Jordan

ICS 139W ICS 139WStudy and practice of critical and oral communication as it applies to information technology. Each student writes assignments of varying lengths, totaling at least 4,000 words. Prerequisite: satisfactory completion of the lower-division writing requirement; upper-division standing. Darren A. Denenberg

Shannon Alfaro

Richert Kaiyou Wang

Shannon Alfaro (2)

Shannon Alfaro

Emily Navarro

Richert Kaiyou Wang

ICS 161 ICS 161The 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. SEE CATALOGUE FOR PREREQUISITES. TBD

ICS 162 ICS 162Use 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. SEE CATALOGUE FOR PREREQUISITE. Shuang Zhao

ICS 163 ICS 163Design 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. Prerequisite: See Catalogue Aaron Trammell

ICS 166 ICS 166Game 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. SEE CATALOGUE FOR PREREQUISITES. Craig William Morrison

Kurt Squire

ICS 167 ICS 167Foundations 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. Prerequisite: ICS 160. Richert Kaiyou Wang

ICS 168 ICS 168Designing 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. Prerequisites: ICS 52 with a grade of C or better; ICS 167. Hadar Ziv

ICS 169A ICS 169AStudents 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. SEE CATALOGUE FOR PREREQUISITES. Joshua G. Tanenbaum

ICS 169B ICS 169BStudents 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. SEE CATALOGUE FOR PREREQUISITES. Joshua G. Tanenbaum

ICS 003 ICS 003Examines 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. Judith Gregory

ICS 031 ICS 031Introduction 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) David Kay (2)

Raymond O. Klefstad

David Kay

ICS 032 ICS 032Construction 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. Prerequisite: ICS 31/CSE41 with a grade of C or better. 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) Alex Thornton

Alex Thornton (2)

Alex Thornton

ICS 033 ICS 033Intermediate-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. Prerequisite: ICS 32/CSE42 with a grade of C or better. 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

Richard Pattis (2)

ICS 398A ICS 398ATheories, 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. David Kay

ICS 004 ICS 004Principles 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. Alfred Kobsa

ICS 045C ICS 045CAn 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 CSE45C. SEE CATALOGUE FOR PREREQUISITES. Alex Thornton

Raymond O. Klefstad

Raymond O. Klefstad

Raymond O. Klefstad

ICS 045J ICS 045JAn 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. SEE CATALOGUE FOR PREREQUISITES. Richert Kaiyou Wang

Mustafa Ibrahim

ICS 046 ICS 046Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Prerequisite: ICS 22/CSE22 or ICS H22 with a grade of C or better, or Informatics 42 with a grade of C or better, or EECS40. Same as CSE46. ICS 46/CSE46 and ICS H23 may not both be taken for credit. Formerly ICS 23. (Vb) Richard Pattis

Richard Pattis

Alex Thornton

ICS 005 ICS 005Explores 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

Bonnie Nardi

ICS 051 ICS 051Multilevel 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. SEE CATALOGUE FOR PREREQUISITES. Shannon Alfaro

Alexandru Nicolau

Elaheh Bozorgzadeh

ICS 053 ICS 053Principles 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. Prerequisite: ICS 51. Ian Harris

Raymond O. Klefstad

ICS 053L ICS 053LLaboratory to accompany ICS 53. Corequisite: ICS 53. Prerequisite: ICS 51. Ian Harris

Raymond O. Klefstad

ICS 060 ICS 060The 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. Rebecca W Black

Rebecca W Black

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

ICS 062 ICS 062Technologies 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. SEE CATALOGUE FOR PREREQUISITES. Aaron Trammell

ICS 006B ICS 006BRelations and their properties; Boolean algebras, formal languages; finite automata. SEE CATALOGUE FOR PREREQUISITES. Amelia Regan

Wayne Hayes

Lubomir Bic

ICS 006D ICS 006DCovers 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. SEE CATALOGUE FOR PREREQUISITES. Sandy Irani

Sandy Irani

Michael Dillencourt

ICS 006N ICS 006NMatrices 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) Gopi Meenakshisundaram

Xiaohui Xie

ICS 090 ICS 090Introduces 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. David Kay

Richard Pattis

INF 101 INF 101In-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. SEE CATALOGUE FOR PREREQUISITES. Shannon Alfaro

INF 113 INF 113Aims 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. SEE CATALOGUE FOR PREREQUISITES. Emily Navarro

INF 115 INF 115Aims 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. SEE CATALOGUE FOR PREREQUISITES. James Jones

INF 117 INF 117Specification, 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. SEE CATALOGUE FOR PREREQUISITES. Hadar Ziv

INF 121 INF 121Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Emily Navarro

INF 122 INF 122Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Emily Navarro

INF 124 INF 124Concepts 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. Sam Malek

INF 125 INF 125Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Darren A. Denenberg

INF 131 INF 131Presents 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. SEE CATALOGUE FOR PREREQUISITES. Matthew J. Bietz

Alfred Kobsa

INF 132 INF 132Students undertake significant projects in the elicitation and specification of HCI requirements and the thorough evaluation of user interfaces. SEE CATALOGUE FOR PREREQUISITES. Gillian Hayes

INF 133 INF 133Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Paul J Lumsdaine

INF 134 INF 134Students 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. SEE CATALOGUE FOR PREREQUISITES. Bill Tomlinson

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

TBD

INF 143 INF 143Introduction 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. SEE CATALOGUE FOR PREREQUISITES. David Redmiles

INF 148 INF 148Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Darren A. Denenberg

INF 151 INF 151Introduces 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. SEE CATALOGUE FOR PREREQUISITES. Gloria Mark

Gloria Mark

INF 153 INF 153Introduces 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. Paul Dourish

INF 161 INF 161Introduction 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. SEE CATALOGUE FOR PREREQUISITES. Geoffrey C Bowker

Geoffrey C Bowker

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

INF 163 INF 163Students 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. SEE CATALOGUE FOR PREREQUISITES. Paul Dourish

INF 171 INF 171Broad 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. SEE CATALOGUE FOR PREREQUISITES. Yunan Chen

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

INF 191A INF 191AGroup 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. Hadar Ziv

Darren A. Denenberg

INF 191B INF 191BGroup 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. Hadar Ziv

Darren A. Denenberg

INF 201 INF 201Introduction 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. Melissa Mazmanian

INF 203 INF 203Introduction 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 205Quantitative 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. Gloria Mark

INF 207S INF 207SDoctoral 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 209SCurrent research and research trends in Informatics. Forum for presentation and criticism by students of research work in progress. May be repeated for credit. Judy Olson

Yunan Chen

Yunan Chen

INF 211 INF 211Study 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

INF 212 INF 212Concepts 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. James Jones

INF 213 INF 213Examination of formal specification and modeling techniques, including algebraic, scenario-based, model-based, state-based, temporal and other logics, along with their related uses in software development. Hadar Ziv

INF 215 INF 215Studies 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

INF 221 INF 221Study 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

INF 223 INF 223Study of concepts, representations, techniques, and case studies in structuring software systems, with an emphasis on design considerations. Topics include static and dynamic system structure, data models, abstractions, naming, protocols and application programmer interfaces. Adriaan Van Der Hoek

INF 225 INF 225Cristina Lopes

INF 231 INF 231Introduction 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. Alfred Kobsa

INF 232 INF 232Introduction 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. Gillian Hayes

INF 233 INF 233Concepts related to the development of interactive software systems with a focus on knowledge-based tools and human-centered design. Topics span the fields of human-computer interaction, software engineering, and knowledge representation. Prerequisite: CS 171 or equivalent. David Redmiles

INF 235 INF 235Architectural concerns in advanced interactive systems. The design of current and emerging platforms for novel interactive systems. Paradigms such as constraint-based programming, multimodal interaction, and perceptual user interfaces for individual, distributed, and ubiquitous applications. David Redmiles

INF 241 INF 241The 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 242 INF 242Principles and design techniques for ubiquitous computing applications. Conceptual basis for tangible and embodied interaction. Interaction in virtual and augmented environments. Design methods and techniques. Design case studies. Examination by project work. Prerequisites: Informatics 231 and 241. Same as CS 248B. Joshua G. Tanenbaum

INF 244 INF 244Embedded 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 261 INF 261The 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. Geoffrey C Bowker

INF 265 INF 265Social 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. Paul Dourish

INF 273 INF 273Explores 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 291SReading and analysis of relevant literature in Software Engineering under the direction of a faculty member. May be repeated for credit as topics vary. James Jones

James Jones

INF 295 INF 295May be repeated for credit as topics vary. Gloria Mark

Kai Zheng

Rebecca W Black

Yunan Chen

Constance Steinkuehler

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

Emily Navarro

Emily Navarro

STATS 110 STATS 110Lecture, 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. SEE CATALOGUE FOR PREREQUISITE. Sevan Gregory Gulesserian

STATS 111 STATS 111Lecture, 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. SEE CATALOGUE FOR PREREQUISITE. Concurrent with Statistics 202. Sevan Gregory Gulesserian

Hernando Ombao

STATS 112 STATS 112Lecture, 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. SEE CATALOGUE FOR PREREQUISITE. Concurrent with Statistics 203. TBD

STATS 115 STATS 115Basic 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

TBD

STATS 120A STATS 120ALecture, 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. SEE CATALOGUE FOR PREREQUISITES. Only one course from Statistics 120A, Mathematics 130A, and Mathematics 132A may be taken for credit. Yaming Yu

STATS 120B STATS 120BLecture, 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. SEE CATALOGUE FOR PREREQUISITES. Weining Shen

STATS 120C STATS 120CLecture, three hours; discussion, one to two hours. Introductory course covering basic principles of probability and statistical inference. Linear regression, analysis of variance, model checking.SEE CATALOGUE FOR PREREQUISITES. Zhaoxia Yu

STATS 140 STATS 140Theory and application of multivariate statistical methods. Topics include statistical inference for the multivariate normal model and its extensions to multiple samples and regression, use of statistical packages for data visualization and reduction, discriminant analysis, cluster analysis, and factor analysis. Zhaoxia Yu

STATS 200A STATS 200ABasics 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 200BRandom 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. Babak Shahbaba

STATS 200C STATS 200CInterval 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 201Introduction 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. Tsung-Hua Lin

STATS 202 STATS 202Introduction 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

Hernando Ombao

STATS 203 STATS 203Introduction 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. TBD

STATS 205 STATS 205Basic 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

TBD

STATS 210 STATS 210Statistical 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. Hernando Ombao

STATS 211 STATS 211Development 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. Daniel Gillen

STATS 212 STATS 212Development 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. Daniel Gillen

STATS 220A STATS 220AAdvanced 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 220B STATS 220BAdvanced 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 225Introduction 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. Yaming Yu

STATS 230 STATS 230Numerical 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 240 STATS 240Theory and application of multivariate statistical methods. Topics include: likelihood and Bayesian inference for the multivariate normal model, visualization of multivariate data, data reduction techniques, cluster analysis, and multivariate statistical models. Prerequisites: Statistics 200A-B-C and Mathematics 121A. Zhaoxia Yu

STATS 245 STATS 245Statistical models for analysis of time series from time and frequency domain perspectives. Emphasizes theory and application of time series data analysis methods. Topics include ARMA/ARIMA models, model identification and estimation, linear operators, Fourier analysis, spectral estimation, state space models, Kalman filter. Prerequisites: Statistics 200A-B-C. Michele Guindani

STATS 250 STATS 250Statistical 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 275 STATS 275Training 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. Hernando Ombao

STATS 280 STATS 280Periodic 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. Hernando Ombao

Babak Shahbaba

Yaming Yu

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

STATS 067 STATS 067Lecture, three hours; discussion, two hours. Introduction to the basic concepts of probability and statistics with discussion of applications to computer science. SEE CATALOGUE FOR PREREQUISITES. Sevan Gregory Gulesserian

Sevan Gregory Gulesserian (2)

Harold E Dyck

TBD

STATS 068 STATS 068Introduces 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. Yaming Yu

STATS 007 STATS 007Lecture, 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. Brigitte Baldi (2)

Brigitte Baldi (2)

TBD

Brigitte Baldi (2)

TBD

STATS 008 STATS 008Lecture, three hours; discussion, one hour. Teaches introductory statistical techniques used to collect and analyze experimental and observational data for health sciences and molecular, cellular, environmental and evolutionary biology. Specific topics include exploration of data producing data, probability and sampling distributions, basic statistical inference for means, proportions, linear regression, and analysis of variance. Only one course from Statistics 8, Statistics 7, Management 7, Biological Sciences 7, or Social Ecology 13 may be taken for credit. Brigitte Baldi

Brigitte Baldi

Brigitte Baldi