15110 Principles of Computing

Principles of Computing

FALL 2012



Jump Image Fast Links: Slides | Videos/Websites | Articles

Use any posted notes as support material for use in class to help you learn more effectively. Notes will generally be posted AFTER they are presented in class as a means of review. Note that any handouts posted do NOT substitute for going to class. We will discuss more than what you see in the basic slides below. You will need Adobe Acrobat Reader to view the pdf files.


  Part A Part B Part C
Unit 01: History of Computing Overview Pre-Electronic Computing Electronic Computing
Unit 02: Introduction to Ruby Basics For Loops -
Unit 03: Algorithmic Thinking Ranges, Arrays, and Iterators Arrays, Sieve of Eratosthenes -
Unit 04: Iteration Linear Search Insertion Sort Introduction to Big O
Unit 05: Recursion Recursive Thinking Binary Search Merge Sort
Unit 06: Organizing Data List-Based Data Structures Hash Tables Non-Linear Data Structures
Unit 07: Data Representation Integer, Floating Point, Text Compression Images and Sound
Unit 08: Computer Organization Boolean Logic, Gates Levels of Abstraction The Machine's Language
Unit 09: Randomness Random Number Generators Games with Random Numbers More Fractals and Cellular Automata*
Unit 10: Concurrency Multitasking/Deadlock Pipelining/Distributed Computing
Unit 11: The Internet Design Principles Layers and Abstraction Encryption
Unit 12: Simulation Basic Concepts, Example Continuous-Time Simulations -
Unit 13: Artificial Intelligence Games and Search Strategies Natural Language Processing Smartest Machine on Earth
(NOVA video)

Watson wins Jeopardy!
Unit 14: The Limits of Computing Intractability P and NP Non-computability
Epilogue: The Future of Computing Quantum Computing    

Thanks to Tom Cortina for providing lecture material from previous sessions of the course.


NOTE: Since these links all come from web sources, some links may fail due to a video or file being moved or removed.

Abacus video (Digital calculator in Singapore)
Napier's Bones: How They Work
Stepped Drum (used in Liebniz' machine)
How the Pascaline works
Jacquard Loom Walkthrough - view first 2 minutes and start at 5:45 for loom demonstration
Difference Engine in operation (or take the full tour)
Hollerith tabulating machine
The HP-15C RPN Calculator as a Ipad App!
RGB Color Table
Elevated (Mountain Fractals in 4KB)
Stephen Wolfram: Computing a Theory of Everything (TED2010 Conference)
Conway's Game of Life
Quantum Computing


ENIAC: A Computer is Born - C|NET News Article
Algorithms Add Up To Big Business - Pittsburgh Post-Gazette, 4/1/07
Why Software Fails by Robert N. Charette (Article in IEEE Spectrum, September 2005).
On Computable Numbers, with an Application to the Entscheidungsproblem, by Alan Turing
Computing Machinery and Intelligence by Alan Turing
Quantum Computing with Molecules by Neil Gershenfeld and Isaac L. Chuang (Article in Scientific American, June 1998)
Computing with DNA by Leonard M. Adleman