CPSC210/PLSC 369 // CPSC 310: "Technology, Power, and Security: Political Challenges of the Computer Age"
Twenty-first century societies are faced with both threats and opportunities that combine sophisticated computation with politics and international relations in critical ways. Examples include cyber warfare; cyber espionage; cyber crime; the role of social media in democratic self-governance, authoritarian control, and election "hacking"; cryptocurrencies; and mass surveillance. This course examines the political challenges wrought by massive increases in the power of computational and communication technologies and the potential for citizens and governments to harness those technologies to solve problems.
Co-taught with Yale Political Science Professor Steven Wilkinson.
CPSC610: "Topics in Computer Science and Law"
This course focuses on socio-technical problems in computing, i.e., problems that cannot be solved through technological progress alone but rather require legal, political, or cultural progress as well. Examples include but are not limited to computer security, intellectual property protection, cyber crime, cyber war, surveillance, and online privacy. The course is addressed to graduate students in Computer Science who are interested in socio-technical issues but whose undergraduate work may not have addressed them; it is designed to bring these students rapidly to the point at which they can do research on socio-technical problems. Students do term projects (either papers or software artifacts) and present them at the end of the term. For more information, see the course webpage.
CPSC411: "Law and Technology of Cyber Conflict: Practicum"
A cross-disciplinary practicum that addresses both technical and legal aspects of cyber conflict. Recent events, including the hacks of Sony and the U.S. Office of Personnel Management, illustrate the need for new thinking about the particular issues raised when cyber attacks originate from state or quasi-state actors. Professors from Yale Law School and the Computer Science Department will oversee intensive student projects on both legal and technical aspects of cyber conflict. Enrollment is limited to ten Yale College students. This is the second half of a yearlong course; the first half is CPSC 410.
More information about the course, including sample student papers, can be found here, on the webpage for a related research project.
Co-taught with Yale Law School professors Oona Hathaway and Scott Shapiro.
CPSC410: "Law and Technology of Cyber Conflict"
A cross-disciplinary seminar that addresses both technical and legal aspects of cyber conflict. Recent events, including the hacks of Sony and the U.S. Office of Personnel Management, illustrate the need for new thinking about the particular issues raised when cyber attacks originate from state or quasi-state actors. Professors from Yale Law School and the Computer Science Department will lead in-depth explorations of cyber conflict from both legal and technical points of view. Enrollment is limited to ten Yale College students. This is the first half of a yearlong course; the second half is CPSC 411.
More information about the course, including a syllabus, can be found here, on the webpage for a related research project.
Co-taught with Yale Law School professors Oona Hathaway and Scott Shapiro.
CPSC468/568: "Computational Complexity" (Spring 2007,
Fall 2007, Fall 2008, Fall 2009, Fall 2010, Fall 2012, Spring 2015,
Spring 2016, and Fall 2018)
Introduction to the theory of computational complexity. Basic complexity classes, including polynomial time, nondeterministic polynomial time, probabilistic polynomial time, polynomial space, logarithmic space, and nondeterministic logarithmic space. The roles of reductions, completeness, randomness, and interaction in the formal study of computation. After Computer Science 365 or with permission of the instructor. For more information, see the web page for the Spring 2016 offering of CPSC 468/568.
CPSC457/557: "Sensitive Information in a Wired World" (Fall
2003, Spring 2006, Fall 2011, and Fall 2013)
Increasing use of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data, i.e., data that, if used improperly, can harm data subjects. As a result, concern about the ownership, control, privacy, and accuracy of these data has become a top priority. This course focuses on both the technical challenges of handling sensitive data and the policy and legal issues facing data subjects, data owners, and data users. For more information, see the web pages for CPSC457 -- Fall 2013, CPSC457 -- Fall 2011, CPSC457 -- Spring 2006, and CPSC457 -- Fall 2003.
ECON425/563 // CPSC455/555: "Economics and Computation"
(Fall 2008 and Fall 2011)
A mathematically rigorous investigation of the interplay of economic theory and computer science with an emphasis on the relationship of incentive compatibility and algorithmic efficiency. Particular attention is paid to the formulation and solution of mechanism-design problems that are relevant to data networking and Internet-based commerce. Suitable for mathematically inclined advanced undergraduates and first- or second-year graduate students in Computer Science, Economics, or closely related fields. Familiarity with basic microeconomic theory and basic computational theory is desirable but not a formal prerequisite. For more information, see the web pages for 2011 and 2008.
Co-taught with Yale Economics Professor Dirk Bergemann.
CPSC202: "Mathematical Tools for Computer Science"
(Fall 2009 and Fall 2012)
Introduction to formal methods for reasoning and to mathematical techniques basic to computer science. Topics include propositional logic, discrete mathematics, and linear algebra. Emphasis on applications to computer science: recurrences, sorting, graph traversal, Gaussian elimination. For more information, see the webpages for CPSC202 -- Fall 2012 and CPSC202 -- Fall 2009.
CPSC156: "The Internet: Co-Evolution of Technology and Society"
(Fall 2003 and Spring 2007)
The purpose of CPSC156 is for students who are not Computer Science majors to understand in some depth how the Internet works and why it is an interesting and productive forum for human interation. Topics to be covered include but are not limited to Internet architecture and design philosophy, Internet-based business, user privacy, online identity, and digital copyright. Required work will include "hands-on" assignments in which students build simple Internet artifacts or use the net to accomplish something that would be difficult to accomplish offline and short-essay homework assignments and exams. The course will cover some of the material previously covered in CPSC155, but it will also cover some non-business-related "social issues" and, unlike CPSC155, will include a significant technology component and "hands-on" problem sets. There will be reading assignments to supplement lectures and written homeworks. Students who have already taken CPSC155 may not take CPSC156 for credit but may audit it. For more information, see the web pages for CPSC156 -- Spring 2007 and CPSC156 -- Fall 2003.
CPSC155: "E-Commerce: Doing Business on the Internet" (Fall
2001, Spring 2001, and Spring 2003)
Introduction to Electronic Commerce. The emphasis is on Internet-based business and the relationship of business developments to underlying technological developments. Some of the readings also cover business models and legal, social, and political implications. Suitable for all Yale undergraduates; the only prerequisite is Internet literacy. For more information, see the web pages for CPSC155 -- Spring 2003, CPSC155 -- Fall 2001, and CPSC155 -- Spring 2001.
CPSC655, "E-Commerce Foundations" (Fall 2000)
Advanced graduate seminar on current technical developments that are important to electronic commerce. Topics include the relationship of computational feasibility to incentive-compatibility; cryptography, authorization mechanisms, and digital rights management; massive data sets, database technology, and datamining algorithms.