15110 Principles of Computing

15110
Principles of Computing

SUMMER SESSION TWO - 2014

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. 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 Python Basics For Loops -
Unit 03: Algorithmic Thinking Algorithms, GCD Lists, Sieve of Eratosthenes - UPDATED -
Unit 04: Iteration Linear Search Insertion Sort Introduction to Computational Complexity
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  
Unit 09: Randomness Random Number Generators Games with Random Numbers Fractals and Cellular Automata*
Unit 10: Concurrency Pipelining, Parallel Processing Multitasking, Distributed Processing -
Unit 11: Visualizing Data Graphics in Python Simulation Sample Code (in class)
Unit 12: Artificial Intelligence Games and Search Strategies Natural Language Processing Smartest Machine on Earth
Unit 13: The Internet Design Principles Encryption* -
Unit 14: The Limits of Computing Intractability P and NP Non-computability
Epilogue The Future of Computing - -
*Special thanks to Dave Feinberg for some of the material used in these lectures.

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
Daily Planet: DNA Computer (how DNA can be used as a storage device)
Quantum Computing
Michio Kaku: Tweaking Moore's Law and the Computers of the Post-Silicon Era

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
Computing with DNA by Leonard M. Adleman

Quantum Computing with Molecules by Neil Gershenfeld and Isaac L. Chuang (Article in Scientific American, June 1998)