Web Excursionsin Computer Science

"Computer science is no more about computers than astronomy is about telescopes."

E. W. Dijkstra

Extrinsic Useful Material:

  • A Beginner's Guide to HTML
  • The World Wide Web Help Page
  • General Course Material:

  • The Analytical Engine Online (Introduction to Computer Science Course on the Web).
  • Tools for Thought
  • Specific Course Material

    Index:

    1. Algorithms and Ancient Machines
    2. Algorithms and Modern Machines
    3. Processing Numbers
    4. Processing Text
    5. Processing Images
    6. Computational Geometry
    7. Searching Data Bases
    8. Computers as Models of Brains and Intelligence
    9. Computers in Statistics and Exploratory Data Analysis
    10. Computer Vision
    11. Network Security
    12. Computer Graphics and Visualization
    13. Philosophical, Ethical and Social Implications of Computers

    1. Algorithms and Ancient Machines:

    1. Computers: From the Past to the Present
    2. A History of Information Technology
    3. Modular Arithmetic with Ashtrays and Pebbles
      1. Modular Arithmetic Calculator
      2. Modular Arithmetic Practice Session
    4. Gravity as a Computer
      1. Computing the Centroid of a Polygon with a Plumbline
    5. The Knotted String Computer
    6. Pythagoras' Theorem:
      1. Pythagoras' Theorem (An award winning proof and interactive demo)
      2. Animated Proof of the Pythagoream Theorem by M. D. Meyerson
      3. A Hinged Dissection Proof of the Pythagorean Theorem
      4. Other Dissection Proofs (with interactive Java applets)
      5. The Chinese Square Proof of the Pythagorean Theorem
      6. Two dozen other proofs of the Pythagorean theorem
      7. The Converse of Pythagoras' Theorem
    7. The Abacus
      1. The Abacus in various number systems
    8. Napier's Bones in Various Bases
    9. The Virtual Museum of Computing
    10. Links to History of Computing
    11. (2) The Straight Edge and Compass

    12. Euclid's Elements
    13. Euclid of Alexandria
    14. More Euclid on the Web
    15. Relative computing power of machines
      1. The Collapsing Compass
      2. The Compass without straight edge (Mohr-Mascheroni)
    16. Heron's Shortest Path via a Line (with interactive Java applet)
      1. More on Heron's problem and other constrained shortest path problems (with interactive Java applets)
      2. More about Heron of Alexandria
    17. The Lunes of Hippocrates
      1. More about Hippocrates of Chios

    2. Algorithms and Modern Machines:

    1. The Turing machine
    2. Computability theory
    3. Binary Numbers
    4. Error correcting codes
    5. Logic gates
    6. How logic gates add 2 + 3
    7. Boolean logic
    8. Boolean logic gates
    9. Boolean gates and adders
    10. Boolean Algebra
    11. More Boolean Algebra
    12. Logic and Boolean algebra
    13. Searching the Web with Boolean logic
    14. More about George Boole
    15. Computational Complexity

    3. Processing Numbers:

    1. What is a Number?
    2. Elementary number theory
    3. Numbers: Real, rational, integer and binary numbers (bits and bytes)
    4. Floating Point Numbers
    5. Newton's Method:
      1. Introduction to Newton's method
      2. Computing approximate square roots with Newton's Method
    6. The Euclidean factorization algorithm
    7. Prime Numbers:
      1. Prime numbers (FAQ's)
      2. Historical introduction to primes
      3. The Prime Number Home Page
      4. Euclid's Proof of the Infinitude of Primes
      5. Prime Number Generator
    1. Sorting Numbers:
      1. Selection sort tutorial
      2. Bubble sort tutorial
      3. Heap sort tutorial
      4. Merge sort tutorial (Divide and Conquer)
    2. Sorting Algorithm Animations (Applets also sort your own set of numbers!)
    3. More Sorting Algorithm Animations
    4. Sorting Code
    5. 3.3 Creating Disorder (Randomness)

    6. Probability and Random Number Generation
      1. Visualizing randomness
      2. More on generating random numbers
    7. Monte Carlo Simulation:
      1. Buffon's Needle
      2. Rolling Dice
    8. Randomness and the Netscape browser

    4. Processing Text:

    1. Data compression
      1. Introduction to Data Compression
      2. Fundamental Concepts
      3. Shannon-Fano Coding
        1. More about Claude Shannon
        2. The Significance of Claude Shannon's Work
        3. Pictures of Shannon
        4. More about Robert Fano
      4. Huffman coding
      5. More About David Huffman
    2. Morse Code
      1. Morse Code basics
      2. The International Morse Code
      3. More about Samuel Morse
    3. Introduction to probability and information theory
    4. Entropy
    5. Markov models of natural language (monkeys and typewriters)
    6. Spelling correction programs.
    7. Determining unknown authorship of manuscripts.

    5. Processing Images:

    1. Tiles, pixels and grids.
    2. Obtaining grey-level images with a digital camera.
    3. Obtaining binary images from grey-level images (thresholding).
    4. Finding connected components in binary images (contour tracing with cellular automata).
    5. Smoothing:
      1. smoothing images (noise removal)
      2. smoothing polygons
    6. Sharpening images (spatial differentiation).
    7. The Medial Axis of a shape (with interactive Java applet)
    8. Cellular Automata

    6. Computational Geometry:

    1. Polygons: crossing, simple and convex.
    2. Polygonizing Sets of Points
    3. The area of a polygon.
    4. Determining if a point is inside a polygon.
    5. Smoothing polygons and polygonal waveforms.
    6. Application to point facility location (minimal spanning circle of a set of points in the plane).
    7. Convex Hulls:
    8. Linear programming and optimization problems (with Java applet)

    7. Searching Data Bases:

    1. Data Structures.
    2. Binary search.

    8. Computers as Models of Brains & Intelligence:

    1. Real and Artificial Neurons
    2. Threshold logic units.
    3. Dr. Gurney's course on neural networks.
    4. Perceptrons & neural networks (learning machines).
    5. Playing Games
    6. Artificial Life
    7. Decision theory.
    8. Recognizing patterns (how can a robot tell an orange from a banana).
    9. The Poetry Generator
    10. Artificial intelligence on-line demos
    11. Expert Systems

    9. Computers in Statistics and Exploratory Data-Analysis:

    1. Graphs and networks.
    2. The minimal spanning tree and its application to cluster analysis.
    3. Unsupervised learning.
    4. Robust estimation of location (onion peeling).

    10. Computer Vision:

    1. The Hough transform.
    2. Detecting lines in a digital image with the Hough transform.
    3. Image segmentation in document analysis.
    4. Text-line orientation inference in document analysis (another application of the minimal spanning tree).

    11. Computer Network Security:

    1. Electronic mail.
    2. Coding theory.
    3. Basics of classic ciphers
    4. More about private-key cryptography.
    5. Cryptanalysis (breaking secret codes).
    6. Creative Cryptography
    7. Francis Bacon and Cryptography
    8. Are there cyphers in Shakespeare? (by PennLeary)
    9. Public-key encryption
    10. Basics of public-key cryptography.

    12. Computer Graphics and Visualization:

    1. Turtle geometry.
    2. Fractals:
    3. Hidden surface removal.
    4. The painter's algorithm.
    5. Virtual reality.

    13. Philosophical, Ethical and Social Implications of Computers:

    1. Bibliography on the Philosophy of Artificial Intelligence
    2. Can a computer think?
      1. Turing's test.
      2. Searle's Chinese Room Argument.
      3. The Robot Reply.
      4. How to pass the Turing Test by cheating
    3. Conversing with Computer Programs - The Loebner Prize.
      1. About the program DEBRA (the Canadian winner of the 1994 Loebner Prize).
      2. Obtain sex advice from DEBRA
      3. About the program JULIA
      4. Talk to JULIA about Cats and Dogs.
      5. About the program ELIZA
      6. Obtain free psychotherapy from ELIZA.
    4. Computer Art
      1. MONDRIMAT: competition with Mondrian?
    5. Privacy.
    6. Computers and Law.
    7. Computers and Medicine.
      1. Medical Robotics and Computer-Assisted Surgery
    8. Men and Women in Computing Science:
      1. Women and Computer Science
      2. Past Notable Women in Computing and Mathematics