Current course

History and Future of Computing (undergraduate)
Spring 2016, CSCI 4830

Computer science is often viewed as an inherently modern discipline, but its intellectual roots and many of its core technologies reach back many generations. In this class, we will survey and ponder the history and the future of computing. This upper division undergraduate course will survey and ponder the history and future of computing. This course will focus on the technical context and trajectory of fundamental innovations in the history of computing (e.g., Babbage’s Difference Engine, the telegraph and Morse code, early "networks," information theory, numerical computation, the early Internet, etc.), and on computing’s likely future (Internet of Things, wearables and privacy, P vs. NP, ubiquitous artificial intelligence, self-driving cars, etc.). Students are expected to think critically about both the technical and the social aspects of computing in these contexts, and should be prepared to discuss the grand arc of computational progress, the specific technologies that have fueled it, and the problems, opportunities, and challenges computing poses for society.

Future courses

Fall 2016, CSCI 5352: Network Analysis and Modeling (graduate)

Short courses

Five Lectures on Networks
Learning from Data

Past courses

Spring 2015, CSCI 4830: History and Future of Computing
Spring 2014, CSCI 3104: Algorithms (undergraduate)
Fall 2013, CSCI 5352: Network Analysis and Modeling
Spring 2013, CSCI 5454: Design and Analysis of Algorithms
Spring 2012, CSCI 5454: Design and Analysis of Algorithms
Fall 2011, CSCI 7000: Inference, Models and Simulation for Complex Systems
Spring 2011, CSCI 5454: Design and Analysis of Algorithms
Fall 2010, CSCI 7000: Inference, Models and Simulation for Complex Systems