1 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part Welcome to CSE 599 Instructor: Rajesh Rao ([email protected]) TA: Aaron Shon ([email protected]) Class web page http://www.cs.washington.edu/education/courses/ 599/CurrentQtr/ Add yourself to the mailing listsee the web page Today’s lecture: Course Introduction What is Computation? History of Computing Theoretical Foundations: Part I
Welcome to CSE 599. Instructor: Rajesh Rao ([email protected]) TA: Aaron Shon ([email protected]) Class web page http://www.cs.washington.edu/education/courses/599/CurrentQtr/ Add yourself to the mailing list see the web page Today’s lecture: Course Introduction - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Background topics Theoretical foundations of computer science Silicon technology and digital computer organization Information theory and thermodynamics
DNA computing Using DNA-binding properties to solve computationally hard
problems
Neural computing Computation in animal brains and in artificial neural networks
Quantum computing Using quantum superposition for massively parallel computation
A working definition: A computer is a physical system whose:
physical states can be seen as representing elements of another system of interest
transitions between states can be seen as operations on these elements
Three basic steps:1. Input data is coded into a form appropriate for physical system2. Physical system shifts into a new state3. Output state of system is decoded to extract results of computation
Consider these 3 steps for our spaghetti computer example. Also holds for silicon, DNA, neural, and quantum computers.
If computers can have such varied substrates, how did we end up with silicon-based digital computers on our desks (rather than, say, organic, spaghetti-manipulating analog computers)?
Answer: Because of a convergence of theoretical and practical ideas in the history of computing…
The early years: Mapping numbers to objects (e.g. stones) Adding and subtracting by manipulation Stonehenge (~ 2800 BC) – a prehistoric computer of solar eclipses?
The first personal “calculator” – the abacus (a mnemonic aid based on place-value notation)
First software-based controller (1801): J.-M. Jacquard’s Automatic Loom Control program written on punched
cards
Babbage’s ideas for steam-powered computers Difference Engine (1822) for computing mathematical tables Analytical Engine (1833) for general computation (introduced conditionals) Both were never constructed
Church-Turing Thesis: The Turing machine is equivalent in computational ability to any general mathematical device for computation, including digital computers.
Important Result: There exist functions that are not computable by any computational device
We want to answer fundamental questions: What can we do in a reasonable amount of time? What can we do in a reasonable amount of space? What can we do at all?
What functions are computable? We can now ask: Are there functions that a Turing machine cannot
compute?
What functions are tractable? For what type of problems do fast and efficient algorithms exist? By efficient, we mean time- and space-efficient
This will then allow us to look at:Problems that are hard to solve on conventional computers but can be solved more efficiently using alternative computing methods such as DNA, neural, or Quantum Computing