Go here for information related to remote classes.


Cognitive computing refers to systems that learn at scale, reason with purpose, and interact with humans naturally.

– John Kelly, IBM SVP, Cognitive Solutions and Research

Building a computer program capable of answering questions with human-level competence has been one of the grand challenges of Artificial Intelligence. IBM’s Watson system has achieved remarkable results. This class will explore the AI capabilities provided by Watson. Topics include: image recognition, natural language processing, unstructured information understanding, machine learning, and information retrieval. Students will work in teams to develop applications that use various Watson services in the Cloud in some novel way. This class will be one of the few in the world to use the latest major release of Watson, preparing you to shape the future of “Cognitive Computing.”

The class will focus on projects and group work that culminates in building novel applications for question answering. Student teams will benefit from drawing on experience from various other classes, including data mining, information retrieval, natural-language processing, mobile computing and entrepreneurship.

In addition, students will also gain a deep understanding of the societal and workplace issues associated with the spread of cognitive computing solutions.


The prerequisite is CS50, but experience in other topics such as algorithms, mobile computing, or business and entrepreneurial thinking will be very useful. The primary programming languages used for projects will be Node.js/NodeRed and Python, and some examples will use JSON data. All the tools we’ll be learning about are hosted in the cloud.

1 This course is based in part upon several internal courses offered by IBM, and in cooperation with IBM’s Academic Initiatives program. This instructor is deeply indebted to Armen Pischdotchian of IBM Watson Solutions, who knows everything Watson.