You take a photo on your iPhone X's 12MP camera; that's 12 million pixels! This is roughly 36 MB of data -- but it only takes about 1 MB of space on your computer. How were you able to store the entire image in 1/36 of its actual size?
The magic: compression algorithms!
We will be discussing various techniques for the compression of data, starting from the basics (RLE) and ranging to lossless methods such as entropy encoding, LZW compression, and the Burrows-Wheeler Transform.
The last part of the class will be an exploration of compression methods for images, taking a look at some ad hoc approaches that we might try (8-bit graphics!). We'll then conclude with an in-depth examination of how modern lossy algorithms, like JPEG, are able to achieve ~20x compression ratios with no perceptible change in quality.
Prerequisites: Some familiarity with computer science or mathematics is encouraged, but not required.
Lambda calculus: it's like "calculus" - except with more programming, and no calculus!
You can think of it as a super low-level functional programming language; all data is composed of functions (written with the letter λ), and by combining functions in various clever ways, we can actually perform any computation.
Learn about Alonzo Church's famous invention that rocked the foundations of computer science, and try your hand at solving programming puzzles in the language itself!
"Oh, crypto? I know a lot about bitcoin!"
You've heard about crypto everywhere in the news, but behind all the bait, there's actually some very beautiful, clever mathematics that goes into engineering the systems that keep our world running securely.
We'll start with a brief discussion of classical cryptography (2000 BC-1950 AD), where we talk about various ciphers and puzzle about how to crack them. In the second half, we'll talk about the modern model of cryptographic systems in the computer era, including secure hash functions and pseudorandom number generators, and we'll culminate in a discussion of the RSA cryptosystem.
Learn about financial markets while practicing your Fermi estimation skills in this classic game! Open to anyone with interest in math, science, or finance. Quick thinking and awareness of other players are of utmost importance.