# Computer science

Learn select topics from computer science - algorithms (how we solve common problems in computer science and measure the efficiency of our solutions), cryptography (how we protect secret information), and information theory (how we encode and compress information).

Did you know? You can learn how to program
on Khan Academy and create your own programs.
Go to our
computer programming
subject to get started.

## Algorithms

We've partnered with Dartmouth college professors Tom Cormen and Devin Balkcom to teach introductory computer science algorithms, including searching, sorting, recursion, and graph theory. Learn with a combination of articles, visualizations, quizzes, and coding challenges.

- Intro to algorithms
- Binary search
- Asymptotic notation
- Selection sort
- Insertion sort
- Recursive algorithms

## Journey into cryptography

How have humans protected their secret messages through history? What has changed today?

- Ancient cryptography
- Ciphers
- Modern cryptography
- Cryptography challenge 101
- Modular arithmetic
- Primality test

## Journey into information theory

We've always been communicating.... as we moved from signal fires, to alphabets & electricity the problems remained the same.

## Internet 101

Thanks to our partners at Code.org, you can learn how the internet works - everything from WiFi and IP addresses to cybersecurity and crime.