# Lecture 2 – Enumeration Basics

You may want to download the lecture slides that were used for these videos (PDF).

## 1. Defining Strings & Arrays

In this video we define strings and arrays, and offer some examples of them. (5:11)

## 2. The First Principle of Enumeration

Enumeration is just another word for counting. In this video we introduce a way of enumerating the total number of ways, for example, a project can be done if the project can be completed in a sequence of n tasks. (4:33)

## 3. Permutations & Combinations

Strings where characters are not repeated are called permutations. In this video we introduce how to calculate the number of permutations of m objects taken n at a time. Then, combinations are introduced.  (8:51)

## 4. Binomial Coefficients, Making Precise Definitions, Recursion

In this video we introduce basic notation for binomial coefficients. Then, we discuss what “…” means in mathematical definitions, and how to be precise.  (17:47)

## 5. Combinatorial Identities & Pascal’s Triangle

In this video we introduce a natural one-to-one correspondence between subsets and bit strings. We then establish other basic combinatorial identities, and look at Pascal’s triangle. (14:26)

## 6. Enumerating Distributions

Given m objects and n cells, how many ways can the m objects be placed into the n cells? We need to think about whether the objects are distinct, whether the cells are distinct, whether empty cells are allowed, and whether there are upper/lower bounds on the number of objects in a cell. (8:40)