CSCI 335: Machine Learning
An introduction to both foundational and modern machine learning theories and algorithms, and their application in classification and regression. Topics include: Mathematical background of machine learning (e.g. statistical analysis and visualization of data), Bayesian decision theory, parametric and non-parameteric classification models (e.g., SVMs and Nearest Neighbor models) and neural network models (e.g. Convolutional, Recurrent, and Deep Neural Networks). Programming assignments are required.
Prerequisite(s): (CSCI-243 or SWEN-262) and (MATH-251 or STAT-205), or equivalent courses.
Students may not take and receive credit for CSCI-335 and CSCI-635. If you have earned credit for CSCI-635 or you are currently enrolled in CSCI-635, you will not be permitted to enroll in CSCI-335.
Credit Hours: 3
Lectures: Tuesday and Thursday 2:00pm - 3:15pm. Lectures will be both in-person and over Zoom. Lectures will be recorded.
1. Students will be able to describe the types of problems that machine learning techniques are used to solve, and which machine learning algorithms are appropriate for solving each type of problem. (Assignments, Quizzes)
2. Students will be able to describe, compare, and contrast different machine learning algorithms. (Assignments)
3. Students will be able to implement machine learning algorithms. (Assignments, Projects)
4. Students will be able to work as a team to implement solutions to complex, real world machine learning problems. (Projects)
5. Students will be able to describe evaluation techniques for assessing and comparing machine learning techniques. (Assignments)
Contact information, for the instructor and TA are available through the Contact page.
There is also a class discord account; details will be provided in MyCourses.
Office Hours: Office hours will be held in-person in Prof. Zanibbi's office (GOL 3551) and over zoom (see the Contact page for times). Zoom are available through MyCourses. Office hours will not be recorded.
Class discord (online chat): Please use the discord channel to ask clarifying questions about assignments and course material, and for general discussion about the course. The instructor and TA will try to respond within 24 hours. Do not use the discord channel for anything other than discussions about the course with your instructor, TA, and classmates.
Email: The instructor and TA will try to respond to emails within 24 hours. However, email received on Friday afternoons and weekends may not receive a reply until the following Monday. Also, questions about assignments and other assigned work on the day that they are due will not be answered.
Component |
Weight |
---|---|
Weekly Quizzes (10) |
10% |
Assignments ( |
60% |
Group Project Proposal |
10% |
Final Group Project |
20% |
Quizzes (10%). 10 quizzes will be given out weekly beginning in Week 2 of the semester. Each week that there is a quiz, the quiz will be released by Wednesday at noon, and will be due by 1pm on Thursday (i.e., one hour before lecture). Quizzes will be available through the "Quizzes" link in MyCourses. Students are permitted to retake a quiz as many times as they like, and will receive the highest score that they receive across these attempts before the deadline.
Assignments (60%). 6 individual assignments will be due every 2nd Tuesday, beginning in Week 3 of the semester. The assignments will involve a combination of writing and programming questions; students are expected to follow submission instructions as provided in the assignments carefully. Assignments will be due on Tuesday evenings by 11:59pm.
Final Project (30%). Instead of an exam, students will complete a project at the end of the semester. This project will include a proposal (10%), and a final report, code, and a short 5 minute presentation during the exam slot for the course (20%). Groups will be set toward the end of the semester.
Submissions. All homework, both written and code, must be submitted as instructed (usually, through MyCourses). All submitted programs must be (easily) executable on the CS department Linux machines. More details on allowed libraries etc. will be given with each assignment; what is allowed for some may not be allowed for others.
Late Policy. Late quizzes will not be accepted without prior arrangement with the instructor. Late submissions for assignments and project materials will be accepted up to 48 hours after the deadline, with a 20% penalty.
Grading Criteria. For full points, deliverables in the course including question answers, code, presentations and write-ups must be:
(1) correct and complete (i.e., all parts of a question are answered with no errors and no omissions),
(2) justified, if an explanation is asked for,
(3) clear (i.e., understandable with a reasonable effort), and
(4) in the requested format, including both the forms of answers (e.g., not providing bullets when prose is asked for), and file types (e.g., providing a PDF as asked, versus providing a Word file).
Grades in MyCourses. To help students follow their progress in the course, all grades will be posted on MyCourses, including an automatically updated final grade based on completed work, along with class averages and grade distributions for all graded items.
Grade Adjustments. All grades may be disputed within one week after graded work is returned. Discuss any grading concerns that you have with the instructor, and not the TA or grader.
Please make yourself familiar with the RIT policies designed to keep us safe during the current pandemic. Expectations for both students and all RIT community members are available online here.
For those attending lecture, masking is encouraged but not required (in accordance with RIT policy).
If you require accommodations, please let the instructor know so that we can be of assistance.
RIT ADA Statement (from MyCourses). The Disability Services Office is dedicated to facilitating equitable access to the full RIT experience for students with disabilities. We value disability as diversity and work in collaboration with campus partners to foster a welcoming, diverse, and inclusive campus community.
Any RIT student with a permanent or temporary disability can register and request accommodations with the Disability Services Office. Accommodations are determined on a case-by-case basis via a student-centered process, taking into account what is most appropriate and reasonable for an individual student. Visit www.rit.edu/dso to learn more.
Expectations and resources for programming assignments and project implementation are available through MyCourses. Key details include:
Version Control: Using version control tools such as git (optionally with web interfaces like GitHub etc.) is recommended, but not required. If there are RIT-specific web interfaces, these are preferred. Code created for the course should be private (i.e., not freely available online), and remain so after the course has been completed.
Code and Plagiarism. Students are welcome to discuss their programming assignments (including at a whiteboard, for example), but code should never be directly shared between students, and definitely not copied from other students or resources online -- perusing online documentation, StackExchange, etc. is fine. Copying rather than writing code eliminates the opportunity to deepen your understanding and notice new things by working through the implementation yourself.
RIT Attendance Policy. Attendance requirements are described in RIT Policy D0.4.0 Attendance. Some key details:
- Students are expected to attend all classes on-time.
- Students must make arrangements in advance of absences in order to fulfill course requirements.
- Students do not need to file excuses for absences.
- Instructors are not required to maintain attendance records, but must report prolonged absences to the student's advisor or department.
Illness. In the event of illness, whether COVID-19 or any other, students should continue to notify faculty directly that they will need to be absent and when they anticipate being able to rejoin the class. Per Policy D04.0 – Attendance, students are still responsible for fulfilling normal course requirements during their absence. Students are not required to provide details about or documentation related to health-related absences.
Rescheduling an Exam. Exams and final projects completed during exam week cannot be made up except for real emergencies in which case proper documentation (like a doctor's note) will be required. Oversleeping, cars that don't start etc. do not constitute a valid excuse. Please see RIT's Academic Senate Final Examination Policy for related questions.