Bitcoin and Cryptocurrency Technologies (Online Version)
Online version of Bitcoin and Cryptocurrency Technologies class taught at Princeton during Fall 2014-15.
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.
COS 598B — Advanced Topics in Computer Science: Privacy Technologies
Link goes to Fall 2012–13 edition.
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.
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.
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!)
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.