Syllabus

The Boring But Important Details

This webpage will serve as the syllabus for the Spring 2025 version of CS 307. Please read it carefully. You should become familiar with these policies. You should return to the syllabus several times throughout the semester. After the start of the semester, this document may continue to be updated, however, any such changes will be announced.

Course Name and Number

Location and Time

The Spring version of the course is in-person.

  • Lecture: Monday and Wednesday, 9:30 AM - 10:45 AM, 2100 Sidney Lu Mechanical Engineering Building
  • Discussion: Friday, 9:30 AM - 10:45 AM, 2100 Sidney Lu Mechanical Engineering Building

Course Staff

Learning Objectives

After this course, students are expected to be able to:

  • Identify supervised (regression and classification) and unsupervised (clustering) learning problems and their subtasks.
  • Understand the bias-variance tradeoff and its relationship to model complexity, overfitting, and generalization.
  • Validate and select machine learning models and their parameters using techniques such as cross-validation.
  • Prepare and process data for use with machine learning methods.
  • Formulate practical, real-world problems as machine learning problems.
  • Evaluate effectiveness of machine learning methods when used as a tool for data analysis or as a component of a system.
  • Implement simple machine learning methods from scratch using Python’s numpy.
  • Apply machine learning methods to real data using frameworks such as Python’s scikit-learn and pytorch.

Course Content

Course Description

Course Catalog: Introduction to the use of classical approaches in data modeling and machine learning in the context of solving data-centric problems. A broad coverage of fundamental models is presented, including linear models, unsupervised learning, supervised learning, and deep learning. A significant emphasis is placed on the application of the models in Python and the interpretability of the results.

The above description is based on the Illinois Course Catalog. This version of the course may deviate slightly from this description. The course website will provide an overview of the course content and schedule.

Topics

Tentative topics include:

  • Basics: Supervised and Unsupervised Learning, Parametric versus Nonparametric Methods, Bias-Variance Trade-Off, Cross-Validation, No Free Lunch, Model Selection and Evaluation
  • Regression: Linear Regression, Decision Trees, KNN
  • Classification: Logistic Regression, Decision Trees, KNN, LDA, QDA, Naive Bayes
  • Extensions: Regularization (Ridge, Lasso, Elastic Net), Ensemble Learning (Bagging, Boosting, Random Forests)
  • Unsupervised: PCA, K-Means Clustering, Hierarchical Clustering, Mixture Models, EM Algorithm

Towards the end of the semester, we will use any remaining and available time to introduce neural networks and deep learning.

Textbooks

There is no required textbook for CS 307. Instead, course content will be distributed through a combination of lectures, notes, and additional (freely available) resources.

Prerequisites

The stated prerequisite for CS 307 is STAT 207 and a linear algebra course, preferably one of MATH 225, MATH 227, MATH 257, MATH 415, MATH 416, or ASRM 406. Students will be expected to have experience with probability, statistics, and Python programming as taught in STAT 107 and STAT 207. Comparable experiences may be acceptable, but do consider speaking with an advisor if you find yourself in that situation.

Attendance

Lecture and discussion attendance is expected and encouraged but not explicitly required. Attendance does not directly have an effect on your grade.

Do not come to class if you are sick, COVID, flu, RSV, or otherwise. While it can be nice to meet in-person it is not required. Attendance does not directly have an effect on your grade.

  • If you’re sick, you need rest!
  • If you’re sick, you risk getting the rest of the class sick.

Assessments

CS 307 will use three types of assessments: homework, labs, and exams.

With the exception of exams, all course assignments are due on Friday at 11:59 PM, Central (Urbana) time, on the listed due date.

The previous sentence is a lie. All assignments (except for exams) are technically due on Sunday at 11:59 PM, Central (Urbana) time. However, we will always state the due date as Friday, and encourage submission before Friday. You may use the weekend as a “buffer” to complete assignments if needed. But be aware, the course staff will not answer discussion forums posts or emails over the weekend. So while you can use the weekend to complete an assignment, it must be done without the assistance of the course staff.

All assessment deadlines are listed on the landing page of this website.

Homework

Throughout the semester, there will be a total of eleven homework assignments, administered through PrairieLearn.

To access PrairieLearn content, simply navigate to prairielearn.org and add CS 307.

Information and instructions can be found on the homework policy page of the course website:

Labs

There will be a total of eleven labs throughout the semester, submitted through a combination of PrairieLearn and Canvas. Each lab will have two components, a model and a report. Information and instructions can be found on the lab policy page of the course website:

Exams

There will be three exams throughout the semester taken at the Computer-Based Testing Facility (CBTF). Information (including dates and times) and instructions can be found on the exam policy page of the course website:

Course Communication

We will use several forms of communication for this course. As communication is an important part of the learning process, we have written a lengthy communication policy.

This document will contain information about office hours. It will also include contact information for the course staff members.

Course Technology

Use of Python is required to complete the course. Visual Studio Code will be our supported IDE.

Because computing is an important part of the learning process, we have written a lengthy communication policy.

Generative AI

CS 307 does not prohibit the use of generative AI tools such as OpenAI’s ChatGPT or Microsoft Copilot. You are free to use these tools more or less without restriction.

