time: Mon/Wed 1:45-3:15pm
location: AGH 106B
instructors: Prof. Osbert Bastani (obastani@seas.upenn.edu) and Prof. Mingmin Zhao (mingminz@seas.upenn.edu)
teaching assistants:
We have the following wonderful team of TAs this semester
(with bios introducing them here)
Tongtong (Frank) Liu (Head TA) - liufrank@seas.upenn.edu
Harshwardhan Yadav (Head TA) - hyadav@seas.upenn.edu
Aalok Patwa - apatwa@seas.upenn.edu
Annie Wang - yfanwang@wharton.upenn.edu
Chandler Cheung - cheungch@seas.upenn.edu
Daniel Alexander - alexdan@seas.upenn.edu
David Yang - dyang438@seas.upenn.edu
Guangyao Dou - gydou@seas.upenn.edu
Haorui Li - haoruili@seas.upenn.edu
Jessica Liang - jeliang@seas.upenn.edu
Jocelyn Gao - joceilyh@seas.upenn.edu
Joey Vitale - joevit@seas.upenn.edu
Manurag Khullar - manurag@seas.upenn.edu
Yue Wang - wayue@seas.upenn.edu
office hours: We are currently holding the office hours listed below. Please note that the schedule is subject to change. Check Ed for the latest updates or announcements, as it usually has the most current information.
Name | Time slot | Location |
---|---|---|
Prof. Zhao | Fri 11:00am - 12:00pm | Levine 503 |
Prof. Bastani | Fri 12:30pm - 1:30pm | AGH 625 |
Joey | Mon / Tue / Wed / Fri 9:30am - 12:00pm | OHQ | Frank | Mon 12:00pm - 2:00pm | OHQ |
Guangyao | Mon 3:30pm - 5:30pm | OHQ |
Chandler | Mon 3:30pm - 5:30pm | Levine 612 |
Aalok | Mon 6:00pm - 8:00pm | Levine 3rd Floor bump space |
David | Tue 12:00pm - 2:00pm | OHQ | Jessica | Tue 2:00pm - 4:00pm | OHQ |
Daniel | Wed 10:00am - 12:00pm | OHQ |
Manu | Wed 2:00pm - 4:00pm | OHQ |
Harsh | Wed 5:00pm - 7:00pm | OHQ |
Yue | Thur 8:00am - 10:00am | OHQ |
Jocelyn | Thur 6:00pm - 8:00pm | OHQ |
Annnie | Fri 1:00pm - 3:00pm | OHQ |
Haorui | Friday 8:00pm - 10:00pm | OHQ |
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!
AI/LLM policy: Modern AI tools (e.g., ChatGPT, Claude, Gemini, etc.) can be of great help in understanding concepts, and we have no concerns about you using them to get alternative explanations for topics. Always dig a bit deeper when learning from an LLM, like following up links to make sure the LLM did not simply make something up. Given that we are trying to teach general, reusable skills, we expect you to write your homework without help from an LLM or from a classmate. Please note that the exams will be tailored with this in mind (i.e., closed-book exams focusing on the ability to tackle problems) so you should make sure you can solve problems on your own.
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: 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. 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.
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.
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.
midterm exams (40%): There will be a two midterm exams, each covering each half of the course content and worth 20%.
project (25%): We will provide more details on the final project shortly.
good citizenship points (5%): Everyone has them by default, you can lose them for disruptive behaviors in class or on Ed discussion.
grading scheme: A+: 95+, A: 90-95, A-: 85-90, B+: 80-85, B: 75-80, B-: 70-75, lower passing grades: 50-70. Grades may be curved, but only upwards, i.e. your grade will only improve.
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 both professors a copy of your medical visit report, and we will grant an penalty-free extension (typically 2 days); we will consider other requests on a case-by-case basis.