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
- CS 307 - Modeling and Learning in Data Science
- Sections:
AL1,AL2
Location and Time
The Spring 2026 version of the course is entirely in-person.
- Lectures –
AL1,AL2- Wednesdays and Fridays
02:00 PM–03:15 PM- 1320 Digital Computer Laboratory
- Discussions and Labs –
AL1,AL2- Mondays
02:00 PM–03:15 PM- 1320 Digital Computer Laboratory
Course Staff
- Instructor: Daniel Gonzalez Cedre
- Instructor: Pablo Robles Granda
- Teaching Assistant: Bridget Agyare
- Teaching Assistant: Arif Demirtas
- Teaching Assistant: Jinu Lee
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-learnandpytorch.
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.
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.
All relevant deadlines are listed on the landing page.
Homework
Throughout the semester, there will be a total of eleven homework assignments, which administered through PrairieLearn.
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 |
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
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.
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.
- Ed - Discussion Forum
- ClassTranscribe - Lecture Video
- PrairieLearn - Homework, Lab (Models), Exams
- PrairieTest - Exam Scheduling
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.
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.