CS 108: Object-Oriented Systems Design
Software design and construction in the context of large OOP libraries. Taught in Java. Topics: OOP design, design patterns, testing, graphical user interface (GUI) OOP libraries, software engineering strategies, approaches to programming in teams. Prerequisite: 107.
Terms: Aut, Win
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Young, P. (PI)
;
Do, K. (TA)
;
Igbinedion, I. (TA)
;
Marks, M. (TA)
;
Short, L. (TA)
;
Truong, K. (TA)
;
Whittington, Z. (TA)
CS 109: Introduction to Probability for Computer Scientists
Topics include: counting and combinatorics, random variables, conditional probability, independence, distributions, expectation, point estimation, and limit theorems. Applications of probability in computer science including machine learning and the use of probability in the analysis of algorithms. Prerequisites: 103, 106B or X, multivariate calculus at the level of
MATH 51 or
CME 100 or equivalent.
Terms: Aut, Win, Spr
| Units: 3-5
| UG Reqs: WAY-AQR, WAY-FR, GER:DB-EngrAppSci
Instructors:
Piech, C. (PI)
;
Sahami, M. (PI)
;
Agrawal, A. (TA)
;
Apostolatos, A. (TA)
;
Chen, M. (TA)
;
Eric, M. (TA)
;
Goodman, I. (TA)
;
Haaland, C. (TA)
;
Hsu, I. (TA)
;
Lin, P. (TA)
;
Luo, A. (TA)
;
Martinez, P. (TA)
;
Nigam, P. (TA)
;
Puranik, A. (TA)
;
Rao, I. (TA)
;
Salloum, J. (TA)
;
Shapiro, J. (TA)
;
Sun, Y. (TA)
;
Wang, D. (TA)
;
Weiler, A. (TA)
CS 110: Principles of Computer Systems
Principles and practice of engineering of computer software and hardware systems. Topics include: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; security, and encryption; and performance optimizations. Prerequisite: 107.
Terms: Aut, Win, Spr
| Units: 3-5
| UG Reqs: GER:DB-EngrAppSci
CS 140: Operating Systems and Systems Programming
Operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling, and protection; memory organization and management, including virtual memory; I/O device management, secondary storage, and file systems. Prerequisite:
CS 110.
Terms: Aut, Win
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Mazieres, D. (PI)
;
Ousterhout, J. (PI)
;
Eby, C. (TA)
...
more instructors for CS 140 »
Instructors:
Mazieres, D. (PI)
;
Ousterhout, J. (PI)
;
Eby, C. (TA)
;
Lee, C. (TA)
;
Mani, A. (TA)
;
Moody, R. (TA)
;
Plattner, K. (TA)
;
Qin, H. (TA)
;
Washington, P. (TA)
;
Zhu, C. (TA)
;
Zhu, N. (TA)
CS 143: Compilers
Principles and practices for design and implementation of compilers and interpreters. Topics: lexical analysis; parsing theory; symbol tables; type systems; scope; semantic analysis; intermediate representations; runtime environments; code generation; and basic program analysis and optimization. Students construct a compiler for a simple object-oriented language during course programming projects. Prerequisites: 103 or 103B, and 107.
Terms: Spr
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Aiken, A. (PI)
;
Clapp Jimenez Labora, L. (TA)
;
Do, K. (TA)
...
more instructors for CS 143 »
Instructors:
Aiken, A. (PI)
;
Clapp Jimenez Labora, L. (TA)
;
Do, K. (TA)
;
Heule, S. (TA)
;
Papadakis, M. (TA)
;
Srinivasan, S. (TA)
CS 144: Introduction to Computer Networking
Principles and practice. Structure and components of computer networks, packet switching, layered architectures. Applications: web/http, voice-over-IP, p2p file sharing and socket programming. Reliable transport: TCP/IP, reliable transfer, flow control, and congestion control. The network layer: names and addresses, routing. Local area networks: ethernet and switches. Wireless networks and network security. Prerequisite:
CS 110.
Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Levis, P. (PI)
;
McKeown, N. (PI)
;
Basich, C. (TA)
;
Do, K. (TA)
;
Gong, A. (TA)
;
Hong, J. (TA)
;
Miller, K. (TA)
;
Wang, H. (TA)
CS 145: Introduction to Databases
The course covers database design and the use of database management systems for applications. It includes extensive coverage of the relational model, relational algebra, and SQL.The course includes database design and relational design principles based on dependencies and normal forms. Many additional key database topics from the design and application-building perspective are also covered: indexes, views, transactions, authorization, integrity constraints, triggers, on-line analytical processing (OLAP), JSON, and emerging NoSQL systems. Class time will include guest speakers from industry and additional advanced topics as time and class interest permits. Prerequisites: 103 and 107 (or equivalent).
Terms: Aut
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Re, C. (PI)
;
Ekmekji, A. (TA)
;
Gupta, S. (TA)
;
Kaymaz, C. (TA)
;
Kulshreshtha, A. (TA)
;
Li, Y. (TA)
;
McKenzie, K. (TA)
;
Ratner, A. (TA)
;
Sundaresan, V. (TA)
;
Tan, J. (TA)
;
Tsai, S. (TA)
CS 148: Introduction to Computer Graphics and Imaging
Introductory prerequisite course in the computer graphics sequence introducing students to the technical concepts behind creating synthetic computer generated images. Focuses on using OpenGL to create visual imagery, as well as an understanding of the underlying mathematical concepts including triangles, normals, interpolation, texture mapping, bump mapping, etc. Course will cover fundamental understanding of light and color, as well as how it impacts computer displays and printers. Class will discuss more thoroughly how light interacts with the environment, constructing engineering models such as the BRDF, plus various simplifications into more basic lighting and shading models. Also covers ray tracing technology for creating virtual images, while drawing parallels between ray tracers and real world cameras to illustrate various concepts. Anti-aliasing and acceleration structures are also discussed. The final class mini-project consists of building out a ray tracer to create visually compelling images. Starter codes and code bits will be provided to aid in development, but this class focuses on what you can do with the code as opposed to what the code itself looks like. Therefore grading is weighted toward in person "demos" of the code in action - creativity and the production of impressive visual imagery are highly encouraged. Prerequisites:
CS 107,
MATH 51.
Terms: Aut, Sum
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci, WAY-CE
Instructors:
Fedkiw, R. (PI)
;
Hossain, Z. (PI)
;
Bao, M. (TA)
;
Hyde, D. (TA)
;
Jin, J. (TA)
;
Kao, S. (TA)
;
Lee, M. (TA)
;
Neubauer, M. (TA)
;
Riggs, J. (TA)
;
Winter, H. (TA)
CS 154: Introduction to Automata and Complexity Theory
This course provides a mathematical introduction to the following questions: What is computation? Given a computational model, what problems can we hope to solve in principle with this model? Besides those solvable in principle, what problems can we hope to efficiently solve? In many cases we can give completely rigorous answers; in other cases, these questions have become major open problems in computer science and mathematics. By the end of this course, students will be able to classify computational problems in terms of their computational complexity (Is the problem regular? Not regular? Decidable? Recognizable? Neither? Solvable in P? NP-complete? PSPACE-complete?, etc.). Students will gain a deeper appreciation for some of the fundamental issues in computing that are independent of trends of technology, such as the Church-Turing Thesis and the P versus NP problem. Prerequisites:
CS 103 or 103B.
Terms: Win
| Units: 3-4
| UG Reqs: GER:DB-EngrAppSci
CS 155: Computer and Network Security
For seniors and first-year graduate students. Principles of computer systems security. Attack techniques and how to defend against them. Topics include: network attacks and defenses, operating system security, application security (web, apps, databases), malware, privacy, and security for mobile devices. Course projects focus on building reliable code. Prerequisite: 110. Recommended: basic Unix.
Terms: Spr
| Units: 3
| UG Reqs: GER:DB-EngrAppSci
Instructors:
Boneh, D. (PI)
;
Mitchell, J. (PI)
;
Deitch, T. (TA)
;
Dixit, C. (TA)
;
Dlabal, J. (TA)
;
Kulshreshtha, A. (TA)
;
Lim, S. (TA)
;
Theis, E. (TA)
;
Yan, K. (TA)
Filter Results: