Syllabus
The Boring But Important Details
This webpage will serve as the syllabus for the Fall 2025 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: M1, M2, M3, M4
Location and Time
The Fall 2025 version of the course is mostly in-person, with one online lecture section.
- In-Person Lecture – M1, M2, M3
- Tuesday and Thursday, 02:00 PM - 03:15 PM
- 3039 Campus Instructional Facility
- Online Lecture – M4
All discussion sections are in-person.
- Discussion – M1, M2
- Friday, 09:30 AM - 10:45 AM
- 1320 Digital Computer Laboratory
- Discussion – M3, M4
- Friday, 11:00 AM - 12:15 PM
- 1320 Digital Computer Laboratory
Course Staff
- Instructor: David Dalpiaz
- Teaching Assistant: Aadya Agrawal
- Teaching Assistant: Bridget Agyare
- Teaching Assistant: Arif Demirtas
- Teaching Assistant: Ruize Gao
- Teaching Assistant: Qiaobo Li
- Teaching Assistant: Hanyang Chen
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
andpytorch
.
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.
With the exception of exams and the project, all course assignments are due on Saturday at 11:59 PM, Central (Urbana) time, on the listed due date.
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.
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. There are two types of labs: labs where you develop a model, and 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 administered via PrairieTest 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.
There is no final exam in CS 307.
Project
There will be small “final” project that will essentially take the same form as a lab report, using a similar rubric. 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.
Course Technology
Use of Python is required to complete the course. Visual Studio Code will be our supported IDE.
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 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.
- Ed - Discussion Forum
- PrairieLearn - Homework, Lab (Models), Exams
- PrairieTest - Exam Scheduling
- Canvas - Lab (Reports), Project
- ClassTranscribe - Lecture Video
Grading
Assessment Weights
Assessment | Weight |
---|---|
Homework | 0.21 |
Lab | 0.21 |
Exam 01 | 0.16 |
Exam 02 | 0.18 |
Exam 03 | 0.20 |
Final Project | 0.04 |
Overall Grade Calculation
Grades for Homework, Lab (Models), and Exams can be found on PrairieLearn. 2 Grades for Lab (Reports) and the project can be found on Canvas.
When performing grade calculations, grades for individual assignments are a percentage between 0 and 100.
For homework and labs, 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}{10} \right)} \]
\[ \text{Lab} = \min{ \left( 100, \frac{100 + \displaystyle\sum_{i = 1}^{11} \text{L}_i}{10} \right)} \]
Then, to calculate an overall grade, use a weighted mean with the weights given above.
\[ \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} \]
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.
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.
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 instructor. Do not bring grade disputes to any other course staff such as teaching assistants. Teaching assistants are not authorized to adjust grades.
You may not simply ask for a re-grade. 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. 4 Grade disputes over trivial points will likely be met with frustration. 5
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.
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 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
In practice, it would be best to stick to online for the first couple weeks. After that, we all understand how this works and attendance will be lower and this will not be an issue.↩︎
Be sure to click “Gradebook” in the navigation bar to see all assignments.↩︎
Doing so would be in violation of the student code.↩︎
Failure to follow the email policy will result in your request being denied.↩︎
A grade on a single assignment is not reflective of your overall grade in the course.↩︎