Teaching staff:
Times:
Other:
It is hard to imagine anything more fascinating than automated systems that improve their own performance. The study of learning from data is commercially and scientifically important. This course is designed to provide a thorough grounding in the methodologies, technologies, and algorithms of machine learning. The topics of the course draw from classical statistics, from machine learning, from data mining, and from statistical algorithmics.
Students entering the class should have a pre-existing working knowledge of probability, statistics and algorithms, though the class has been designed to allow students with a strong numerate background to catch up and fully participate.
The course is broken up into five overarching case studies
Here is how your grade will be calculated:
This maps to the 4.0 grade scale roughly as follows. You will get at least the grade below for the percentages shown:
Most weeks, there will be a homework assignment that is generally divided into two parts. The first is a programming assignment that will involve writing Python code, processing and analyzing data, and answering open ended questions all based on that analysis. The second part focuses on answering conceptual questions at a high level or might involve doing some calculation by hand. Each of these portions contribute to your grade separately as per the section above.
Homework assignments should be completed individually by each student without the use of materials outside the class. Please refer to the Academic misconduct policy.
If you are not satisfied with a grade you receive on a homework, you should refer to the regrade policy.
There will be one written final exam in the course on the last day of class. You will be allowed a single sheet of 8.5"x11" paper for notes (both sides).
Make-up exams will only be given in case of a serious emergency. If you miss an exam, even if you are sick or injured, you must contact Hunter BEFORE the exam (or arrange for someone to do so). You must show evidence that you are physically unable to take the exam. No make-ups will be granted for personal reasons such a travel or conflicting schedules. No accommodations will be made for students who arrive late to exams. The only accommodations for exams that will be made are those that correspond to the University's official accessibility guidelines, which must be reflected in your student account.
Each student receives 4 "late days" for use on homework assignments. A late day allows you to submit a program up to 24 hours late without penalty. For example, you could use 2 late days and submit a program due Thursday 11:30pm on Saturday by 11:30pm with no penalty. Once a student has used up all the late days, each successive day that an assignment is late will result in a loss of 10% on that assignment. Regardless of how many late days you have, you MAY NOT submit a program more than TWO days after it is due. Leftover late days have no impact on your grade.
If unusual circumstances truly beyond your control prevent you from submitting an assignment or attending an exam on time, you should discuss this with the course staff ASAP. If you contact us well in advance of the deadline, we may be able to show more flexibility in some cases.
We take academic honesty very seriously. Cheating not only deprives you of practice and understanding, but is also unfair to the rest of your class. Therefore, please restrict attention to the materials provided as a part of this course (lecture slides, quiz section handouts, etc.) when solving the programming assignments and concept quizzes and do not copy answers from anywhere. If you do happen to use other material, it must be acknowledged clearly with a citation on the submitted solution. Reading unauthorized material will be considered cheating. Please ask us if you unsure about the use of a particular reference.
You are still, however, encouraged to discuss assignments and course content on a high level with your classmates so long as you:
If you have a specific question about your code or written work, the only person you may show your work is a member of the course staff.
Cheating: If you do not follow these rules, you will be considered to have cheated. Cheating is a very serious offense. If you are caught cheating, you can expect a failing grade and initiation of a cheating case in the University system. Cheating is an insult to other students, to the instructor, and to yourself. If you feel that you are having a problem with the material, or do not have time to finish an assignment, or have any number of other reasons to cheat, we have many mechanisms for getting help. Copying the work of others is not the solution.
For more details, see this Academic Misconduct page. If you're not sure if something constitutes cheating, send the instructor an email describing the situation.
There are two main ways of getting help:
You can find the access code to join Piazza on our course Canvas page
We use Piazza as an online Q&A forum where you may ask questions (both publicly and privately). If you have a question, this should be the first place to check & it's often the case that other students may have had the same question.
We also strongly recommend you monitor new questions asked on Piazza semi-regularly: seeing questions other students ask can often be surprisingly enlightening.
We do not have a course staff email so if you have a question about a particular concept or part of the assignment that you do not want to post publicly on Piazza, you should post privately so that the instructor or any of the TAs can answer. Students should prefer using Piazza instead of emailing individual staff members. Obviously, if your concern is a personal matter that you want to talk to the instructor about, you may email the instructor individually.
Note: The use of "Piazza Careers" is not required and you do not need to put any personal information in the website.
Please visit office hours! Answering questions during office hours is often one of the best parts of teaching, so please do us a favor and make use of them.
One additional resource to keep in mind is the resources page on the class website. This page contains links to a variety of guides, tips, and tricks on material we don't have time to fully cover during lecture or section. The resources there might not always be relevant, but they're checking from time to time.
We will be using Jupyter Notebooks written in Python 3 in this class to solve the programming assignments. Students will have two options supported by the course staff to write/execute their code.
We will be using Gradescope to submit all assignments.
There is no required textbook for this class, all of the referenced resources are available online and for free! There may also be some optional readings from textbooks that can be purchased, but these are by no means required.