Computing affects almost all aspects of modern life and all students deserve access to a computing education that prepares them to pursue a wide array of intellectual and career opportunities that computing has made possible. This course is not a tour of current events and technologies. Rather, it seeks to provide students with a “future proof” foundation in computing principles so that they are adequately prepared with both the knowledge and skills to live and meaningfully participate in our increasingly digital society, economy, and culture. We will cover the following topics: