Course descriptions
(CS/EE 144) The ideas behind the web
The web is an essential part of our lives and we all depend on it every day, but do you really know what makes it work? This course studies the "big" ideas behind the web. Things like, how do search engines work? How can search engines make so much money from putting adds next to its search results? Are there ways to prevent spammers from accumulating lots of email addresses? What does the web actually look like? How big is the web? For all these questions and more, the course will provide a mixture of both mathematical models and real-world hands-on labs. This course can be combined with CS/EE 143 and CS/EE 145 to satisfy project requirement for CS undergraduate degree.[www]
(CS/EE 147) Network performance analysis
When designing a network protocol, distributed system, etc. it is essential to be able to quantify the performance impacts of design choices along the way. For example, should we invest in more buffer space or a faster processor? One fast disk or multiple slower disks? How should requests be scheduled? What dispatching policy will work best? Ideally, one would like to make these choices before investing the time and money to build a system. This class will teach students how to answer this type of "what if" emph by introducing students to analytic performance modeling, the tools necessary for rigorous system design. The course will focus on the mathematical tools of performance analysis (which include stochastic modeling, scheduling theory, and queueing theory) but will also highlight applications of these tools to real systems. This course is meant for advanced undergrads and beginning graduate students.[www]
(CS/SS 241) Introduction to SISL: Algorithmic game theory
Over the last few years there has been enormous activity at the interface of computer science, game theory, economics, and control. In this course, our goal is to survey some important of the important new areas that are emerging in this field. Some of the topics we will study include:-- Routing, scheduling, and load balancing games
-- Facility location and network formation games
-- Price of anarchy
-- Sponsored search
-- Learning in games
-- Mechanism design
-- Congestion control
This course is intended for advanced undergraduates and beginning graduate students. Post-docs are also encouraged to attend lectures on topics of interest to them, and need not be registered to do so. It is expected that students are comfortable with the basics of game theory, graph theory, probability theory, and Markov chains.
[www]
(CS/EE 245) Special topics in networking: Advanced network performance analysis
This is the course for those who want more after taking CS/EE 147. The course will focus on advanced topics such as large deviations, heavy-traffic analysis, heavy-tailed distributions, and queueing games. The course is packed with open research emphs that are both interesting mathematically and important to computer system design today.[www]
(CS/EE 245) Special topics in networking: Queueing network games
Queueing theory has long served as a fundamental tool for understanding the dynamics of computer systems from computer networks, to production systems, to airline scheduling, and beyond. However, traditional results view customer behavior as an exogenous parameter, unaffected by the details of the model, and thus cannot capture the impact of pricing and competition within the models. On the other hand, in recent years game theoretic techniques have been applied to the same range of problems in order to characterize the impact of customer behavior/reactions. However, using game theoretic techniques alone ignores the queueing dynamics inherent in these applications, e.g. networking. So, there is a mutual need for studying the interactions of game theory and queuing models. Our goal in this course is to quickly ramp up on the known literature combining game theory and queueing and then to develop and study new models in this area.[www]