Web Excursions in Computer Science

## Creating Order

### Processing Text:

• Data compression
• Huffman coding
• Introduction to probability and information theory (entropy).
• Markov models of natural language (monkeys and typewriters)
• Spelling correction programs.
• Determining unknown authorship of manuscripts.

### Processing Images:

• Tiles, pixels and grids.
• Obtaining grey-level images with a digital camera.
• Obtaining binary images from grey-level images (thresholding).
• Finding connected components in binary images (contour tracing with cellular automata).
• Smoothing images (noise removal).
• Sharpening images (spatial differentiation).

### Processing Geometric Objects:

• Polygons: crossing, simple and convex.
• Determining if a point is inside a polygon.
• Smoothing polygons and polygonal waveforms.
• Application to point facility location (minimal spanning circle of a set of points in the plane).
• Application to the convex hull (Jarvis' algorithm).

### Data Structures:

• Arrays.
• Stacks
• Queues
• Trees.
• Efficient queries and binary search.

### Computers as Models of Brains & Intelligence:

• The McCullock-Pitts formal neuron.
• Threshold logic.
• Perceptrons & neural networks (parallel machines).
• Learning algorithms.
• Game trees.
• Decision theory.
• Recognizing patterns (how can a robot tell an orange from a banana).

### Computers in Statistics and Exploratory Data-Analysis:

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

### Computer Vision:

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

### Computer Networks

• Electronic mail, passwords and privacy.
• Coding theory and cryptography.
• Transposition and substitution ciphers.
• Cryptanalysis (breaking secret codes).
• The Knapsack problem.
• Public-key cryptosystems (the Hellman-Merkle-Diffie cryptosystem)

### Computer Graphics and Visualization:

• Turtle geometry.
• Fractals.
• Hidden surface removal.
• The painter's algorithm.
• Virtual reality.

### Philosophical, Ethical and Social Implications of Computers:

• Can a computer think? Turing's test.
• Computer art (competition with Mondrian?).
• Law.
• Medicine.
• Computer psychotherapy.

Teaching Activities           Homepage