Graduate Courses in Information and Computer Science

200 Seminar in Research in ICS (2). Graduate orientation program and colloquium series. Includes talks by ICS faculty in all areas about their current research. Satisfactory/Unsatisfactory only. Formerly ICS 202.

398A Teaching Assistant Training Seminar (2) F. 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. Formerly ICS 398.

398B Advanced Teaching Assistant Seminar (2) F. Teaching computer science at the university level, emphasizing issues in teaching an entire course. Course organization, designing examinations and projects, grading, motivating students. Participants will begin to assemble teaching portfolios. Satisfactory/Unsatisfactory only. Prerequisite: ICS 398A or consent of instructor.

399 University Teaching (4). Involves on-the-job experience for Teaching Assistants. Limited to and required of Teaching Assistants.

Graduate Courses in Computer Science

201 Foundation of Cryptographic (4). Introduction to cryptographic protocols, including encryption, signature schemes, message authentication, and identification. Topics are presented using a provable security paradigm, when one identifies security goals and designs cryptographic schemes along with proofs they achieve these goals under clearly states assumptions. Prerequisites: CS 260 or 263, or consent of instructor. Formerly ICS 268.

202 Applied Cryptography (4). 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. Formerly ICS 247.

203 Network and Distributed Systems Security (4). 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. Formerly ICS 243G.

206 Principles of Scientific Computing (4). 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. Formerly ICS 282.

211A Computer Graphics (4). Euler characteristics, genus, manifolds; graphics, pipeline; lighting; texture-, bump-, and mip-mapping; spatial hierarchies; back-face/view-frustum culling; color theory; anti-aliasing, dithering; introduction to certain advanced topics like Monte Carlo methods, radiosity, ray tracing. Formerly ICS 285.

211B Advanced Topics in 3D Computer Graphics (4) F, W, S. 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. Formerly ICS 286.

212 Multimedia Systems and Applications (4). Organization 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 143 and 161; ICS 148, 153, and 156 recommended. Formerly ICS 218.

213 Introduction to Visual Perception (4). 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. Formerly ICS 288.

215 Data Mining (4). Introduction to the general principles of inferring useful knowledge from large data sets (commonly known as data mining or knowledge discovery). Relevant concepts from statistics, databases and data structures, optimization, artificial intelligence, and visualization are discussed in an integrated manner. Prerequisite: CS 273 or 274 or consent of instructor. Formerly ICS 278.

221 Information Retrieval, Filtering, and Classification (4). 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. Formerly ICS 207.

222 Principles of Data Management (4). 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. Formerly ICS 214A.

223 Transaction Processing and Distributed Data Management (4). 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. Formerly ICS 214B.

224 Advanced Topics in Data Management (4). Selected advanced topics in data management. Content differs in each offering and with instructor's 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. Formerly ICS 215.

230 Distributed Computer Systems (4). 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. Formerly ICS 242.

231 Queueing Networks (4). Probability, random processes, and queueing theory applied to computer networks. Poisson processes, Markov chains, queues, queueing networks, simulation. Prerequisites: ICS 243A and an introductory course in probability. Same as Networked Systems 251.

232 Internet (4). 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. Formerly ICS 243A.

233 Networking Laboratory (4). 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. Formerly ICS 234B.

234 Advanced Networks (4). Fundamental concepts of switching, advanced medium access control methods, virtual circuits, integrated services, quality of service, performance models, simulation, measurement. Prerequisite: CS 232. Same as Networked Systems 210. Formerly ICS 243C.

235 Internet Technology (4). Application layer Internet protocols, potentially including client/server, WWW, file sharing, group communications, Internet programming. Prerequisite: CS 232. Same as Networked Systems 220. Formerly ICS 243D.

236 Wireless and Mobile Networking (4). Introduction 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. Formerly ICS 243E.

237 Middleware for Networked and Distributed Systems (4). 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. Formerly ICS 243F.