However, you should be aware that you will not have access to these tools during exams in the CBTF. It would be wise to keep this information in mind if you choose to use generative AI to assist with homework and labs. As a broad heuristic, it would be a bad idea to simply give homework questions to an AI in an attempt to obtain an answer without doing work yourself. A reasonable approach would be to use generative AI to help explain concepts and code that you do not understand. But don’t forget: these systems have a tendency to hallucinate.

Learning Management

A mixture of Canvas, Ed, PrairieLearn, PrairieTest, and ClassTranscribe will be used for Learning Management.

Grading

Assessment Weights

Assessment Weight
Homework 0.20
Lab (Models) 0.20
Lab (Reports) 0.09
Exam 01 0.15
Exam 02 0.17
Exam 03 0.19

Overall Grade Calculation

Grades for Homework, Lab Models, and Exams can be found on PrairieLearn. 1 Grades for Lab Reports can be found on Canvas.

When performing grade calculations, grades for individual assignments are a percentage between 0 and 100.

For Homework (HW), Lab Models (LM), and Lab Reports (LR), the following equations will be used to calculate the relevant category subscores.

\[ \text{Homework} = \min{ \left( 100, \frac{100 + \displaystyle\sum_{i = 1}^{11} \text{HW}_i}{100} \right)} \]

\[ \text{Lab Models} = \min{ \left( 100, \frac{100 + \displaystyle\sum_{i = 1}^{11} \text{LM}_i}{100} \right)} \]

\[ \text{Lab Reports} = \min{ \left( 100, \frac{100 + \displaystyle\sum_{i = 1}^{11} \text{LR}_i}{100} \right)} \]

Then, to calculate an overall grade, use a weighted mean with the weights given above.

\[ \begin{align} \text{Overall} &= 0.20 \cdot \text{Homework} \\ &+ 0.20 \cdot \text{Lab Models} \\ &+ 0.09 \cdot \text{Lab Reports} \\ &+ 0.15 \cdot \text{Exam 01} \\ &+ 0.17 \cdot \text{Exam 02} \\ &+ 0.19 \cdot \text{Exam 03} \end{align} \]

Grading Scale

After calculating the overall course grade as described above, letter grades will be assigned based on the following cutoffs.

A B C D
Plus NA 87 77 67
Neutral 93 83 73 63
Minus 90 80 70 60

Overall course grades will not be rounded.

What if your final course grade is 92.9? Should you email asking for an exception? No. While we understand that being close to a cutoff is frustrating, we cannot make individual exceptions. 2 Cutoffs are indeed somewhat arbitrary, but that is simply a reality of a system that uses letter grades. Why not round? Because that simply lowers the arbitrary cutoff. With rounding, a student with a 92.4 will then be frustrated. One way or another, there is a cutoff.

The instructor reserves the right to lower, but not raise, letter grade cutoffs. However, this policy should not create an expectation that this will happen. Asking for a change in cutoffs will make any change in cutoffs less likely. Grading in the course is not competitive. There is nothing (other than some statistical realities) that would prevent the entire class from receiving a grade of A.

CS 307 does not use the A+ grade.

Final letter grades will be posted to Canvas as soon as is reasonably possible.

Grade Disputes

Because the vast majority of the course is autograded, the following policy mostly applies to Lab Reports. If you experience issues with an autograder, those issues should be brought to the course staff immediately. Information about how this applies to exams can be found in the Exam Policy document.

If you feel an assignment was graded incorrectly, you have one week from the date you received a grade for the assignment to discuss it with the instructor. Do not bring grade disputes to any other course staff such as teaching assistants. Teaching assistants do not have authority to modify grades.

You may not simply ask for a re-grade. Instead, you must justify to the instructor why the grading was done incorrectly. By disputing any grading, you agree to allow the instructor to review the entire assessment in question for other errors missed during grading. Requests must be sent via email. 3 Grade disputes over trivial points will likely be met with frustration. 4

After one week, grading is final except for truly exceptional circumstances.

Academic Integrity

The official University of Illinois policy related to academic integrity can be found in Article 1, Part 4 of the Student Code. Section 1-402 outlines behavior which is considered an infraction of academic integrity. These sections of the Student Code will be upheld in CS 307. Any violations will be dealt with in a swift, fair, and strict manner. In short, do not cheat, it is not worth the risk. You are more likely to get caught than you believe. If you think you may be operating in a grey area, you most likely are.

Under no circumstances should course materials be provided to Course Hero, Chegg, or any similar for-profit website. The course staff will seek the harshest possible academic integrity penalty for any students who do so.

Additional Information

Safety

The university values your safety. Please review the Run-Hide-Fight documentation provided by the Division of Public Safety.

Disability Accommodations

To obtain disability-related academic adjustments or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, email disability@illinois.edu or utilize the DRES website.

To ensure appropriate accommodation is provided in a timely manner, please provide your Letter of Accommodation during the first week of class. Letters received after a relevant assessment has been administered will likely cause logistical issues that could result in an inability to accommodate.

Accommodations for exams are handled in collaboration with the CBTF. Details can be found in the Exam Policy document.

Changes

The instructor reserves the right to make any changes he considers academically advisable. Such changes, if any, will be announced. Please note that it is your responsibility to keep track of the course proceedings.

Footnotes

  1. Be sure to click “Gradebook” in the navigation bar to see all assignments.↩︎

  2. Doing so would be in violation of the student code.↩︎

  3. Failure to follow the email policy will result in your request being denied.↩︎

  4. A grade on a single assignment is not reflective of your overall grade in the course.↩︎