Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

CIS 115

Lecture 6: Universal Computers

Herman Hollerith

Image Source: Wikipedia

Punched Cards

Image Source: Wikipedia

Hollerith Tabulating Machine

Image Source: Wikipedia

IBM Type 285

Image Source: Wikipedia

Mark I

Image Source: Wikipedia

Eniac

Image Source: Wikipedia

Top Secret Rosies
Female Computers in WWII

Available at Hale Library

Alan Turing

Image Source: Wikipedia

Turing Machine

Image Source: Wikipedia

Turing Machine Instructions

  • Move Left 1
  • Move Right 1
  • Write 0
  • Write 1
  • If 0, Go to #
  • If 1, Go to #
  • Go to #
  • Stop

Turing Machine Example

Start with 2 items on a tape

  1. If 1, go to #5
  2. Move left
  3. If 0, go to #9
  4. If 1, go to #6
  5. Move Left
  6. Move Left
  7. Write 1
  8. Stop
  9. Move Left
  10. Write 0
  11. Stop





∨ Or

Turing Machine Example

Start with 2 items on a tape

  1. If 0, go to #7
  2. Move left
  3. If 0, go to #8
  4. Move Left
  5. Write 1
  6. Stop
  7. Move Left
  8. Move Left
  9. Write 0
  10. Stop





∧ And

John Von Neumann

Image Source: Wikipedia

Von Neumann Architecture

Image Source: Wikipedia

Assignments

Blog 3: Algorithms

Think about something that you do every day. That one thing probably is composed of many smaller steps, which you have to perform in the correct order. How would you describe those steps to someone unfamiliar with the action? How would you describe them to a robot that can follow your actions? While we may not think of it in this way very often, most of our daily lives could be expressed as an algorithm. Choose a few examples of actions you perform often, and write about how you would express them as algorithms. Some things to consider:

Lists in Scratch

Get an Item
Set an Item

Turing Machine Blocks

Turing Machine - Invert Bits