(this syllabus is a work-in-progress)
https://courses.newschool.edu/courses/LLSJ3022
Chatbots are a way of interacting with a service by "texting" it like you would a friend. They are rapidly becoming a common way to interface with services, including the news. In this course, we'll survey existing chatbots (such as Quartz's news app) and discuss the challenges and implications of conversational user interfaces more broadly (such as Siri and Echo). Students will learn how to build chatbots - by the end of the course, students will have written and deployed their own chatbot. Programming experience is preferred, as students will use Python in class. Students will be provided with a brief crash-course on Python, but those without some prior experience to programming should be prepared to invest outside time learning the language more proficiently. You must have taken Web Fundamentals or have the permission of the instructor to take this class. This class is taught by Francis Tseng, former Knight-Mozilla Fellow, the New York Times.
- LLSJ3022
- Day: Weds.
- Time: 3:50 p.m. - 7:00 p.m.
- Date Range: 1/26/2017 - 5/4/2017 (to change)
- Location: Arnhold Hall 55 W13th (to change)
- Room: 804 (to change)
- Format: Studio
This class will consist of short lectures on various aspects of designing and building chatbots and projects where you will write your own chatbots.
We will use Slack as the medium for our chatbots and develop them using Python. We'll use wit.ai to augment our bots with natural language capabilities, selenium
to grab data from websites, and also make use of other APIs.
The syllabus is meant as a loose guide -- as you develop your projects and goals for the course we can adjust the syllabus to cover the topics relevant for your work.
Session | Date | Desc | Readings |
---|---|---|---|
1 | 1/26 | Intro to the course; survey of chatbots; what are you interested in learning? | |
2 | 2/2 | Python refresher: setting up our computers & building a simple Slack bot | |
3 | 2/9 | Python refesher cont'd: Using regular expressions (building ELIZA in Slack) | |
4 | 2/16 | Crit | |
5 | 2/23 | Working with APIs | |
6 | 3/2 | Crit | |
7 | 3/9 | Scraping the web | |
8 | 3/16 | Crit | |
9 | 3/23 | Spring Break, no class | |
10 | 3/30 | Natural language (wit.ai, content extraction, summarization) | |
11 | 4/6 | Reinforcement Learning | |
12 | 4/13 | Final Project | |
13 | 4/20 | Final Project | |
14 | 4/27 | Final Project | |
15 | 5/4 | Final crit |
If you need some project ideas, have a look at these examples:
- http://qz.com/613700/its-here-quartzs-first-news-app-for-iphone/
- http://venturebeat.com/2016/06/27/donotpay-traffic-lawyer-bot/
- http://www.niemanlab.org/2016/10/the-new-york-times-is-using-a-facebook-messenger-bot-to-send-out-election-updates/
- https://www.washingtonpost.com/news/monkey-cage/wp/2016/11/17/this-researcher-programmed-bots-to-fight-racism-on-twitter-it-worked/
- http://poncho.is/
- https://getpurple.io/
- http://www.theverge.com/a/luka-artificial-intelligence-memorial-roman-mazurenko-bot
- http://www.niemanlab.org/2015/08/the-new-york-times-built-a-slack-bot-to-help-decide-which-stories-to-post-to-social-media/
- https://www.techinasia.com/wechat-launched-bullshit-detector-chatbot-politics
- http://wtfisbrexit.com/
- https://www.facebook.com/TheEmojiBot/
- http://www.shinetext.com/