CS 135: Introduction to Machine Learning – Syllabus

Department of Computer Science, Tufts, Spring 2024

Logistics

Meeting time: Tue and Thu 12:00 - 1:15pm ET at Room 008, Barnum Hall.

Instructor: Liping Liu, Assistant Professor

Grad TAs: Abdullah Faisal, Ayca Aygun, Matthew Werenski, Yinkai Wang,

To best serve students in the class with high teaching quality, the instructor participates in the P3 program. Rebecca Asare from the P3 program will partner with Dr. Liu and help collect feedback from students in the class.

Getting help:

Course Overview

WHAT: How can a machine learn from data or experience to improve performance at a given task? How can a machine achieve performance that generalizes well to new situations? These are the fundamental questions of machine learning, a growing field of knowledge that combines techniques from computer science, optimization, linear algebra, and statistics.

This class will provide a comprehensive overview of supervised machine learning:

Supervised Learning: Given a collection of inputs and corresponding outputs for a prediction task, how can we make accurate predictions of the outputs that correspond to future inputs?

This course provides only a very brief taste of other parts of ML, such as generative models and reinforcement learning. Other courses at Tufts (CS 137, CS 138) cover these in far more depth.

HOW: We will explore several aspects of each core idea: intuitive conceptual understanding, mathematical analysis, in-depth software implementation, and practical deployment using existing libraries.

Week-after-week, students will do the following

WHY: Our goal is to prepare you to effectively apply machine learning methods to problems that might arise in “the real world” – in industry, medicine, education, and beyond.

Objectives

After completing this course, students will be able to:

Enrolling and Wait Lists

At the beginning of the semester, we have 110 students enrolled in the course. This represents the capacity of the assigned lecture hall as well as the max capacity of our assigned TA budget, so we cannot add any more students. That said, some students may drop the course and leave openings for others. For students who what try to fill up these openings, please take the course and do the course work.

Prerequisites

Textbooks

We will regularly use two textbooks available for free online (either in browser or via downloadable PDFs):

Class Format for Fall 2024

The course is organized into 6 topical units (each about 2 weeks long), which will govern in-class and out-of-class work.

Synchronous course meetings will be in-person throughout the Spring.

As of end of first day of class we will expect students to be signed up on Piazza. This is how we will communicate any changes to the course meeting locations with you. If you have not heard otherwise, expect course meetings and office hours to be in person in their usual locations.

Attendance

Participation in class is strongly encouraged, as you will get hands-on practice with material and have a chance to ask questions of the instructor and TAs, as well as your peers.

We do not require attendance at any class or track attendance.

Instructional material (readings and notes) will be released on the Resource page in Piazza in advance.

We will record video and audio for the main track of each interactive class session to capture important announcements and highlight key takeaways. We will release that video to the Piazza resources page.

What will we do in class: each synchronous class session will occur at the scheduled time.

Before each class, you are expected to complete the “Do Before Class” activities posted on the Schedule. These include textbook readings as well as (sometimes) prerecorded videos. You should also download any relevant in-class demo notebooks to prepare.

In each 75 min. class, we will typically have the following structure

We will strive to create an exciting, highly interactive classroom, with lots of opportunities for students to ask questions and get feedback from the professor, TAs, and peers.

Each student is responsible for shaping this environment: please participate actively and respectfully!

Assignments and Exams

Here are the primary deliverables in the course:

Late work Policy

Each student will have 192 total late hours (= 8 late days) to use throughout the semester across homeworks (HW1-HW5) and projects.

For each individual assignment and project, you can submit beyond the posted deadline at most 96 hours (4 days) and still receive full credit. Thus, for one assignment in the course due on Thu 11:59pm ET, you could submit by the following Mon at 11:59pm ET.

This late work deadline is key to our classroom goals. It allows us to always release homework solutions on Tue mornings and discuss the solution in class.

The timestamp recorded on Gradescope will be official. Late time is rounded up to the nearest hour. For example, if the assignment is due at 3pm and you turn it in at 3:05pm, you have used one whole hour.

Beyond your allowance of 192 late hours, zero credit will be awarded except in cases of truly unforeseen exceptional circumstances (e.g. family emergency, medical emergency). Students with exceptional circumstances should contact the instructor to make other arrangements.

Exams must occur on the assigned date.

Students with unforeseen and exceptional circumstances may contact the instructor to make other arrangements (likely in the form of a makeup oral exam).

Workload

Each week, you should expect to spend about 10-15 hours on this class.

Here’s our recommended break-down of how you’ll spend time each week:

1.25 hr / wk preparation before Tue class (reading, lecture videos) 1.25 hr / wk active participation in Tue class 1.25 hr / wk preparation before Thu class (reading, lecture videos) 1.25 hr / wk active participation in Thu class 6.00 hr / wk on homework or project, whichever is due next This totals to 11.00 hr / wk

Typically, by assignment

for each HW you are given 2 weeks from release to due date. We expect about 8 hours are needed. for each Project you are given 3+ weeks. We expect about 16 hours are needed from each team member. Grading Final grades will be computed based on a numerical score via the following weighted average:

Last updated: Nov. 28, 2023

28% Homeworks (HW0 weighted 3%, HW1-HW5 weighted 5% each) 36% Projects (A and B weighted equally) 16% midterm exam 16% final exam 4% participation in class, office hours, and in Piazza discussions

Collaboration Policy

Our ultimate goal is for each student to fully understand the course material.

For exams, all work must be done individually, with no collaboration with others whatsoever.

For homeworks and projects, we have the following policy for student work.

You must write anything that will be turned in – all code and all written solutions – on your own without help from others. You may not share any code or solutions with others, regardless of if they are enrolled in the class or not.

We do encourage high-level interaction with your classmates. After you have spent at least 10 minutes thinking about the problem on your own, you may verbally discuss assignments with others in the class. You may work out solutions together on whiteboards, laptops, or other media, but you are not allowed to take away any written or electronic information from joint work sessions with others. No notes, no diagrams, and no code. Emails, text messages, and other forms of virtual communication also constitute “notes” and should not be used preparing solutions.

When preparing your solutions, you may always consult textbooks, materials on the course website, or existing content on the web for general background knowledge. However, you cannot ask for answers through any question answering websites such as (but not limited to) Quora, StackOverflow, etc. If you see any material having the same problem and providing a solution, you cannot check or copy the solution provided. If general-purpose material was helpful to you, please cite it in your solution.

RE: AI assistive technologies such as ChatGPT:

For homeworks and projects, you cannot use any AI assistance at all. You are expected to fully understand any code you use. You should write every word of your report yourself (no AI-assisted writing). Your report should disclose all steps that involved AI assistance. Remember, you are responsible for everything that you (or your team) hands in. You should understand it and be able to answer questions about it, if asked.

Required Collaboration Statement

Along with all submitted work, you will fill out a short form declaring the names of any others you got help from, and in what way you worked them (discussed ideas, debugged math, team coding). Turning in this form will certify your compliance with this policy.

Along with all submitted small team work, you will fill out a short form describing how the team collaborated and divided the work. All team members must contribute significantly to the solution. We may occasionally check in with some teams to ascertain that everyone in the group was participating in accordance with this policy.

Piazza & Collaboration

When using the Piazza forum, you should be aware of the policies previously mentioned while post posting questions and providing answers. Questions may be posted as either private (viewable only by yourself and course staff) or public (additionally viewable by all students for the course registered on Piazza).

Some issues warrant public questions and responses, such as: misconceptions or clarifications about the instructions, conceptual questions, errors in documentation, etc.

Some issues are better with private posts, including: debugging questions that include extensive amounts of code, questions that reveal a portion of your solution, etc.

Please use your best judgment when selecting private vs. public. If in doubt, make it private.

External Software

Each assignment will provide specific instructions about which open-source machine learning packages (such as scikit-learn, autograd, tensorflow, pytorch, etc.) you are allowed to use.

If you are allowed to use a package, there are two caveats:

Academic Integrity Policy

This course will strictly follow the Academic Integrity Policy of Tufts University. Students are expected to finish course work independently when instructed, and to acknowledge all collaborators appropriately when group work is allowed. Submitted work should truthfully represent the time and effort applied.

Please refer to the Academic Integrity Policy at the following URL: https://students.tufts.edu/student-affairs/student-life-policies/academic-integrity-policy

Accessibility

Tufts and the instructor of CS 135 strive to create a learning environment that is welcoming students of all backgrounds and abilities. Respect is demanded at all times throughout the course. It is expected that everyone in the course is treated with dignity and respect. We realize everyone comes from a different background with different experiences and abilities. Our knowledge will always be used to better everyone in the class.

If you have a disability that requires reasonable accommodations, please contact the Student Accessibility Services office at Accessibility@tufts.edu or 617-627-4539 to make an appointment with an SAS representative to determine appropriate accommodations. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.

Please see the detailed accessibility policy at the following URL: https://students.tufts.edu/student-accessibility-services

If you feel uncomfortable or unwelcome for any reason, please talk to your instructor so we can work to make things better. If you feel uncomfortable talking to members of the teaching staff, consider reaching out to your academic advisor, the department chair, or your dean.