239S Seminar in Parallel Distributed and Network Systems (2). Current research and research trends in parallel distributed and network systems. Forum for presentation and criticism by students of research work in progress. May be repeated for credit. Formerly ICS 249.

240 Language-Based Security (4). Teaches state-of-the art language-based techniques for increasing the security and reliability of software systems. Covers static (e.g., bytecode verification, proof-carrying code) and dynamic (e.g., reference monitors, stack inspection) techniques. Also discusses information flow and securing legacy code. Prerequisite: either CS 230, 242, or 262, or consent of instructor.

241 Advanced Compiler Construction (4). 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 142 or equivalent. Formerly ICS 211.

242 Parallel Computing (4). 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. Formerly ICS 244.

243 High-Performance Architectures and Their Compilers (4). 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. Formerly ICS 245.

244 Introduction to Embedded and Ubiquitous Systems (4). 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 6C or ICS 6A; CS 161. Same as Informatics 244. Formerly ICS 212.

245 Software for Embedded Systems (4). 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 6C or ICS 6A; CS 161. Formerly ICS 213.

246 Validation and Testing of Embedded Systems (4). Embedded 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. Formerly ICS 216.

247 Design Automation and Prototyping of Embedded Systems (4). System representation and modeling. Abstract and language models. Simulation as a modeling activity. Computation and hw/sw systems prototypes. System analysis using models. Constraint and interface modeling. Behavioral compilation and synthesis. Prerequisites: B.S. degree in computer science or ICS 6A, 51; CS 152, 161, 244; and Mathematics 3A or 6C. Formerly ICS 217.

248A Introduction to Ubiquitous Computing (4). 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.

248B Ubiquitous Computing and Interaction (4). Principles 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.

249S Seminar in Compilers and Operating Systems (2). Current research and research trends in system-level software such as compilers and operating systems. Forum for presentation and criticism by students of new published research and work in progress. Prerequisites: undergraduate degree in computer science or CS 142 and 143. May be taken for credit four times. Formerly ICS 219.

250A Computer Systems Architecture (4). Study of architectural issues and their relation to technology and software: design of processor, interconnections, and memory hierarchies. Prerequisites: CS 132 and 143A, or equivalent. Formerly ICS 241A.

250B Modern Microprocessors (4). Fundamental concepts and recent advances in computer architecture necessary to understand and use modern microprocessors. Topics span out-of-order execution, multiple instruction issue, control/data speculation, predication, advanced cache and DRAM organizations, embedded systems, DSP and multi-media instructions. Prerequisite: CS 250A or equivalent. Formerly ICS 241B.

251 Digital System Verification and Testing (4). Techniques for simulation, verification, and testing of hardware and mixed-mode systems. Fault models, test generation, algorithms, and functional testing. Design for testability. Prerequisite: consent of instructor. Formerly ICS 251.

252 Introduction to Computer Design (4). 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. Formerly ICS 252.

253 Design Description and Modeling (4). Introduction to design modeling. Overview of design description languages and demonstration of design modeling at different abstraction levels. Techniques and methodologies for simulating and testing of design. Prerequisites: CS 151, 152, and 250A; or consent of instructor. Formerly ICS 253.

254 Design Synthesis (4). Methods, algorithms, and tools for design synthesis on different levels of design: logic, register-transfer, behavioral, and system. CAD laboratory assignments using design tools for exploration of different synthesis algorithms. Prerequisites: CS 152 , 250A, or 252, or consent of instructor. Formerly ICS 256.

255 System Tools (4). Specification and requirement analysis of integrated systems. Support for early system-design decisions. Estimation and prediction of design metrics. System partitioning, modeling of hardware/software codesign. Synthesis from executable specifications. Prerequisites: CS 252 and 253; or consent of instructor. Formerly ICS 257.

258 Combinatorial Algorithms for Design Synthesis (4). Combinatorial optimization techniques and graph algorithms with application in design synthesis and development of CAD tools for design synthesis such as network flow theory, integer programming, SAT solvers, and more. Prerequisite: CS 161, 252, or familiarity with general area of design synthesis and algorithms.

