logistics

**time:** Mon/Wed 8:30-10am

**location:** Towne Hall, Room 100 (Heilmeier Hall)

**instructor:** Prof. Osbert Bastani (obastani@seas.upenn.edu)

**teaching assistants:** We have the following wonderful team of TAs this semester:

Vincent Cai

Chandler Cheung

Yiming Huang

Bowen Jiang
Aalok Patwa

Wenwen Si

Crescent Xiong

Kunli Zhang

**office hours:**

Vincent Cai: Mondays 10-12pm, Levine 5th floor bump space (by elevator)

Aalok Patwa: Mondays 5-7pm, Levine 612

Crescent Xiong: Tuesdays 3:30-5:30pm, Levine 5th floor bump space (by elevator)

Kunli Zhang: Wednesdays, 10-12pm, Levine 5th floor bump space (inside)

Yiming Huang: Wednesdays 1-3pm, Levine 612

Chandler Cheung: Wednesday 3:30-5:30pm, Levine 512

Wenwen Si: Thursdays, 10-12pm, Levine 5th floor bump space (inside)

Bowen Jiang: Thursdays 3:30-5:30pm, Levine 5th floor bump space (inside)

Osbert Bastani: Thursdays 1-2pm, Levine 611

**collaboration policy:** You are responsible for knowing Penn's Code of Academic Integrity. In particular, copying solutions from other students or other resources (e.g. the web or from students who have taken the class in previous years) is NOT allowed. Making answers to homeworks or exams available to others either directly or by posting on the web is also NOT allowed. We will not have a sense of humor about violations of this policy!

**links:** We will use Ed Discussion for questions and communication, and GradeScope to submit assignments. Past exams and solutions, as well as lecture videos, will be posted on Canvas; all other materials will be posted on the course website. We encourage students to use Google Colab for coding assignments.

**waitlist:** Unfortunately, our class is currently at capacity. In the unlikely event that slots become available, we will consider adding students who urgently need the class to satisfy a requirement.

**attendance:** We expect students to attend classes regularly; weekly quizzes designed to make sure students are following course material. However, please do not come to class if you are not feeling well or test positive for Covid-19. We will do our best to provide course recordings (on Canvas) and lecture notes (on this website) for students unable to make it to class.

content

**description:** Machine learning has been essential to the success of many recent technologies, including autonomous vehicles, search engines, genomics, automated medical diagnosis, image recognition, and social network analysis. This course will introduce the fundamental concepts and algorithms that enable computers to learn from experience, with an emphasis on their practical application. It will introduce supervised learning (linear and logistic regression, decision trees, neural networks and deep learning, and Bayesian networks), unsupervised learning (clustering and dimensionality reduction), and reinforcement learning.

**CIS 4190 vs. 5190:** This course has an undergraduate version (CIS 4190) and a graduate version (CIS 5190). The lectures are the same, but you will be evaluated differently on your homeworks and projects; in particular, some homeworks will have components that are mandatory for CIS 5190 but optional for CIS 4190. Importantly, since the two versions have different requirements, you cannot complete the course as CIS 4190 and petition afterwards to have it changed to CIS 5190 for graduate credit.

**CIS 5190 vs. 5200:** Penn CIS offers two different introductory machine learning courses: CIS 4190/5190 (Applied Machine Learning) and CIS 5200 (Machine Learning). While there is overlap, the former (this course!) emphasizes practical application of existing machine learning methods, whereas the latter emphasizes the statistical foundations and theory of ML. CIS 5190 is NOT a prerequisite for CIS 5200. It makes little sense to take both courses (though taking CIS 4190/5190 and later CIS 5200 is possible).

**CIS 5190 vs. 5450:** Penn CIS also offers CIS 5450, which offers a holistic view of the data science pipeline, including data wrangling, data visualization, machine learning, and scalable data processing. In contrast, this course focuses primarily on machine learning, covering machine learning algorithms in greater breadth and depth. The two courses can be taken in either order, but students should consider taking CIS 5450 first.

**prerequisites:** Introductory probability and statistics, multivariable calculus, and linear algebra are required (HW 1 will test your knowledge of this material). In addition, you are expected to be able to program comfortably in some language. We will use Python throughout the course, and can help you pick it up (primer + office hours). If you are not confident of your coding skills in any language at all, the homework may be very difficult.

**textbook:** There is no required textbook, but you can find useful resources here.

grading

The following is a tentative grading scheme:

**homework (30%):** There will be 6 homework assignments, each containing both a written component and a coding component. The written portion will be submitted via GradeScope; the coding portion will be submitted both via GradeScope and programmatically to an autograder. Detailed instructions will be provided in the assignment.

**project (25%):** We will provide more details on the final project shortly.

**final exam (30%):** There will be a 2 hour long final exam during finals period, covering content from the entire course.

**quizzes (10%):** There will be 12 (roughly weekly) quizzes testing basic understanding of the material covered that week; these will be submitted on GradeScope. You will receive full credit if you correctly answer at least 50% of the questions.

**participation (5%):** You are expected to participate by coming to class, asking/answering questions on Ed Discussion, etc.

**grading scheme:** A+: 95+, A: 90-95, A-: 85-90, B+: 80-85, B: 75-80, B-: 70-75, lower passing grades: 50-70 (may be curved upwards)

**late policy:** For homework assignments, you will lose 0.5% per late hour (rounded up), with a maximum of 48 late hours per assignment. For example, if you submit HW 1 20 hours late, you lose 10% of points on HW 1 (which is 0.5% of your overall course grade). If you have medical reason for an extension, send the professor a copy of your medical visit report, and we will grant an extension (typically 2 days); we will consider other requests on a case-by-case basis.