We will pursue the general (and very debatable) theme of GREAT IDEAS in COMPUTING (including some surprising algorithms). The ambitious goal is to try to identify some of the great ideas that have significantly influenced the field and have helped to make computing so pervasive. We will concentrate on mathematical, algorithmic and software ideas with the understanding that the importance and usefulness of these ideas depends upon (and often parallels) the remarkable ideas and progress in computing and communications hardware. As we will see, many of the great ideas were against the "prevailing opinion". The list of topics we shall discuss will depend to some degree on the background and interests of the class. Restricted to first-year students. Not eligible for CR/NCR option.
Some knowledge of probability theory