259S Seminar in Design Science (2). 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. Formerly ICS 259.

260 Fundamentals of the Design and Analysis of Algorithms (4). 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. Formerly ICS 260.

261 Data Structures (4). An in-depth treatment of data structures and their associated management algorithms including resource complexity analysis. Prerequisite: ICS 23 and CS 161. Formerly ICS 261.

262 Computational Complexity (4). Advanced course in computational models and complexity classes. Covers the fundamentals of Turing Machines, Decidability, and NP-completeness. Includes discussion of more advanced topics including polynomial hierarchy, randomized complexity classes, #P-completeness and hardness of approximation. Prerequisite: CS 162. Formerly ICS 262.

263 Analysis of Algorithms (4). Analysis of correctness and complexity of various efficient algorithms; discussion of problems for which no efficient solutions are known. Prerequisites: CS 161 and 261. Formerly ICS 263.

264 Topics in Online Algorithms (4). Design and analysis of algorithms which make decisions with partial information. Focuses primarily on the use of competitive analysis, a means of evaluating online algorithms, although some probabilistic analyses are covered. Application areas covered vary. Prerequisite: CS 161 or equivalent. Formerly ICS 264.

265 Graph Algorithms (4). Graph definitions, representation methods, graph problems, algorithms, approximation methods, and applications. Prerequisites: CS 161 and 261. Formerly ICS 265.

266 Computational Geometry (4). 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. Formerly ICS 266.

267 Data Compression (4). An introduction to the theory and practice of modern data compression techniques. Topics include codes, coding, modeling, text compression, lossless and lossy image compression standards and systems, audio compression. Prerequisite: CS 161, 260, or 261. Formerly ICS 267.

269S Seminar in the Theory of Algorithms and Data Structures (2). Current research and research trends in the theory of algorithms and data structures. May be repeated for credit. Formerly ICS 269.

271 Introduction to Artificial Intelligence (4). 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. Formerly ICS 270A.

273A Machine Learning (4). 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. Formerly ICS 273A.

273B Kernel-Based Learning (4). Principles of kernel methods, support vector machines, and related machine learning methods. Applications to regression, classification, prediction, and other data analysis problems. Typical areas of application range from bioinformatics, to image analysis, to pattern recognition. Prerequisites: CS 273A or consent of instructor. Formerly ICS 273B.

274A Probabilistic Learning: Theory and Algorithms (4). 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. Formerly ICS 274A.

274B Learning in Graphical Models (4). 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. Formerly ICS 274B.

275 Network-Based Reasoning/Constraint Networks (4). Study of the theory and techniques of constraint network model. Covers techniques for solving constraint satisfaction problems: backtracking techniques, consistency algorithms, and structure-based techniques. Tractable subclasses. Extensions into applications such as temporal reasoning, diagnosis, and scheduling. Prerequisite: a basic course in algorithm design and analysis, or consent of instructor. Formerly ICS 275A.

276 Network-Based Reasoning/Belief Networks (4). 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. Formerly ICS 275B.

279S Seminar in Artificial Intelligence (2). Current research and research trends in artificial intelligence. May be repeated for credit. Formerly ICS 279.

281 Neural Networks (4). Introduction to concepts of artificial neural networks (ANNs). Architectures of supervised and unsupervised networks. Basic math of learning and performance rules. Formerly ICS 276A.

282 Models of the Brain (4). Basic neural anatomy and physiology. Fundamental cell types and their channel properties. Organization of telencephalic circuitry. Cortico-Hippocampal pathways. Synaptic plasticity: long-term potentiation. Behavioral implications of plasticity, interpretation of lesion experiments, computational network models based on physiology of plasticity. Formerly ICS 276B.

