Syllabus and Policies
Course ObjectivesBy the end of the course, the goal is for you to
- Comprehend the basis of various technologies you interact with that use machine learning
- Become familiar with several widely used methods
- Understand the ins and outs of a few common models, including the mathematical background and implementation in code
- Gain hands-on practice with feature design and experimentation
- Be able to read and understand, at some level, current research papers or blog posts about machine learning applications
- Be able to formulate real-world data-driven problems through the lens of ML when possible
- Appreciate the power and limitations of ML
Workload and Grading
If this is your first 300-level CS course, be prepared to work more independently and at a faster pace than in previous courses. We will follow the Wellesley CCAP view of 300-level courses being "narrower in scope, more sophisticated in subject matter, and involv[ing] more independent work by students than courses at the 100 or 200 level."
Your grade will be determined by problem sets, quizzes, reading responses, and a final project. See the schedule for due dates.
Problem Sets (48%)
Each of the 6 problem sets will consist of a programming task, and possibly also a few short written problems. You will not be graded on coding style, though some points may be deducted if your code is extremely inefficient. You may work on problem set individually or in pairs.
There are 3 open-book pen-and-paper quizzes covering recent material, mainly related to the previous two problem sets.
Reading Responses and Exercises (5%)
For most of our class meetings, I will post "readings" (in quotes because they may sometimes consist of watching videos) in advance. It is important for you to do these readings and come prepared with questions so we can spend some of the class time on clarifications and discussion.
You will be required to fill out a short response form due the night before class. Responses are designed to motivate you to do the reading and reflect upon it, as well as an opportunity for you to tell me what you find difficult/confusing, so that I can focus on it when we meet in class.
We will also have in-class exercises (generally done with a partner) which count towards this grade.
Responses and exercises will be graded 50% for completion and 50% for correctness.
Final Project (25%)You will work in individually or small groups on a project of your choosing. The project will be broken down into 4 "milestones" over the course of the term. More details to come.
Attendance and Class Participation
There are no points in the rubric for participation, but I will award "brownie points" for showing engagement that may boost your final letter grade if you are on the borderline. Evidence of engagement can come in class as well as on Piazza and office hours.
Unexcused absences will translate to losing points on the in-class exercises or quizzes for that day.
You have 7 late day (24-hour) passes that you may use for problem sets over the course of the semester. If you choose to work with a partner on a problem set and take a late day, both partners will forgo a day. Late days cannot be used for the final project milestones or quizzes.
Any late days taken beyond your 7 allotted will incur a 25% penalty per 24-hour period.
Talk to me if you have extenuating personal circumstances or religious conflicts that require make-up quizzes and extensions.
Laptops and Electronics in class
There will be some class meetings when I will ask you to bring your laptop to class to work on exercises. (It's okay if you won't have access to a laptop at that time, since you can share.)
Otherwise, the use of laptops is discouraged. The main concern is that it is often distracting for other students. If you must use a laptop for notetaking, please be discreet and avoid facebooking, instagramming, texting, shopping, e-mailing, and other fun activities that could be done outside class.
Smartphone use is not allowed.
Don't cheat. Usual CS rules apply: you may discuss -- and are indeed enouraged to discuss -- problem sets and course material with one another, or look up materials online and in textbooks to help you understand the course content. You are especially encouraged to search for hints on implementing low-level helper functions for your programs, finding out what built-in functions do, or interpreting error messages. However, you may not copy each others' work, share code in any form, or search online for a solution for any of the assigned tasks. Help and discussion must be acknowledged as a note on your submissions.
Let me know early in the semester if you need classroom accommodations of any form.
There are no required books; all readings and lecture notes will be posted online. We'll tend to read excerpts from A Course in Machine Learning by Hal Daumé III, Introduction to Machine Learning by Ethem Alpaydin, and where relevant, lecture videos from various sources.