15-853: Algorithms in the Real World (Guy Blelloch and Jeremy Fineman, Fall 10)
Readings, Notes and Slides
- Lectures 1 and 2
Introduction: terminology, definitions of security, one-way-functions, protocols
Number theory review: groups, fields, discrete logs, Galois Fields
Private-key systems: block-ciphers, Rijndael
- Lecture 3
Public-key and Key-exchange systems: Diffie-Hellman, ElGamal, RSA, TLS
These are some other potentially useful readings
- Lecture 1. Introduction,
concurrency vs. parallelism, nested parallelism, modeling costs with
work and span, some examples.
- Lecture 2.
Parallel techniques: using collections, divide-and-conquer.
- Lecture 3 (revised).
Parallel techniques: contraction.
- Lecture 4.
Parallel dynamic programming, Scheduling.
- Lecture 1, 2 and 3:
Nearest Neighbor Search,
Bounded Volume Hierarchies
- Lectures on BioInformatics from the Max Planck Institute.
- Lecture 1: Introduction, Longest
Common Subsequence, Edit Distance
- Lecture 2: Sequence Alignment,
Local Alignment, Database Searching (BLAST / FASTA)
- Lecture 3: Gene detection with
hidden markov models (HMMs), scoring, and decoding
Readings (supplementary, but you must understand suffix trees)
- Lectures 1 and 2:
Introduction, Information Theory,
- Lecture 3:
Applications of Probability Coding:
Transform coding: run-length (ITU Fax), move to front, residual coding (JPEG LS)
Context coding: fixed context (JBIG), partial matching (PPM)
- Lecture 3.5: Lempell-Ziv and Burrows-Wheeler (only covered Burrows Wheeler in class)
- Lecture 4:
Lossy Compression: Quantization, Transforms, JPEG, MPEG, Wavelets, MPEG 2000