Syllabus

The Boring but Important Details

This webpage will serve as the syllabus for the Spring 2026 version of CS 307. Please read it carefully. 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 2026 version of the course is entirely in-person.

  • LecturesAL1, AL2
    • Wednesdays and Fridays
    • 02:00 PM03:15 PM
    • 1320 Digital Computer Laboratory
  • Discussions and LabsAL1, AL2
    • Mondays
    • 02:00 PM03:15 PM
    • 1320 Digital Computer Laboratory

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 four types of assessments: homework, labs, exams, and a project.

All homeworks and lab assignments are due on Saturdays at 11:59 PM Central time on their respective due dates.

Be aware: the course staff may not answer messages or emails over the weekend, which begins at 6:00 PM on Friday. So, while you can use Saturday to complete an assignment, it must be done without the assistance of the course staff. We strongly encourage you to complete your assignments by Friday, then take a break and enjoy the weekend!

All relevant deadlines are listed on the landing page.

Except for extenuating circumstances that would result in an absence letter, no late work will be accepted, and no extensions will be granted.

However, be aware that the grading policy for the course provides significant flexibility. It is possible to obtain a grade of 100% (thus an A) without completing all assignments; however, we of course suggest you do.

Homework

Throughout the semester, there will be a total of eleven homework assignments, which 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 lab assignments throughout the semester, submitted through PrairieLearn. There are two types of labs: - six labs where you develop a model - five labs where you write 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, which will be administered via PrairieTest at the Computer-Based Testing Facility (CBTF). Instructions and more information (including dates and times) can be found on the exam policy page of the course website.

There is no final exam in CS 307.

Project

There will be a small final project. The project will be similar to a lab report, using a similar rubic. Information and instructions can be found on the project 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 includes information about office hours. It will also include contact information for the course staff members and an associated email policy.

Grading

Assessment Weights

Assessment Weight
Homework (11 Assignments) 0.21
Lab (6 Models, 5 Reports) 0.21
Exam 01 0.16
Exam 02 0.18
Exam 03 0.20
Final Project 0.04

Overall Grade Calculation

Grades for all assignments and exams can be found on PrairieLearn.1

When performing grade calculations, grades for individual assignments are normalized to scores between 0 and 100.

Let \(HW_i\) denote the \(i\)th homework assignment. We compute your overall Homework score as follows.

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

Let \(LM_i\) and \(LR_i\) denote the \(i\)th lab model and lab report respectively. We compute your overall lab score as follows.

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

Then, for your overall grade, we use the assignment weights given in the table above and compute the following weighted average.

\[ \begin{align} \text{Overall} &= 0.21 \cdot \text{Homework} \\ &+ 0.21 \cdot \text{Lab} \\ &+ 0.16 \cdot \text{Exam 01} \\ &+ 0.18 \cdot \text{Exam 02} \\ &+ 0.20 \cdot \text{Exam 03} \\ &+ 0.04 \cdot \text{Project} \\ \end{align} \]

There is no rounding at any point during this process.

Grading Scale

After calculating the overall course grade as described above, letter grades will be assigned based on the following cutoffs without rounding. Note that CS 307 does not assign A+ grades.

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

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, now a student with a 92.4 will be frustrated. One way or another, there is a cutoff.

The instructors reserve the right to lower (but not raise) letter grade cutoffs; however, this should not create the 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.

Regrade Requests and Grade Disputes

Because the vast majority of the course is autograded, the following policy mostly applies to lab reports and the final project. If you experience issues with an autograder, you must immediately notify the course staff. 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 instructors. Do not bring grade disputes to any other course staff (e.g., teaching assistants.) Teaching assistants are not authorized to adjust grades.

You may not simply ask for a regrade. Instead, you must justify to the instructor why the grading was incorrect. 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

Except for extreme circumstances, all grading is finalized within one week of the grade being handed back.

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, strict, and fair 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.

Course Technology

Use of Python is required to complete the course. The officially supported IDE is Visual Studio Code.

Because effective computing is necessary for success in CS 307, we have written a lengthy computing policy.

Generative AI

CS 307 does not prohibit the use of generative AI tools or language models (e.g., Anthropic’s Claude Code, OpenAI’s ChatGPT).

However, be aware that you will not have access to these tools during exams in the CBTF! Keep this in mind if you choose to use generative AI to assist you with assignments. As a heuristic: it would be a bad idea to give an assignment or a question to an LLM for it to solve without doing the work yourself. It might be more reasonable to use an LLM to help explain a concept or detail that you don’t understand while working on an assignment (keeping in mind that language models have a tendency to hallucinate even with proper prompting).

Learning Management

A mixture of Ed, ClassTranscribe, PrairieLearn, and PrairieTest will be used throughout the semester.

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 instructors reserve the right to make any changes they consider 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.↩︎