  Theoretical computer science (TCS) is a subdiscipline of computer science
that studies the mathematical foundations of computational and algorithmic
processes and interactions. Work in this field is often recognized by its
emphasis on mathematical technique and rigor. At the heart of the field are
questions surrounding the nature of computation: What does it mean to compute?
What is computable? And how efficiently?
  Every ten years or so the TCS community attends visioning workshops to
discuss the challenges and recent accomplishments in the TCS field. The
workshops and the outputs they produce are meant both as a reflection for the
TCS community and as guiding principles for interested investment partners.
Concretely, the workshop output consists of a number of nuggets, each
summarizing a particular point, that are synthesized in the form of a white
paper and illustrated with graphics/slides produced by a professional graphic
designer. The second TCS Visioning Workshop was organized by the SIGACT
Committee for the Advancement of Theoretical Computer Science and took place
during the week of July 20, 2020. Despite the conference being virtual, there
were over 76 participants, mostly from the United States, but also a few from
Europe and Asia who were able to attend due to the online format. Workshop
participants were divided into categories as reflected in the sections of this
report: (1) models of computation; (2) foundations of data science; (3)
cryptography; and (4) using theoretical computer science for other domains.
Each group participated in a series of discussions that produced the nuggets
below.
