Course Period Class time   x-Hour Canvas site   Location
89.11 & 189.01 9L MWF 08:50-09:55   Th 09:00-09:50 Canvas   Cummings 200

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.


Teaching team

Role Who What
Instructor Charles C. Palmer Adjunct Professor
  email: Don’t send email! Use Slack! (see Slack below)
  office: ECSC 220
  student hours: Monday and Wednesday, 2000-2130, Zoom info on Canvas, or by arrangement.
TA Kang Gu Kang Gu
  email: Don’t send email! Use Slack!
  office: ECSC B010
  student hours: Tuesday & Thursday, 9:00-10:00

Contacting the C2W2 team

The majority of questions and problems can be resolved via posts to Slack. Please use Slack for all questions, comments, and discussions. Please use our class channels to ask your questions, as other students will likely answer them more quickly than the teaching team.

If you need a private communication with the teaching team, you can send a Direct Message (DM) to the teaching team (@cosc-89-s22-teaching-team) to arrange an appointment outside our scheduled student hours.

Do not send us email, as email tends to get overlooked. Use Slack so that all members on the teaching team will see it.


The STRICT prerequisite is CS50 or equivalent. 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.

Class notes

Some class topics will be supported by lecture notes. These should be available the day of the class and will complement what is discussed in class. We try to include in the class notes most of what we will discuss in class, but there is always additional material that is included in class that could be on the quizzes.

In short: you should not miss class. More on this later.

Learning Resources

Textbook, articles, and papers

We will use a variety of resources in this class. The requiredtextbook for the class is “Prediction Machines” by Agarwal, See our Resources page for full details. There are reading assignments each week and every Friday is devoted to wide ranging discussions on the reading.

We may read and discuss articles and research papers and we will view videos created by IBM and others on topics relevant to cognitive computing. We will have several guest speakers from industry and government during the course.

Slack and Canvas

We will be using Slack for class discussion and announcements, and Canvas for assignments, quizzes, and grades/feedback.


There is a single Canvas site for the undergraduate and graduate sections, and there is one combined Slack site for both undergraduates and graduates.

Links to all class information and all announcements will be found on our class web pages. The Canvas system will also have links to these pages.


Each of you should join our Slack workspace right away by visiting our Canvas page and following the Slack link on the left. Let me know ASAP if this doesn’t work for you (This is the one exception to my no e-mail rule.) By default, you will be members of all public Slack channels within our workspace.

Post all of your questions and discussions on Slack.

Note: The Direct Message (DM) capability of Slack is handy for when you need to communicate with a classmate or our graduate TA or myself. However, you should only DM the graduate TA or myself with questions which are related to you, personally, or your specific lab work. Questions like “how do I …“, “why does this …“, “what did the professor say about…“, etc., should be posted to the public channels since your classmates will often share the answer faster than the TA and I could. In addition, others may have the same question so you will both benefit from the answer.


Attending class is expected. There is a class participation component of your final grade. Participate in Slack always and in the live class meetings as much as possible - otherwise you will miss discussions and content.

Assignments, quizzes, and grading

Information about lab assignments, quizzes, and grading may be found on the All About Assignments page.

Course Announcements

The instructor will make announcements via Slack only. You may choose among several options for receiving announcements and other updates to our Slack site. See the Slack pages for more information.

Course Help

The majority of questions and problems can be resolved via posts to Slack, including questions about lectures, homework, reading assignments, group discussions, and more. Only when the question includes information that should be kept private (e.g., lab assignment solutions, personal issues, illness, etc.) should you use a Slack Direct Message (DM) to the teaching team (@cosc-89-s22-teaching-team).

Student (office) hours

Weekly student (Office) hours for the instructor and graduate assistant are posted on the website.

Meetings with the instructor outside of scheduled student hours may be arranged by Direct Message in Slack.

You and the Class Environment


I recognize that the academic environment at Dartmouth is challenging, that our terms are intensive, and that classes are not the only demanding part of your life.

There are a number of resources available to you on campus to support your wellness, including: your undergraduate dean, the staff of Counseling and Human Development, and the Student Wellness Center.

I encourage you to make use of these resources or use Slack’s Direct Messaging to arrange a call with me. We all want you to take care of yourself throughout the term.

Differently-Abled students

Students requesting disability-related accommodations and services for this course are encouraged to schedule a phone/video meeting with me as early in the term as possible. This conversation will help to establish what supports are built into my online course. In order for accommodations to be authorized, students are required to consult with Student Accessibility Services (SAS;; SAS website; 603-646-9900) and to email me their SAS accommodation form. We will then work together with SAS if accommodations need to be modified based on the online learning environment. If students have questions about whether they are eligible for accommodations, they should contact the SAS office. All inquiries and discussions will remain confidential.

