Cognitive computing systems use machine learning algorithms to mimic the human brain and handle complex problems. They are adaptive, interactive, iterative, contextual and able to continually learn from data. Three eras of computing include tabulating systems, programmable systems, and now cognitive computing which makes sense of data and enables prediction. IBM's Watson supercomputer demonstrates cognitive computing capabilities through its ability to understand natural language, build knowledge, and answer complex questions.