Lecture: Monday/Wednesday 1:30-3:00, DOW 1017 (1:30pm-2:50 clock time)
Remote Lectures starting 3/16: https://bluejeans.com/692023034
There is no discussion section.
There is no required textbook for this course.
Kevin Leach, PhD
kjleach at umich.edu
Senior Research Fellow, UM
Nikhil Devraj
devrajn at umich.edu
Sahil Farishta
sahilf at umich.edu
Gauri Bapat
gaurib at umich.edu
Monday/Wednesday 3-4pm (after class), BBB 2909 (Kevin)
Remote Office Hours Queue: link
IA Office Hours (Online through BlueJeans):
Wednesday 11:30am-1:30pm, Friday 12:30-2:30pm (Sahil)
Tuesday/Thursday 12:30-2:30pm (Nikhil)
Monday 10am-12pm, Thursday 11am-1pm (Gauri)
Sign up for Piazza here. This will be our primary form of communication.
Conversational Artificial Intelligence (EECS 498 Special Topics) will acquaint you with the fundamental ideas surrounding the design and implementation of a virtual assistant. This course will stress a significant, practical course project: an end-to-end virtual assistant that helps users accomplish various goals of your choosing. You will produce a virtual assistant, a front-end, and a back-end during the course of the semester, using a Conversational AI platform: DialogFlow, Rasa, or Clinc. You will master fundamental concepts of virtual assistants, computational linguistics, natural language processing, deep learning, crowdsourcing, data curation, and project management.
This course counts as a Major Design Experience (MDE) elective for CS-ENG majors. As such, there is an expectation that students work in large groups on a significant semester-long project. Students are expected to be independent in forming groups, dividing tasks, and delivering in-class presentations throughout the semester.
'What are my chances for getting off the waitlist?' is by far the most common question we receive. Unfortunately, we cannot guarantee admission to the course, and we can only speculate based on previous semesters. Students are admitted in the order in which they joined the waitlist, although preference is given to undergraduate students. In previous semesters, all students were admitted who wanted to be in the course. We cannot grant overrides and the course capacity is set by the fire marshal. If you are in a group with someone on the waitlist, you should try to target a larger group in case that group member does not get admitted.
EECS280
EECS281
It is helpful for some of your group members to know about front-ends (e.g., with jQuery, react, angular, etc.), back-ends (e.g., django, nodejs, php, etc.), and remote API endpoint usage.
These are not requirements, but will merely make some parts of your project a bit faster.
As an MDE elective, the primary goal of this course is to work on a semester-long project culminating in a full, end-to-end virtual assistant using DialogFlow, Rasa, or the Clinc platform and integrating a front- and back-end.
The Course Project consists of a Project Pitch, a Scoping Review, Internal Testing, 3 Sprint Reviews, a Cooperative Testing Document, a Final Demonstration, and a Video Demonstration.
Students on teams are expected to participate equally in the effort and to be thoroughly familiar with all aspects of the joint work. All members bear full responsibility for the completion of each project component. Members turn in one submission for each project component; each member receives the same grade for the assignment. Teams must be formed early in the semester, and cannot be changed without instructor permission.
Project Components are due at noon on the date in the course schedule. Project Components will be turned in electronically via a special submission server.
You are expected to work in groups of 5 to 8 students. We focus on larger groups to develop experience with project and personnel management during the semester. Find a group early. If you cannot find a group, you will be assigned to one a week before the Project Pitch presentation.
The implementation of the Course Project is up to you and your group, however in previous semesters, students have leveraged the following tools and programming languages for projects.
You must complete the Project to receive a passing grade.
Final grades will be computed based upon the class average. We will target a minimum average grade of 85% (i.e., a B). That is, if the class average is 80%, each student will receive a "curve" of 5%. If the average grade is 90%, no adjustments will be made individually.
Participation is required on days when groups give sprint reviews. It is important to incorporate discussion from other groups in the class. You will submit a sprint review form for each presentation containing your feedback. You may miss up to 4 sprint review blocks before your Participation grade linearly decreases.
All course materials are due by the end of the final exam date: Wednesday, April 29, 2020 at 6pm. There will be no changes after this time.
Project Components are due at noon (12PM eastern) on the due date (unless noted otherwise). Late submissions will be penalized based on lateness. If a submission is made h hours late, that submission's final grade will be reduced by h%. For example, if you get 90% on a submission made 8 hours late, your final grade for that submission is .92*(.90)
Importantly, you must present something on your assigned presentation days. In some sense, you cannot "skip" a sprint review in industry — you present what you have completed regardless. You can turn in slides later (e.g., if you want to polish them), but we expect you to present or discuss something so we can make sure you're on track!
Please abide by the following policies with regard to the project. Students who violate these policies are subject to failure for the assignment or semester as well as referral to the Honor Council.
You and your team must conceptualize a new project idea on your own. You may not reuse code or entire ideas from previous semesters.
You are expected to work in teams of up to 8 people. You can share code with whomever you wish, but do not turn in another's code as your own.
Presentations do not need to involve all team members. Indeed, you are allowed to pick a subset of your group to give each presentation if it makes it easier.
You will be using a commercial product this semester (i.e., DialogFlow, Rasa, or the Clinc platform). If using Clinc, please do not distribute your credentials to the Clinc platform beyond your team members.
Project and group management are meant to be a component of the course Project. As such, teams are expected to have members specialize (e.g., one person may focus on front-end, another on back-end, etc.). If you feel a group member is not contributing enough, please let the instructor (Kevin Leach) know.
Any attempt to subvert, disable, or disclose information to the submission server or to another team's project will result in an F for the semester and referral to the Honor Council. Examples include: