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
- CS 307 - Modeling and Learning in Data Science
- Section: MLD
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
- Instructor: David Dalpiaz
- Teaching Assistant: Ruize Gao
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 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.
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. 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.
- Ed - Discussion Forum
- PrairieLearn - Homework, Lab (Models), MPs, Exams
- PrairieTest - Exam Scheduling
- Canvas - Lab (Reports)
- ClassTranscribe - Lecture Video
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.
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
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.
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.