time: Mon/Wed 8:30-10am
location: Levine Hall, Room 101 (Wu and Chen Auditorium)
Prof. Osbert Bastani (firstname.lastname@example.org)
Prof. Zachary Ives (email@example.com)
Osbert Bastani: Mondays 2-3pm (611 Levine)
Jinhui Luo: Mondays 3-5pm (Zoom, OHQ)
Jason Ma: Tuesdays 9-11am (Zoom, link)
Swati Gupta: Tuesdays 1-3pm (Zoom, OHQ)
Peizhi Wu: Tuesdays 4-6pm (5th Floor Levine Bump Space)
Brian Chen: Wednesdays 10am-12pm (Zoom, OHQ)
Rushab Manthripragada: Wednesdays 2-4pm (Zoom, OHQ)
Jio Jeong: Thursdays 4-6pm (Zoom, OHQ)
Ramya Ramalingam: Fridays 10am-12pm (5th Floor Levine Bump Space)
masking policy: For the health and safety of everyone, we are requiring that all students wear a high-quality mask (N95, KN95, KF94, or surgical) in during class and office hours.
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. Solutions and past exams 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: We have a very large amount of demand for just a few remaining slots in the class. As such, we are currently only considering students who are graduating this fall and who need to take the course this fall for credit to graduate. In addition, all prerequisites must be satisfied and all waitlist application questions must have been answered correctly, and all decisions are at the discretion of the instructors. Please only reach out to us if you believe you qualify and have not yet heard back.
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 provide course recordings (on Canvas) and lecture notes (on this website) for students unable to make it to class.
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.
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 (20%): Projects should be completed in groups of 2-3 students (preferably 3). There will be three milestones: a 2 page proposal (3%) [template], a 4 page progress report (7%) [template], and a 6 page final report (10%) [template]. Examples of past projects are here (scroll down to "Archive of Completed Class Projects From Fall 2021").
final exam (35%): 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+: 90+, A: 85-90, A-: 80-85, B+: 75-80, B: 70-75, B-: 65-70, lower passing grades: 50-65 (may be curved upwards)
late policy: You will lose 0.5% per late hour (rounded up) on the assignment (homeworks, project milestones, and quizzes), 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 both professors 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.