Syllabus

Course Description

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.

Course Outcomes

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)

Contacting the Instructor and TA

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.

Grading

Component

Weight

Weekly Quizzes (10)

10%

Assignments ( 6  4)

60%

Group Project Proposal

10%

Final Group Project
(report, code, 5-minute presentation)

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.

COVID-19


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).

Disability Services


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.


Programming

Expectations and resources for programming assignments and project implementation are available through MyCourses. Key details include:

  • Students are expected to use a research programming style (see MyCourses for details)
  • The Black pretty-printer will serve as both a formatting tool and style guide for Python code
  • Students will be provided with accounts on CS machines with GPUs for course work in Week 2.

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.

Attendance and Exams 


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.

Other Course Policies

  • Individual and Group Work. Assignments and quizzes are to be completed on your own. You may discuss these with your classmates, the TA, and the instructor, but you must create all submitted work for assignments on your own. It is not acceptable for a student to prepare an answer set and share this with other students. Where work is done by groups of students, the same restrictions apply as for individual work (i.e., groups may discuss their work, but not provide material for use by other groups in their submissions and presentations).
  • Lecture. This is an advanced course that will cover a wide variety of topics, some being complex and/or counter-intuitive. Students should raise their hands to ask clarifying questions, to check their understanding, or to share an idea. Sometimes the instructor will not call on the student right away to make sure that the course progresses at a reasonable pace. Students are always welcome to send questions over email, discord, or talk to the instructor during office hours (see top of page).
  • Readings. Students are expected to complete assigned readings, and should expect questions from readings that were not covered in lecture to appear in assigned work (e.g., quizzes, assignments).  
  • Academic Integrity.  As an institution of higher learning, RIT expects students to behave honestly and ethically at all times, especially when submitting work for evaluation in conjunction with any course or degree requirement. All students are encouraged to become familiar with RIT's Academic Integrity Policy, Honor Code, and Student Conduct Policy.
  • Course withdrawal. During the add/drop period, you may drop this course and it will disappear from your transcript. After that time, you can only withdraw from the course; the course will appear on your transcript with a grade of W. See the institute's calendar regarding the add/drop period and latest withdrawal date.