Teaching — Arvind Narayanan

« Back

Fall 2015 COS 432 — Information Security
Course goals: learn how to design a secure system, how probe systems for weaknesses, how write code with fewer security bugs, and how use crypto libraries correctly. Learn to reason about and protect (or breach!) privacy, and to use your powers ethically.

Main topics: basic crypto, system and network security, web security, privacy technologies, cryptocurrencies, human factors, economics, and ethics of security.

Fall 2015 Bitcoin and Cryptocurrency Technologies (Online Version, Coursera)
Co-lecturers: Joseph Bonneau, Edward Felten, Andrew Miller.

To really understand what is special about Bitcoin, we need to understand how it works at a technical level. We’ll address the important questions about Bitcoin, such as: How does Bitcoin work? What makes Bitcoin different? How secure are your Bitcoins? How anonymous are Bitcoin users? What determines the price of Bitcoins? Can cryptocurrencies be regulated? What might the future hold?

After this course, you’ll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. You’ll have the conceptual foundations you need to engineer secure software that interacts with the Bitcoin network. And you’ll be able to integrate ideas from Bitcoin in your own projects.

Spring 2015 Bitcoin and Cryptocurrency Technologies (Online Version, Piazza)
Co-lecturers: Joseph Bonneau, Edward Felten, Andrew Miller.

To really understand what is special about Bitcoin, we need to understand how it works at a technical level. We’ll address the important questions about Bitcoin, such as: How does Bitcoin work? What makes Bitcoin different? How secure are your Bitcoins? How anonymous are Bitcoin users? What determines the price of Bitcoins? Can cryptocurrencies be regulated? What might the future hold?

After this course, you’ll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. You’ll have the conceptual foundations you need to engineer secure software that interacts with the Bitcoin network. And you’ll be able to integrate ideas from Bitcoin in your own projects.

Fall 2014 COS 597E — Advanced Topics in Computer Science: Bitcoin and Cryptocurrency Technologies
Underlying the widespread public interest in Bitcoin is an intricate balance of technology, market forces, and social norms. Bitcoin serves as an excellent case study for learning many core CS concepts — cryptography, distributed systems, game theory, programming languages, and system security.

Topics: first-generation cryptocurrencies, how Bitcoin achieves decentralization, mechanics of Bitcoin, Bitcoin as a currency, mining, anonymity, community and politics, Altcoins, Bitcoin as a platform, the future of Bitcoin. The first half of the course will be "flipped:" students will watch online lectures and class time will be used for discussion.

Spring 2014 COS 598B — Advanced Topics in Computer Science: Privacy Technologies
Link goes to Fall 2012–13 edition.

Fall 2013 COS 432 — Information Security
Security issues in computing, communications, and electronic commerce. Goals and vulnerabilities; legal and ethical issues; basic cryptology; private and authenticated communication; electronic commerce; software security; viruses and other malicious code; operating system protection; trusted systems design; network security; firewalls; policy, administration and procedures; auditing; physical security; disaster recovery; reliability; content protection; privacy.

Spring 2013 COS 226 — Algorithms and Data Structures
Co-instructor: Josh Hug.

This course surveys the most important algorithms and data structures in use on computers today. Particular emphasis is given to algorithms for sorting, searching, and string processing. Fundamental algorithms in a number of other areas are covered as well, including geometric and graph algorithms. The course will concentrate on developing implementations, understanding their performance characteristics, and estimating their potential effectiveness in applications.

Fall 2012 COS 597D — Advanced Topics in Computer Science: Privacy Technologies
Numerous privacy-enhancing technologies have been developed in the last few decades, often utilizing powerful math and algorithms. The results have been mixed — some have been successful while others have seen little adoption despite much hype and promise. In this course we will study privacy technologies, their uses and limitations, the reasons for their success and failure, and think critically about their place in society. More broadly, we will also try and understand the implications of ubiquitous data collection, aggregation and profiling.

On the technical end we will study topics like cryptography, differential privacy and anonymity (including Tor and Bitcoin). On the other hand we will see what scholars from the fields of human-computer interaction, law, economics, etc., as well as journalists and even sci-fi authors have to say about privacy technologies. Some of these papers include discussions of topics as diverse as 19th century railroads and piracy (the nautical kind!)

Fall 2012 FRS 125 — Friending, Following and Finding
Primary instructor: Andrea Lapaugh.

A few years ago, people found information on the Web by using a search engine (usually Google). Enter the social networks. Online social networks, Facebook in particular, have become primary destinations for many Web users. Now, we use social networks as well as search engines to find information, especially information where opinions matter. Social networks hold a wealth of information about users and behaviors, which can be of great value to search engines as well as other online applications.

This seminar will explore how we obtain information in the age of the online social network. We will consider how classic Web search technology works, and the great achievements and failures of the technology. We will examine what social networks can tell us and how these “social signals” are being used to enhance our ability to find information, both in explicit searches and in other applications such as recommendations. We will also consider social and legal issues, such as privacy, and the economics of search engines and social networks.

We will assume no prior knowledge of computer science and technology; the goal is to understand the high-level technological ideas and their importance. We will explore issues through reading selected articles and discussion. The work of the course will include both experimentation with technology and writing.