Starting with a brief history of Cassandra, we use Docker to stand-up a Cassandra cluster that we'll use throughout the course. We discuss replication strategies and Cassandra's support for "tunable consistency." We introduce CQL along with tables, keyspaces, and common datatypes. We explore primary keys and how they can be made up of both partition keys as well as clustering keys. We'll look at approaches for storing time series data in Cassandra. Complex data types, such as sets, lists, maps, tuples, and user defined types are addressed as well. We wrap up with a look at secondary indexes, batches, and lightweight transactions.