This course is a survey of computer science as a discipline and its interaction with other disciplines, incorporating historical development, theories, and computer science tools (algorithm design and programming). Topics include mechanical computers, digital computers, bioinformatics, microcontrollers, robotics, security, scientific computing, simulation, and web technologies.