This is a draft Course Overview. Details are subject to change before the semester begins.
Overview
This course examines the intersection of economic and computational thinking, emphasizing core concepts, modeling, and mathematical analysis while highlighting connections to the digital economy and online systems. Covered topics include a subset of:
Game theory (with an emphasis on algorithmic game theory),
Auction design,
Incentive compatibility and mechanism design (with an emphasis on theoretical and algorithmic approaches),
Information elicitation
Matching
Reputation systems
Incentives in Blockchain and Cryptoeconomics
Privacy
Ethical Considerations
Classes will include discussion of theoretical and empirical content alongside algorithmic design. A core objective of the class is for students to explore both economic considerations of computational systems and computational constraints/methodologies for economic systems. Students will engage in both theoretical and computational exercises and complete a final project.
Prerequisites
We will assume familiarity with probability theory, single-variable calculus, linear algebra, and the basics of theoretical computer science (e.g., complexity theory, asymptotic runtime analysis). You should also be prepared to write multi-file programs in Python. No background in economic theory is assumed, although students without some economics background would benefit from a course that provides exposure to the basic ideas of utility maximization and rational behavior.
Book
We will be using a textbook which is currently being finalized by David Parkes (Harvard University) and Sven Seuken (U. Zurich), to be published by Cambridge University Press in 2025. The course will follow a draft of the book, with chapters distributed during the course. Other useful resources include: Networks, Crowds, and Markets: Reasoning About a Highly Connected World, by David Easley and Jon Kleinberg, as well as Twenty Lectures on Algorithmic Game Theory by Tim Roughgarden (these are not required reading).
Reading Before Class
Students should complete some simple comprehension questions before each class, these due by the beginning of class. It is very important to keep on top of the reading, and familiarity with the reading will be assumed during lecture. You should set aside two hours before each class for the reading.
I do not expect you to fully understand everything before coming to class. Rather, the goal you should set for yourself is to familiarize yourself with new terminology and definitions, and be ready to ask about things that you find especially confusing.
Support Resources
Online Q&A: We will be using Canvas. All announcements will be made on Canvas, and we encourage you to answer each other's questions (but without giving away answers to homework questions).
Office hours: Please make use of staff office hours! You are welcome to come with specific questions about the material, to discuss final project ideas, or just chat about things you find interesting.
Philosophy
You can expect the course staff to work hard to make the course useful for you, be available throughout the semester and look forward to meeting you in person, promptly answer your questions, and return assignments and midterms to you in a timely manner. We expect that you will, in turn, be prepared to play an active role in your learning, and come to class prepared (having done the assigned reading), and participate in classroom discussions. In this way, we can use class time to work together to develop a deeper understanding of the material.
CSCI336901 is a challenging class because it covers interdisciplinary material. But we'll work together to try to get as much understanding as possible of the underlying principles and methodologies. If you feel confused about something and you have given yourself some time to try to understand on your own, you should seek help by discussing it with other students or with the staff, or asking a question in the classroom. Other students might well have the same confusion!
Learning outcomes
After successful completion of this course, you will be able to...
Apply principles of economics and computation to
Understand, model and analyze the interplay between incentives and computation in the design of online platforms
Solve mathematical and conceptual problems involving such systems, including problems you have not seen before
Think about how to design (and justify) algorithms and protocols for new problems, using a range of skills, including formal modeling, analysis and simulation.
Organize your learned knowledge in Econ/CS, by
Articulating the big ideas from each lecture
Making connections between different concepts
Synthesizing concepts with ideas from other branches of computer science, including machine learning, complexity theory, and artificial intelligence
Having an appreciation for the way in which computational systems influence, and are influenced by, the aggregate behavior of groups of people
Collaborate and communicate clearly, in particular
Justify your thinking by clearly articulating the principles that apply in a given setting
Explain your solutions, either written or orally to peers and instructors
Logistics
Assignments
There are two types of assignments: theory and programming.
Theory assignments include qualitative discussion questions as well as formal, theoretical analysis. The qualitative questions will help you gain an understanding of the assumptions behind the models that we discuss, and the connections to real-world problems. The theoretical questions will teach you to formally analyze simplified economic and computational systems, and to reason precisely. Some problems will require you to write proofs. You should work by yourself on the theory assignments.
Programming assignments are mainly in Python, and will let you experiment with simplified models of real problems. These flow into contests (and very good performance can lift up a grade at a grade boundary). where we pit submissions against each other. The assignments are designed to give you the chance to be creative and experiment with different ideas. You are strongly encouraged to work in pairs on the programming assignments.
Midterms
There will be two in-class midterms. The exams will cover material from class, from the problem sets, and from the book
Class Project
There is a class project. The goals of the project are to allow you to explore independent interests, learn more about a particular area, and practice teamwork and presentation skills. The project will result in a final paper that is due during reading week. Projects should be done in groups of 2 or 3, and may be primarily theoretical or primarily programming-based.
A project can also involve an exposition of a topic related to topics covered in class, but in this case should be done by a single student.
Grading
Problem sets are due at 5pm on Fridays. Students have a maximum of six late days during the semester. There is a two day maximum on any pset, with no credit after two late days. For pair assignments, only one student needs the late days, but they will be counted against both students (if you have remaining credit!).
Submissions are to Canvas. We will only give extensions for emergencies. In the case of regrade requests, the work will be regraded fully, and your grade may go up or down. Regrade requests are due 1 week after the grades are released.
We will evaluate the programming assignments according to the following criteria:
Correctness: does it work?
Write-ups: what did you do? Why? How well did it work? Why did you get the results you did? Is the writing clear?
In class contests: How does your approach compare to those of your classmates? Doing well in contests will be worth a large amount of glory (!) but will only factor into your grade at grade boundaries.
We will evaluate your solutions to theory assignments according to the following criteria:
Correctness: are your answers correct? This is precisely defined for mathematical questions, but includes having valid arguments in qualitative responses.
Clarity: is your explanation clear? Is the main argument muddled by a lot of irrelevant discussion?
Your final grade will be determined as follows:
Assignments: 45%
In-class midterms: 30%
Final project: 15%
Participation/completing reading comments: 10%
Each theory assignment will be equally weighted. The bottom theory assignment will not be counted in the final tally. Every student must attempt every assignment!
Collaboration Policy
The course philosophy is that we want you to work together and feel comfortable talking about the problem sets. Discussion and the exchange of ideas are essential to doing academic work. However, at the same time, we want to be able to grade your own work, and not the work of your friends. Please reach out to Francisco Marmolejo-Cossío if anything is unclear or you have concerns.
Comprehension Questions: You can discuss the reading with others but your responses should be your own.
Single-person Assignments (theory): For the theory assignments, you are encouraged to discuss with your classmates as you work on problem sets. However, you should not share answers, and after discussions with peers, you should make sure that you can work through the problem yourself and ensure that any answers you submit for evaluation are the result of your own efforts. In addition, you must cite any books, articles, websites, lectures, and such that have helped you with your work. Similarly, you must list the names of students with whom you have collaborated on problem sets.
Group assignments (programming): For the programming assignments, we expect you and your partners to design and implement the solutions together. You may also discuss with your classmates in other groups, but not share code or answers. Make sure that your group can work through the problem yourself, and ensure that any answers you submit are the results of your own efforts. In addition, you must cite any books, articles, websites, lectures, and such that have helped you with your work, and list the names of students from other groups with whom your group has collaborated.
Class project: You are encouraged to consult with your classmates on the choice of topic and to share resources. You may also find it useful to discuss your class project with other students. Otherwise, the guidelines are as above, depending on whether your project is a single-person or multi-person effort.
Generative AI/LLM policy (1 of 2): If you find it helpful, you may use LLMs in answering problem sets, both theoretical and programming based, just as you may consult a text book or web source. As there, you should cite any tools that you use, and as there, you should be able to provide a full explanation of your answers, so that these tools are used as a learning aid but not a replacement for your own learning. You will not be able to access LLMs during the in-class midterms.
Generative AI/LLM policy (2 of 2): For your end of class projects, you may choose to use LLMs as a tool to help with your writing, but as with all other work, you are responsible for the content of your paper, including its correctness and that it does not plagiarize other sources. In particular, you must have a full understanding of the paper that you turn in, and be able to explain its content (away from your AI helper!). Also, it is essential that you cite any tools that you use, including a few sentences to explain how you used them.
Your experience in this class is important to me. If you have already established accommodations with Connors Family Learning Center (learning disabilities and ADHD) and/or Disability Services (all other disabilities), please communicate your approved accommodations to me at your earliest convenience so we can discuss your needs in this course.
If you have or suspect you have a disability but have not yet established services through the Connors Family Learning Center or Disability Services, you can see the relevant website for information about the registration process.
Each office provides resources and coordinates reasonable accommodations for students. Reasonable accommodations are established through an interactive process between you, your instructor, and the relevant office. It is the policy and practice of Boston College to create inclusive and accessible learning environments consistent with federal and state law.
Boston College seeks to protect the integrity of what transpires in the classroom among students and professor, any course materials prepared by the professor, and the privacy of students and faculty. With this in mind, you are prohibited from recording (audio or video) any lectures, seminars, or other classroom activities without the express permission of the instructor. Authorized recordings (including any made in order to accommodate ADA considerations) and all other course materials (including any materials posted on Canvas) may only be used for the purposes of an individual’s (or group’s) study in the course, and may not be shared with any wider audience on or off campus unless the instructor has explicitly given such permission.
This class or portions of this class will be recorded by the instructor for educational purposes. These recordings will be shared only with students enrolled in the course and will be deleted at the end of the end of the course.
Both Massachusetts law and my core values of diversity and inclusion require that I make reasonable accommodations to to help students avoid negative academic consequences when their religious obligations conflict with academic requirements. I commit to making every reasonable effort to allow students to observe their religious holidays without jeopardizing your success in this course, and I will not ask you to choose between religious observance and academic work, though you will have to make up any work missed during your absence. Please let me know as early as possible if you notice any conflicts between requirements for this course and your religious observances, so that we can agree to a solution.
Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with differences of race, culture, religion, politics, sexual orientation, gender, gender variance, and nationalities. Class rosters are provided to the instructor with the student’s legal name. I will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of your name and pronouns early in the semester so that I may make appropriate changes to my records. You can also update your name and pronouns in Canvas at any time. You can also review the Name Change resource from the Office of Student Services for more information about how you can update your name in various campus systems. If you are an LGBTQ+ student looking for additional support as you prepare to discuss your name or pronouns on campus, you are encouraged to contact Ira Kirschner, Associate Director, Thea Bowman AHANA and Intercultural Center.
In order to advance Boston College’s goal of creating a community in which everyone is treated with respect, dignity, and compassion and where acts of prejudice, hatred, and discrimination are not tolerated, the university created the bias-related incident reporting form. This form allows targets and witnesses to hate crimes or bias-related incidents to easily report the behavior and get connected to networks of care. In subsequent conversations with the Dean of Students Office, students can also get a better handle on the available institutional processes for addressing harm. You can learn more about the process at the Hate Crimes & Bias-Related Incidents Protocol website.
A note on cell phones, texting, and checking one’s email during class: Research has shown us that even having our cell phones on the table in front of us diminishes our ability to learn well; further, taking notes via computer diminishes one’s ability to process information. Checking texts, emails, and messages is also unprofessional and disrespectful to our class community. Please turn off your phone, email, and computer during class; I will do so as well. I appreciate your cooperation with this important aspect of creating a class of which we all want to be a part.