This document provides an introduction to Hadoop and MapReduce concepts through examples. It includes code for a word count MapReduce job with mappers to tokenize text into words, reducers to sum word counts, and a driver to run the job. It also explains Hadoop data types, serialization, data flow between mappers and reducers, and use of combiners to optimize word count. Finally, it outlines exercises for students to complete including implementing word count, bigrams, capitalization analysis and indexing.