Steam-powered Turing Machine University of Washington Department of Computer Science & Engineering
CSE 481 N - Natural Language Processing Capstone - Spring 2017
Lecture: TTh 12:00 - 1:20pm in BAG 261
  CSE Home  About Us    Search    Contact Info 

Teaching Crew

Personnel Contact Office Hours
Instructor: Yejin Choi yejin at cs dot washington dot edu Tue 2pm - 3:30pm and Wed 5pm - 5:30pm @ CSE 578 (and by appointment)
TA: Hannah Rashkin hrashkin at cs dot washington dot edu
Wed 2 - 3pm @ CSE 220 (and by appointment)
TA: Maarten Sap msap at cs dot washington dot edu
Wed 2 - 3pm @ CSE 220 (and by appointment)

Class Objectives

This class will provide students with an intensive 10-week experience in successfully completing a challenging, but well-scoped research project.

Participants will work in small groups (2-3 people in each group) to hone their technical skills to quickly absorb and adapt new technical knowledge, gain experience in complex programming, perform thorough experiments and analysis, and learn how to find a path when faced with negative results.

Additional objectives of this class include:
(1) technical communication skills to produce high quality interim technical reports that inspire insightful discussion across project groups,
(2) advisory project experience to provide technical advice and constructive feedback on others, and
(3) project management skills to prioritize work items to maximize the chance for successful outcome.

Milestones, Artifacts & Objectives

Each week, you will make a blog post that describes exciting progress (new trials, results, failure, insights) your team has made. You will make a submission to Canvas the URL to your new blog post each week. Keep in mind the overall milestones when planning out your project activities.
Week Due Milestones Artifacts Objectives
2 Apr 4 Tue First blog post! blog post #1 - Form a project group, make a team name. (the cooler the better!)
- List top 3 project ideas your team is the most excited about, briefly outline the minimal viable action plan with stretch goals.
- Start a github project and share the URL in your blog post.
- Decide which project mode you want to be in: start-up mode (heavier focus on the coolness of the project and system development) or research mode (heavier focus on novel models, analysis, and insights).
Apr 6 Thu Warm-up blog post #2 If you're (considering to be) on a deep learning track, install tensorflow, get familiarized with tensorflow APIs, download and run any existing codebase that can support your potential project, and tell us about your experience. If you don't want deep learning, that's totally cool too! Run any software that you either downloaded or wrote yourself that can be potentially useful for your project and tell us what you've been up to.
3 Apr 11 Tue Project Proposal blog post #3 Time to make a formal proposal! A good proposal should sketch out both the minimal viable action plan as well as stretch goals. Clearly state your project objectives, proposed methodologies, available resources, and the evaluation plan. Don't forget to include literature survey!
4 Apr 18 Tue Strawman I blog post #4 Complete at least one strawman / baseline approach, run experiments, and set up the evaluation framework.
5 Apr 25 Tue Strawman II blog post #5 Complete *multiple* strawman / baseline approaches, record their performance, plus perform *error analysis*.
6 May 2 Tue Advanced model attempt #1 blog post #6 Time to make an advanced model attempt #1! Tell us what you tried, share any exciting results. If no good news, at a minimum tell us how you'd characterize the failure modes and what your team will investigate next.
7 May 9 Tue Advanced model attempt #1 blog post #7 Continue making the advanced model attempt #1, run more experiments, do more error analysis, and sketch out the next action plan.
8 May 16 Tue Advanced model attempt #2 blog post #8 Let's make an advanced model attempt #2! Tell us what you tried, how it went, and why it didn't work if it didn't work.
9 May 23 Tue Advanced model attempt #2 blog post #9 Continue making an advanced model attempt #2, run more experiments, do more error analysis, and sketch out the final action plan.
11 Jun 7th Final Poster Presentation & Demo Poster Final poster presentation & demo @ CSE Atrium, 3:30 - 5:20pm.
11 Jun 9 Fri 5pm Final Project Report 10 page report in pdf

Mini Lectures, Project Discussion & Presentation Schedule

Week Dates Topic Leader Required Readings Supplementary Readings
1 Mar 28, 30 Course Overview, Project Pitch, TensorFlow Tutorial Hannah, Maarten
2 Apr 4, 6 Project Proposal Presentations & Discussion Yejin
3 Apr 11, 13 Lecture on Deep Learning & Project Update Meetings Yejin
4 Apr 18, 20 Lecture on Deep Learning & Project Update Meetings Yejin
5 Apr 25, 27 In Class Project Update Presentations! All Students
6 May 2, 4 Lecture on Deep Learning & Project Update Meetings Yejin
7 May 9, 11 Lecture on Deep Learning & Project Update Meetings Yejin
8 May 16, 18 NLP Blitz on 16th, In Class Project *Demo* and Presentations on 18th All Students
9 May 23, 25 In Class Project *Demo* and Presentations on 18th & Project Update Meetings All Students
10 May 30, Jun 1 Project Update Meetings Yejin
11 Jun 7 Finale! - final poster presentation & demo @ CSE Atrium (3:30 - 5:20pm) All Students

Class Activities & Grading

Class activities consist of the following components (% for final grade):

Primary project performance (80%) -- weekly blog posts (45%)
-- in-class presentations, github activities (15%)
-- final poster presentation, demo, and report (20%)
Advisory project performance (20%) -- peer project feedback activities (20%)

Discussion Board

Available at Canvas

Optional Textbooks