Diversity and Inclusion

I would like to create a learning environment for you that supports a diversity of thoughts, perspectives and experiences, and honors your identities (including race, gender, class, sexuality, religion, ability, etc.) To help accomplish this:

  • If you have a name and/or set of pronouns that differ from those that appear in your official college records, please let me know.

  • If you feel like your performance in the class is being impacted by your experiences outside of class, please don’t hesitate to come and talk with me. I want to be a resource for you. Remember that you can also submit anonymous feedback. If you prefer to speak with someone outside of the course, the Associate Dean of the College for Diversity Programs is an excellent resource.

  • I (like many people) am still in the process of learning about diverse perspectives and identities. If something was said in class (by anyone) that made you feel uncomfortable, please talk to me about it. (Again, anonymous feedback is always an option.)

  • If you encounter financial challenges related to this class, please let me know.

  • As a participant in course discussions, you should also strive to honor the diversity of your classmates.

Religious observations

I realize some students may wish to take part in religious observances that occur during this academic term. If you have a religious observance that conflicts with your participation in the course, please meet with me before the end of the second week of the term to discuss appropriate accommodations.

Title IX

At Dartmouth, we value integrity, responsibility, and respect for the rights and interests of others, all central to our Principles of Community. We are dedicated to establishing and maintaining a safe and inclusive campus where all have equal access to the educational and employment opportunities Dartmouth offers. We strive to promote an environment of sexual respect, safety, and well-being. In its policies and standards, Dartmouth demonstrates unequivocally that sexual assault, gender-based harassment, domestic violence, dating violence, and stalking are not tolerated in our community.

The Sexual Respect Website ( at Dartmouth provides a wealth of information on your rights with regard to sexual respect and resources that are available to all in our community.

Please note that, as a faculty member, I am obligated to share disclosures regarding conduct under Title IX with Dartmouth’s Title IX Coordinator. Confidential resources are also available, and include licensed medical or counseling professionals (e.g., a licensed psychologist), staff members of organizations recognized as rape crisis centers under state law (such as WISE), and ordained clergy (see

Should you have any questions, please feel free to contact Dartmouth’s Title IX Coordinator or the Deputy Title IX Coordinator for the Guarini School. Their contact information can be found on the sexual respect website at:

Honor Code & Ethical Behavior

Credit your sources

Any ideas you get from other teams or any other source should be carefully cited both in the code and in the documentation.

  • In your assignments, list all your collaborators (e.g., “I discussed this homework with Alice, Bob, …”) and credit any sources (including code) used.
  • You must also credit any specific sources that are provided by the instructor. For example, you must credit code that we give you if it helps you with your work (either by direct use of the code, or by simply enhancing your understanding by reading the code).
  • References for any non-trivial algorithms you employ should be included in the code and documentation to ensure others will know where to learn more about it.

Copying code and answers from sites such as StackOverflow or other online sources is strictly forbidden. This is trivially easy to detect. The materials you submit must be your own.

For more general information, see Dartmouth’s guidelines for proper citation of sources, particularly the section on Computer programming assignments.

For more information, including information regarding COVID-19 and its effect on us all, please see Dartmouth’s Commuinity Standards and Accountability.

Honor code

Dartmouth’s Honor Code and policies apply to your conduct in this course. Make sure you have read and understood
Dartmouth’s Academic Honor Principle.

First, you may discuss and help each other. However, you cannot work jointly on solutions for any individual assignments or quizzes. You can talk about the assignments and discuss approaches, but you cannot jointly develop the solutions for submission for the assignment other than for assignments specifically made for teams.

We can assure you that violations of the Honor Code have been, and will continue to be, treated seriously.

Professor Cormen put it this way::

I reserve the right to assign you a failing grade on an entire homework assignment or on an entire exam if I believe that you have violated the Academic Honor Principle, apart from any finding by the COS. I will give you every opportunity to convince me that you did not violate the Academic Honor Principle, but I take the Academic Honor Principle very seriously. Cheaters—whether or not they are caught—bring dishonor upon themselves and upon everyone else at Dartmouth. To do that, for just a few lousy points in a course, is [insert your favorite strong adjective meaning “stupid” here]. You cannot fool me into thinking that you did not cheat if, in fact you did. So don’t cheat.

‘nuff said.

Inclement weather

On rare occasions, Dartmouth may cancel classes or even close the campus. If this occurs, general notice will be given in three ways:

  • Message via Slack;
  • Local broadcast media;
  • Campus-wide BlitzMail messages; and
  • A recorded message at a College toll-free Inclement Weather Phone Line: 1-888-566-SNOW (1-888-566-7669).