General Information | Course Description | Grading | Course Outline | Piazza | Homework | Course Conduct | Accommodations
Meetings: MWF 1:25pm–2:15pm, Olin Hall 255, map
- Piazza: piazza.com/cornell/spring2020/6840 (please make sure you are signed up, see piazza section)
- Homework Submission: CMS (homework submission)
Algorithmic Game Theory combines algorithmic thinking with game-theoretic, or more generally, economic concepts. Designing and analyzing large-scale multi-user systems and as well as such markets, requires good understanding of tools from algorithms, game theory, and graph theory. The course will develop mathematically sophisticated techniques at the interface between algorithms and game theory, and will consider their applications to markets, auctions, networks, as well as the Internet.
Course Outline: (subject to change).For lecture-by-lecture schedule and scribe notes see Lectures
Outcomes in games and Price of Anarchy
There is no required textbook for the course. The following are useful references.
- Tim Roughgarden.
Twenty Lectures on Algorithmic Game Theory, Cambridge University Press, 2016. See also the Amazon page.
- Tim Roughgarden, Vasilis Syrgkanis and Eva Tardos, The Price of Anarchy in Auctions (survey), Journal of Artificial Intelligence Research, 2017.
- David Easley and Jon Kleinberg Networks, Crowds and Markets, Cambridge University Press 2010,
- G. Weiss (ed) Multiagent Systems. MIT Press, 2013
The prerequisite for the course is CS 4820 (or equivalent) or permission of the instructor.
Your grade will based on 4 sets of homework sets (~15% each) with problem sets 3 and 4 a bit shorter, class participation, completion of a course evaluation, course project (including a proposal) (~30%,),
and a takehome final exam (~25%)
We will be using Piazza as an online discussion forum. Piazza allows for open discussions of all course-related questions. You are encouraged to post any questions you might have about the course material. The course staff monitor Piazza closely and you will usually get a quick response. If you know the answer to a question, you are encouraged to post it. Posting questions or answers that are endorsed by TAs or instructors can improve your participation grade.
By default, your posts are visible to the course staff and other students, and you should prefer this mode so that others can benefit from your question and the answer. However, you can post privately so that only the course staff can see your question, and you should do so if your post might reveal information about a solution to a homework problem. You can also post anonymously if you wish. If you post privately, we reserve the right to make your question public if we think the class will benefit.
Everyone who preregistered for the course will be signed up automatically by the start of the course. If you have never used Piazza before, or if you did not preregister for the course, visit the Piazza CS 6840 page to sign up.
Piazza is the most effective way to communicate with course staff. Please avoid email if Piazza will do. Broadcast messages from the course staff to students will be sent using Piazza and all course announcements will be posted there and pinned, so check the pinned announcements often!
Homework is an important part of the course. We will have regular homework assignments. All homework assignments will be posted on CMS. and need to be submitted on gradescope for problem sets, and CMS for the project and project proposal.
We will require problem sets to be typeset and submitted as a PDF. This requirement is for everyone's benefit. In general, we recommend that you first develop your solutions in draft form, and then write or type your solution in a concise way. Typesetting not only makes the last step essential (instead of handing in solution in draft form), it also makes it much easier for you to edit and improve your writeup, as well as easier for your TAs to read your proofs. It is up to you which tool you use; though we recommend LaTeX, tools like the Equation Editor in Microsoft Word can be surprisingly effective as an alternative. See typesetting resources for a list of typesetting software and references.
For some proofs or writeups, it may be helpful to use a figure to explain your thinking more concisely. This is encouraged! Again, it is up to you how you want to include that in your writeup, whether it is a picture of a drawing in your notebook that you took with your phone or something you made digitally, as long as the figure was produced by you personally and is clear enough to see, it's a great idea to include it.
In the real world of algorithms research, collaboration and conversation is an important part of how ideas get generated. So too in this course; we encourage you to discuss with your peers in the course to brainstorm ideas for how to get through homework. Homeworks and projects can be done with groups of 2-3 students each. Both the physical or digital distribution of information about solutions and the failure to acknowledge collaborators are serious violations of academic integrity.
For the homework, it is not admissible to use resources beyond course material and student discussions. In particular, you may not use Wikipedia, or search the Web, or look at any textbook, other than the ones assigned/recommended in the course. Using such additional resources is a violation of academic integrity. If you feel the resources available to you are insufficient, talk to course staff or ask questions on Piazza.
Advice for SuccessAlgorithms assignments can often require creative insights and complex proofs beyond what previous courses have required. Here are a few tips for succeeding in your writeups:
- Start your assignments early. Even if you aren't writing anything down yet, looking over the problem set well in advance of the due date can ensure you have enough time to brainstorm possible solutions and to clear up confusion about how to interpret a problem. Creativity doesn't work well on a deadline.
- Talk with classmates at a similar level about ideas. As previously stated, while you cannot share physical or digital solutions of any kind to these problems, we actively encourage you to talk to classmates while you work through them. In particular, we recommend finding a group of students to meet with throughout the semester in advance of the deadline to talk about ideas. For best results, make sure those students are at the same level of understanding of the material as you; talking through your ideas with colleagues with a similar level of understanding will make talking through ideas with each other easier and more equitable, and is more likely to leave you prepared for course exams.
- Ask questions in class, in office hours, and on Piazza. The material in this class moves quickly and is often cumulative. If you find yourself scratching your head after a lecture, even after consulting the textbook and course notes, you're certainly not alone, and it's better to seek help then than to wait until you are more confused.
Course Material Copyright
Course materials posted on this website, piazza, or CMS, are intellectual property belonging to the author. Students are not permitted to buy or sell any course materials without the express permission of the instructor. Such unauthorized behavior constitutes academic misconduct.
We understand that our members represent a rich variety of backgrounds and perspectives. Cornell University is committed to providing an atmosphere for learning that respects diversity. We expect students to communicate in a respectful manner with the instructors, course staff, and fellow students, in a way the honors the unique experiences, values, and beliefs represented by different members of our community.
Any violation of academic integrity will be severely penalized. You are allowed to collaborate on the homework to the extent of formulating ideas as a group. However, you are expected to write up (and understand) the homework on your own, and you should acknowledge the names of the students with whom you collaborated.
For the coding part of teh course, we use an automated system that uses sophisticated artificial intelligence techniques combined with program analysis tools to notice unusual similarities between programs turned in by different people. These tools really work and are quite hard to fool. So, while it might seem tempting to borrow a solution from a buddy, change the variable names and comments, or reorder the statements, the tools would be very likely to figure out what you did. The tool we use, called Moss, was developed by a Cornell PhD, now a professor at Stanford, over 10 years ago.
Absolute integrity is expected of every Cornell student in all academic undertakings. Integrity entails a firm adherence to a set of values, and the values most essential to an academic community are grounded on the concept of honesty with respect to the intellectual efforts of oneself and others. Academic integrity is expected not only in formal coursework situations, but in all University relationships and interactions connected to the educational process, including the use of University resources. […]
A Cornell student's submission of work for academic credit indicates that the work is the student's own. All outside assistance should be acknowledged, and the student's academic position truthfully reported at all times. In addition, Cornell students have a right to expect academic integrity from each of their peers.