counter stats

Teaching

(CS/EE 144) The ideas behind our networked world

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 and will be offered every Winter.
[www]

(CS/EE 145) Projects in networking

Students work in small groups to design and execute a project in the area of networking, broadly construed. The goal is for the project to either end with a deliverable (e.g. a working web application prototype) or a publishable conference paper. Students should have completed a project proposal and formed their groups during CS/EE 144 before registering for the course. This course will be offered every spring and can be combined with CS/EE 143 and 144 to satisfy the project requirement for CS undergraduate degree.
[www]

(CS/EE 146) Advanced networking: Green IT

CS/EE 146 is a topics course in networking and this is the version that was offered in Spring 2011. Our focus was on energy-efficient designs of computer systems at all levels: including data centers, speed scaling, routing, storage, etc. Previous topics covered by the course have included smart grid and congestion control.
[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 and will be offered in alternate years. The specific topics covered by the course will vary from year to year.
[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 games, sponsored search, learning in games, mechanism design, prediction markets, network economics, and network formation games. This course is intended for advanced undergraduates and beginning graduate students and will be offered in alternate years.
[www]

(CS/EE 245) Special topics in networking: Queueing games

CS/EE 245 is an advanced topics course in networking meant for graduate students. The topic of the course changes from year to year and this version of the course focused on "queueing 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]