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 147: Introduction to Human-Computer Interaction Design
Introduces fundamental methods and principles for designing, implementing, and evaluating user interfaces. Topics: user-centered design, rapid prototyping, experimentation, direct manipulation, cognitive principles, visual design, social software, software tools. Learn by doing: work with a team on a quarter-long design project, supported by lectures, readings, and studios. Prerequisite: 106B or X or equivalent programming experience.
Terms: Aut
| Units: 3-5
Instructors:
Landay, J. (PI)
;
Anderson, H. (TA)
;
E, J. (TA)
;
Eugene, L. (TA)
;
Hagestad, L. (TA)
;
Min, C. (TA)
;
Nader, S. (TA)
;
Singer, E. (TA)
;
Throckmorton, L. (TA)
;
Yong, S. (TA)
;
Zhu, C. (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)
CS 157: Logic and Automated Reasoning
An elementary exposition from a computational point of view of propositional and predicate logic, axiomatic theories, and theories with equality and induction. Interpretations, models, validity, proof, strategies, and applications. Automated deduction: polarity, skolemization, unification, resolution, equality. Prerequisite: 103 or 103B.
Terms: Aut
| Units: 3
| UG Reqs: GER:DB-EngrAppSci
CS 161: Design and Analysis of Algorithms
Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching. Prerequisite: 103 or 103B; 109 or
STATS 116.
Terms: Aut, Win, Spr, Sum
| Units: 3-5
| UG Reqs: GER:DB-EngrAppSci, WAY-FR
Instructors:
Guibas, L. (PI)
;
Su, J. (PI)
;
Williams, V. (PI)
;
Ahmed, D. (TA)
;
Anenberg, B. (TA)
;
Au, B. (TA)
;
Chiam, J. (TA)
;
Day, C. (TA)
;
Desai, S. (TA)
;
Ekmekji, A. (TA)
;
Eng, D. (TA)
;
Hildick-Smith, S. (TA)
;
Hong, J. (TA)
;
How, P. (TA)
;
Kim, A. (TA)
;
Lee, H. (TA)
;
NeCamp, J. (TA)
;
Ostrow, R. (TA)
;
Padmanabhan, S. (TA)
;
Pham, H. (TA)
;
Shen, C. (TA)
;
Starosta, A. (TA)
;
Su, J. (TA)
;
Weiler, A. (TA)
;
Yang, A. (TA)
CS 166: Data Structures
Techniques in the design, analysis, and implementation of data structures. Isometries between data structures (including red/black trees and 2-3-4 trees), amortized analysis (including Fibonacci heaps and splay trees), and randomization (including count-min sketches and dynamic perfect hash tables). Data structures for integers and strings (including van Emde Boas trees and suffix trees). Possible additional topics include functional data structures, concurrent data structures, and spatial data structures. Prerequisites: CS107 and
CS161.
Terms: Spr
| Units: 3-4
Instructors:
Schwarz, K. (PI)
;
Frank-Fischer, L. (TA)
;
Gibbons, K. (TA)
...
more instructors for CS 166 »
Instructors:
Schwarz, K. (PI)
;
Frank-Fischer, L. (TA)
;
Gibbons, K. (TA)
;
Goodman, I. (TA)
;
Saplitski, A. (TA)
CS 167: Readings in Algorithms
Recent research in the design and analysis of algorithms. Readings cover both classical and emerging topics, such as: computational models for massive data sets; data privacy; dimensionality reduction; exact and approximate algorithms for NP-hard problems; graph algorithms; hashing; online learning; search trees; streaming and sketching. Students are expected to respond to research papers, deliver an oral presentation, and complete a reading or programming project. Limited enrollment; preference given to undergraduates. Prerequisites:
CS161.
Terms: Spr
| Units: 3
Instructors:
Roughgarden, T. (PI)
;
Gupta, R. (TA)
Filter Results: