15110 Principles of Computing

15110
Principles of Computing

SPRING 2012

HOME | COURSE INFO | SCHEDULE & EXAMS | LECTURES | LABS | ASSIGNMENTS | RESOURCES

LECTURES

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.

Slides

  Part A Part B Part C
Unit 01: History of Computing Pre-Electronic Computing Electronic Computing -
Unit 02: Introduction to Ruby Basics, Class Examples For Loops, Class Examples -
Unit 03: Algorithmic Thinking Algorithms, GCD 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 (REVISED)
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 Sorting Networks Pipelining/Distributed Computing
Unit 11: The Internet Design Principles Layers and Abstraction Encryption*
Unit 12: Simulation An Example, Class code Simulation Taxonomy -
Unit 13: Artificial Intelligence Games and Search Strategies Natural Language Processing Smartest Machine on Earth
(NOVA video)
Unit 14: The Limits of Computing Intractability P and NP Non-computability
Epilogue: The Future of Computing DNA & Quantum Computing    
*Special thanks to Dave Feinberg for some of the material used in these lecctures.

Videos/Websites

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)
Jacquard Loom Walkthrough - view first 2 minutes and start at 5:45 for loom demonstration
Difference Engine in operation
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

Articles

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