283 Cognitive and Computational Neuroscience (4). Computational analysis and simulation of physiological rules as sited in anatomical circuitries. Synaptic plasticity in the brain and its behavioral and psychological consequents in learning and memory. Theories of hippocampal function; thalamocortical function and interactions among neocortical layers. Formerly ICS 276C.

284A Representations and Algorithms for Molecular Biology (4). 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. Formerly ICS 277A.

284B Probabilistic Modeling of Biological Data (4). A unified Bayesian probabilistic framework for modeling and mining biological data. Applications range from sequence (DNA, RNA, proteins) to gene expression data. Graphical models, Markov models, stochastic grammars, structure prediction, gene finding, evolution, DNA arrays, single- and multiple-gene analysis. Prerequisite: a basic course in algorithms and molecular biology, or CS 284A or equivalent, or consent of instructor. Formerly ICS 277B.

284C Computational Systems Biology (4). 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. Formerly ICS 277C.

289S Seminar for Informatics in Biology and Medicine (2). Current research and research trends in bioinformatics and medical informatics. Forum for presentation and criticism by students of recently published research and work in progress. Prerequisite: CS 284A or 284B, or a basic understanding of bioinformatics or medical informatics. May be repeated for credit. Formerly ICS 209.

290 Research Seminar (2). Forum for presentation and criticism by students of research work in progress. Presentation of problem areas and related work. Specific goals and progress of research. Satisfactory/Unsatisfactory only. Formerly ICS 290.

291 Directed Research (2 to 12). Formerly ICS 291.

295 Special Topics in Information and Computer Science (4) F, W, S. Formerly was ICS 280.

298 Thesis Supervision (2 to 12). Individual research or investigation conducted in preparation for the M.S. thesis option or the dissertation requirements for the Ph.D. program. Formerly ICS 298.

299 Individual Study (2 to 12). Individual research or investigation under the direction of an individual faculty member. Formerly ICS 299.

Graduate Courses in Informatics

201 Research Methodology for Informatics (4). 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.

203 Qualitative Research Methods in Information Systems (4). 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. Formerly ICS 235A.

205 Quantitative Research Methods in Information Systems (4). 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. Formerly ICS 235B.

207 Descriptive Multivariate Statistics I (4). Mathematical tools to organize and illuminate the multivariate methods. Multiple regression analysis. Multi-dimensional scaling and cluster analysis. Statistical computing via MDS(x), DMDP, and SPSS. Students must enroll in the laboratory section which meets on Wednesdays. Satisfactory/Unsatisfactory grading only. Prerequisite: Social Science 100A-B-C or equivalent. Same as Social Ecology 290A and Social Science 201A. Formerly ICS 238A.

209S Seminar in Informatics (2). Current research and research trends in Informatics. Forum for presentation and criticism by students of research work in progress. May be repeated for credit. Formerly ICS 229.

211 Software Engineering (4). 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. Formerly ICS 221.

213 Formal Specification and Modeling (4). Examination 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. Formerly ICS 222.

215 Software Analysis and Testing (4). 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. Formerly ICS 224.

217 Software Processes (4). Explores vehicles for modeling, coding, and analyzing software processes. Considers integration of software process programming approaches with traditional management issues. Explores the use of software process execution as a vehicle for effective integration of tools into environments. Formerly ICS 225.

219 Software Environments (4). 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. Formerly ICS 228.

221 Software Architecture (4). 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. Formerly ICS 223.

223 Applied Software Design Techniques (4). Study 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. Formerly ICS 226.

231 Human-Computer Interaction (4). The design and evaluation of interfaces to computer systems and applications with special attention to their fit to human cognitive capabilities and organizational practices. Includes coverage of hypermedia, groupware, and other rapidly emerging developments. Formerly ICS 205.

233 Knowledge-Based User Interfaces (4). Concepts 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. Formerly ICS 206.

235 Advanced User Interface Architecture (4). Architectural 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. Formerly ICS 227.

241 Introduction to Ubiquitous Computing (4). 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. Formerly ICS 203A.

242 Ubiquitous Computing and Interaction (4). Principles 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. Formerly ICS 203B.

244 Introduction to Embedded and Ubiquitous Systems (4). 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 6C or ICS 6A; CS 161. Same as CS 244.

251 Computer-Supported Cooperative Work (4). 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. Formerly ICS 233.

261 Social Analysis of Computing (4). 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. Formerly ICS 230.

263 Computerization, Work, and Organizations (4). Selected topics in the influence of computerization and information systems in transforming work and organizations. Theories of organization and organizational change. Processes by which diverse information technologies influence changes in work and organizations over short and long time periods. Prerequisite: Informatics 251 or 261. Formerly ICS 234A.

265 Theories of Computerization and Information Systems (4). 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. Formerly ICS 234B.

267 Computing and Cyberspace (4). Selected topics in Internet-level computerization and systems, including electronic communities, distributed information services, electronic commerce, and digital libraries. Surveys systems and architectures. Theories of social interaction, computer-mediated communication, and social-technical system design. Examines social studies of cyberspace use and impacts. Prerequisite: Informatics 251 or 261. Formerly ICS 234C.

269 Computer Law (4). The American legal system and its provisions affecting computer systems, computer networks, and information processing. Intellectual property, contracts, privacy, liability for malfunction, computer crime, constitutional issues, transborder data flow, computer-based evidence, and litigation. Prerequisite: graduate standing or consent of instructor. Formerly Informatics 264.

270 Arts Computation Engineering Interdisciplinary Theory Seminar: Special Topics (4). Counterposes technological discourses with fine arts discourses and practices, with a focus on historical contextualization, utilizing critical theory and science and technology studies perspectives. Topics vary and are not repeated in any three-year period. May be repeated for credit as topics vary. Same as Engineering 270 and Arts Interdisciplinary 270.

271 Arts Computation Engineering Studio/Laboratory: Interactive Installation and Performance Design Workshop (4). Designing persuasive spatialized interactive experiences: spatially and temporally distributed narratives. User-system relationships. "Freedom" in interaction: authoriality and control. Audience and the spect-actor. Sensors, behavior logics, and multi-modal output. Machine learning and autopedagogic systems. Training in relevant technologies. May be taken twice for credit. Same as Engineering 271 and Arts Interdisciplinary 271.

272 Arts Computation Engineering Studio/Laboratory: Games and Algorithmic Systems in Literature and the Arts (4). Explores the cultural tradition of the game and game play with particular reference to the automation of games in computational systems and the close relation between gaming, improvisation, hypertext, and interactive art. Game programming techniques and projects. May be taken twice for credit. Same as Engineering 272 and Arts Interdisciplinary 272.

273 Arts Computation Engineering Studio/Laboratory: Spatial Interaction: Sensors and Input/Output (4). Designing and building sensor and effector systems for cultural applications. Sensors, sensor combinations, sensor data collection and interpretation, input/output techniques and devices. Same as Engineering 273 and Arts Interdisciplinary 273.

274 Arts Computation Engineering Studio/Laboratory: Real Space Interaction (4). Designing and building machine artworks, motion control, mechatronic, animatronic, and mobile robotic projects. Mechanics, electromechanics, electronics, microcontrollers, motor control. Aesthetico-critical as well as technical aspects subject to assessment. Same as Engineering 274 and Arts Interdisciplinary 274.

275 Arts Computation Engineering Studio/Laboratory: Cultural Practice in Immersive Media (4). Examines and moves beyond existing paradigms of virtuality. Sensor and input devices, their logics and limitations. Embodied and symbolic interaction. Panoramic and stereoscopic image technologies. Stereoscopic graphics and spatialized sound. Technical components and their integration. Collaborative projects. Same as Engineering 275 and Arts Interdisciplinary 275.

276 Arts Computation Engineering Studio/Laboratory: Telematic Performance and Teleoperative Art (4). Art and performance projects utilizing real time and quasi-real time distance interaction. Synchronous performance and distributed choreography. Network technologies and protocols. Speed, bandwidth, latency. Web-based technologies. Video and sound. Teleoperation/remote machine control. Same as Dance 276, Engineering 276, and Arts Interdisciplinary 276.

277 Arts Computation Engineering Studio/Laboratory: Special Topics (4). Focuses on currently emerging technologies, techniques, and cultural and critical issues. May be repeated for credit as topics vary. Same as Engineering 277 and Arts Interdisciplinary 277.

278 Arts Computation Engineering Thesis Research (4 to 12). Independent research for thesis and thesis project. May be taken for a total of 36 units. Same as Engineering 278 and Arts Interdisciplinary 278.

279 Special Topics in the Arts Computation Engineering (4). Prerequisites vary. May be repeated for credit as topics vary. Same as Engineering 279 and Arts Interdisciplinary 279.

290 Research Seminar (2). Forum for presentation and criticism by students of research work in progress. Presentation of problem areas and related work. Specific goals and progress of research. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary.

295 Special Topics in Informatics (4). May be repeated for credit as topics vary.

298 Thesis Supervision (2 to 12). Individual research or investigation conducted in preparation for the M.S. thesis option or the dissertation requirements for the Ph.D. program.

299 Individual Study (2 to 12). Individual research or investigation under the direction of an individual faculty member.

Graduate Courses in Statistics

200A-B-C Intermediate Probability and Statistical Theory (4-4-4). 200A: Basics of probability theory, random variables and basic transformations, univariate distributions—discrete and continuous, multivariate distributions. 200B: Random samples, transformations, limit laws, normal distribution theory, introduction to stochastic processes, data reduction, point estimation (maximum likelihood). 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.

210 Statistical Methods I: Linear Models (4). 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.

211 Statistical Methods II: Advanced Statistical Modeling (4). Analysis of data using extensions of the traditional linear model. Topics include generalized linear models (logistic and poisson regression), linear mixed models. Different approaches to inference are considered including likelihood-based methods and estimating equations. Prerequisite: Statistics 210 or equivalent.

212 Statistical Methods III: Longitudinal Data Analysis (4). 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. Prerequisite: Statistics 211 or equivalent.

220A-B Advanced Probability and Statistics Topics (4-4). 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.

225 Bayesian Statistical Analysis (4). 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: either Economics 220A-B, Mathematics 201A-B, Mathematics 131A-B-C/Statistics 120A-B-C, Psychology 203A-B, or consent of instructor.

230 Statistical Computing Methods (4). 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; possible courses include Economics 220A-B, Mathematics 131A-B-C/Statistics 120A-B-C, Mathematics 201A-B, Psychology 203A-B, and Statistics 225. Statistics 230 and CS 206 may not both be taken for credit.

240 Multivariate Statistical Methods (4). Theory 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.

245 Time Series Analysis (4). Statistical 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.

250 Biostatistics (4). 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.

255 Statistical Methods for Survival Data (4). 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.

260 Inference with Missing Data (4). Statistical methods and theory useful for analysis of multivariate data with partially observed variables. Bayesian and likelihood-based methods developed. Topics include EM-type algorithms, MCMC samplers, multiple imputation, and general location model. Applications from economics, education, and medicine are discussed. Prerequisites: Statistics 200A-B-C and 210.

265 Causal Inference (4). Various approaches to causal inference focusing on the Rubin causal model and propensity-score methods. Topics include randomized experiments, observational studies, non-compliance, ignorable and non-ignorable treatment assignment, instrumental variables, and sensitivity analysis. Applications from economics, politics, education, and medicine. Prerequisites: Statistics 200A-B-C and 210.

298 Thesis Supervision (2 to 12). Individual research or investigation conducted in preparation for the M.S. thesis option or the dissertation requirements for the Ph.D. program.

299 Individual Study (2 to 12). Individual research or investigation under the direction of an individual faculty member.


home Table of Contents