CS 200: Care and Feeding of Large-Scale Web Services
Advances in cloud technologies are making it easier than ever to build web services. Today, one can choose from a number of cloud providers to buildnweb sites, mobile and web apps. Successful scaling of such services, however, is far from trivial. This course discusses technologies that are critical to successful operation of large-scale web services: Global load balancing via DNS, and Comparison of CDNs; Understanding TCP's impact on global client-side latency; Effect of tags and local storage on client-side latency; Backend servers: RPCs, server threading architecture and cluster management; Data storage alternatives: SQL and NoSQL; Faster access to data: Memcached and 20 years of RDMA; Flash's Role in Large Scale Distributed Systems; Cloud: Public, Private and Hybrid; Log processing: Hive and Dremel. The goal is to equip students with a good understanding of challenges and current solutions for service scaling. There is no homework. Instead, students are expected to read background materials and attend class discussions.
Terms: Spr
| Units: 1
Instructors:
Cao, P. (PI)
CS 202: Law for Computer Science Professionals
Intellectual property law as it relates to computer science including copyright registration, patents, and trade secrets; contract issues such as non-disclosure/non-compete agreements, license agreements, and works-made-for-hire; dispute resolution; and principles of business formation and ownership. Emphasis is on topics of current interest such as open source and the free software movement, peer-to-peer sharing, encryption, data mining, and spam.
Terms: Spr
| Units: 1
Instructors:
Hansen, D. (PI)
CS 204: Legal Informatics
Legal informatics based on representation of regulations in computable form. Encoding regulations facilitate creation of legal information systems with significant practical value. Convergence of technological trends, growth of the Internet, advent of semantic web technology, and progress in computational logic make computational law prospects better. Topics: current state of computational law, prospects and problems, philosophical and legal implications. This course is *Cross* listed with
LAW 729. Prerequisite: basic concepts of programming.
Terms: Aut, Spr
| Units: 3
Instructors:
Genesereth, M. (PI)
;
Vogl, R. (PI)
CS 205A: Mathematical Methods for Robotics, Vision, and Graphics
Continuous mathematics background necessary for research in robotics, vision, and graphics. Possible topics: linear algebra; the conjugate gradient method; ordinary and partial differential equations; vector and tensor calculus. Prerequisites: 106B or X;
MATH 51; or equivalents.
Terms: Aut
| Units: 3
Instructors:
Solomon, J. (PI)
CS 207: The Economics of Software
How businesses move software products into the marketplace and how the associated intellectual capital is exploited. The value of creators and managers. Concepts that are outside of the common knowledge of computer scientists such as business terms and spreadsheet computations to quantitatively compare alternatives. Goal is to contribute to informed decision making in high-tech product design, acquisition, production, marketing, selection of business structures, outsourcing, and impact of taxation policies. No specific background required. External experts complement class presentations.
Terms: Aut
| Units: 2
Instructors:
Wiederhold, G. (PI)
CS 210A: Software Project Experience with Corporate Partners
Two-quarter project course. Focus is on real-world software development. Corporate partners seed projects with loosely defined challenges from their R&D labs; students innovate to build their own compelling software solutions. Student teams are treated as start-up companies with a budget and a technical advisory board comprised of instructional staff and corporate liaisons. Teams will typically travel to the corporate headquarters of their collaborating partner, meaning some teams will travel internationally. Open loft classroom format such as found in Silicon Valley software companies. Exposure to: current practices in software engineering; techniques for stimulating innovation; significant development experience with creative freedoms; working in groups; real-world software engineering challenges; public presentation of technical work; creating written descriptions of technical work. Prerequisites:
CS 109 and 110.
Terms: Win
| Units: 3-4
Instructors:
Borenstein, J. (PI)
CS 210B: Software Project Experience with Corporate Partners
Continuation of
CS210A. Focus is on real-world software development. Corporate partners seed projects with loosely defined challenges from their R&D labs; students innovate to build their own compelling software solutions. Student teams are treated as start-up companies with a budget and a technical advisory board comprised of the instructional staff and corporate liaisons. Teams will typically travel to the corporate headquarters of their collaborating partner, meaning some teams will travel internationally. Open loft classroom format such as found in Silicon Valley software companies. Exposure to: current practices in software engineering; techniques for stimulating innovation; significant development experience with creative freedoms; working in groups; real world software engineering challenges; public presentation of technical work; creating written descriptions of technical work. Prerequisites:
CS 210A
Terms: Spr
| Units: 3-4
Instructors:
Borenstein, J. (PI)
CS 221: Artificial Intelligence: Principles and Techniques
Artificial intelligence (AI) has had a huge impact in many areas, including medical diagnosis, speech recognition, robotics, web search, advertising, and scheduling. This course focuses on the foundational concepts that drive these applications. In short, AI is the mathematics of making good decisions given incomplete information (hence the need for probability) and limited computation (hence the need for algorithms). Specific topics include search, constraint satisfaction, game playing, Markov decision processes, graphical models, machine learning, and logic. Prerequisites:
CS 103 or
CS 103B/X,
CS 106B or
CS 106X,
CS 107, and
CS 109 (algorithms, probability, and programming experience).
Terms: Aut
| Units: 3-4
Instructors:
Liang, P. (PI)
CS 223A: Introduction to Robotics (ME 320)
Robotics foundations in modeling, design, planning, and control. Class covers relevant results from geometry, kinematics, statics, dynamics, motion planning, and control, providing the basic methodologies and tools in robotics research and applications. Concepts and models are illustrated through physical robot platforms, interactive robot simulations, and video segments relevant to historical research developments or to emerging application areas in the field. Recommended: matrix algebra.
Terms: Win
| Units: 3
Instructors:
Kroeger, T. (PI)
CS 224M: Multi-Agent Systems
For advanced undergraduates, and M.S. and beginning Ph.D. students. The course serves primarily as an introduction to game theory, including computational aspects. Topics: basic game representations and solution concepts, social choice and mechanism design, multi-agent learning, communication. Applications discussed as appropriate; emphasis is on conceptual matters and theoretical foundations. Prerequisites: very basic probability theory and optimization.
Terms: Spr
| Units: 3
Instructors:
Shoham, Y. (PI)
Filter Results: