Syllabus
Course Name and Number
- CS 498 - End-to-End Data Science
- Sections: DDG, DDU, DD3
Course Website
You can access this course website through either of the following URLs.
Location and Time
The Spring 2024 version of the course is in-person.
- Lecture: Monday, Wednesday and Friday, 9:00 PM - 9:50 PM, 3101 Sidney Lu Mechanical Engineering Building
Course Staff
Please refer to the course staff by their given names. For example, your instructor is named Dave1. If you refer to the staff as “Professor” or “TA,” we might refer to you as “student,” which seems odd.
Instructor
Teaching Assistants
- Veda Kailasam [Email] [Office Hours]
Learning Objectives
After this course, students are expected to be able to:
- Create interactive dashboards and web applications using reactive programming to communicate data summaries and analysis results with non-technical audiences.
- Implement methods and algorithms as well documented and tested Python packages for use by data scientists.
- Train machine learning models and connect their outputs to larger systems through APIs.
Course Content
Course Description
Course Catalog: Broad coverage of the principles, tools, and products of data science. Throughout the course, students will build data products such as models, packages, dashboards, and APIs using real-world data for real-world applications. Emphasis will be given to open-source tools that exist in or connect with the Jupyter languages (Python, R, and Julia). Their applications, interactions, and tradeoffs will be discussed.
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
A tentative list of lectures follows. This will almost surely be modified.
- 01A: What is Data Science?
- 01B: History of Data Science
- 02A: The Jupyter Languages
- 02B: Array Programming
- 03A: Data Frames and Tidy Data
- 03B: EDA: Summary Statistics and Tables
- 04A: EDA: Visualization
- 04B: Grammar of Graphics
- 05A: Storage Formats and IO
- 05B: Code Packaging
- 06A: Statistical Methods for Data Analysis
- 06B: Experimentation
- 07A: Classical Machine Learning
- 07B: Modern Machine Learning
- 08A: Reporting
- 08B: Organization and Reproducibility
- 09A: Orchestration
- 09B: APIs
- 10A: Data Generation and Collection
- 10B: Data Validation
- 11A: Data Dashboards
- 11B: Reactive Programming
- 12A: Communication
- 12B: Ethics
Textbooks
There is no required textbook for CS 498. Instead, course content will be distributed through a combination of lectures, notes, and additional (freely available) resources.
Prerequisites
Students are expected to have prior Python programming experience and familiarity with machine learning techniques.
- Sufficient: CS 361
- Preferred: CS 441
Attendance
Attendance is encouraged but not required. We will record and post lecture video. Attendance does not directly have an effect on your grade.
Course Communication
We will use several forms of communication for this course. The website will be the one-stop-shop for all course information. Course announcements will be sent via email. Be sure you are regularly checking your @illinois.edu
email account2.
If you would like to communicate with the course staff, our preferred methods of communication, in order, are:
- Office Hours
- Discussion Forum (Ed)
Email should largely be reserved for private matters. As much as possible, we would appreciate you asking questions about the course where we can respond so that other students benefit from your questions! It’s cliche to say, but if you have a question, someone else is probably thinking it!
Office Hours
The office hours schedule can be found on the home page.
Office hours are by far our preferred forum for discussing individual, specific questions. In office hours, our response time will be literally instant. Also, since we are both present in the same physical location (or together on Zoom), follow-up is both expected, and easy. Using asynchronous forms of communication such as the discussion forum or email will have a slower response rate and a much lower communication bandwidth. In other words, please come to office hours!
Office hours will be a rather informal meeting. As such, if the instructor and a student are engaged in causal conversation not directly related to a pressing matter in CS 498, like a homework question, please just jump into the conversation and interrupt! If office hours are “busy” the instructor may institute an informal queuing system, but the hope is to keep office hours more relaxed and informal.
If you would like to schedule a private meeting outside of regular office hours, please send an email suggesting two possible times, on two different days.3 We have a preference for time-slots directly adjacent to current office hours. Please also indicate a brief agenda for the meeting. Requests to schedule a meeting at a time less than 24 hours in the future are unlikely to be granted. Request without an agenda will be denied. Please give us at least some sense of what you would like to discuss.
Discussion Forum
This course will use Ed as our discussion forum.
Please register your account with your University email.4
The course staff will attempt to check Ed at least once a day during the week, thus you can often expect a response within 24 hours, except for weekends. If you need a quicker response, you should consider office hours as an alternative.
Private posts have been disabled. Any private matters should be discussed over email where your identity is known. Some anonymous posting is disabled. You may post anonymously to your classmates, but not the course staff. The course staff will know the identity of all posters.
Email Policy
CS 498 will follow a strict email policy. Instead of email, consider using the discussion forum! Any quick, non-private communication should take place there.
If you’d like to email the instructor or course staff, consider the following:
- Is your question about course administration? If so, have you read the syllabus? If your question is easily answered in the syllabus, we will either refer you to the syllabus, or ignore your email.
- Is your question about part of an assignment? First and foremost: You should ask it in office hours. After that, consider the discussion board. As a last resort, use email, but there is a good chance you will be re-directed to the discussion board.
If you choose to send an email, you must adhere to the following three rules. If you do not, your email will be considered less import than other emails which follow the rules and response time will be slower.
- All email must originate from an
@illinois.edu
email address.5 - Your subject line must begin with exactly the following: [CS 498]
- After the above, put a single space, followed by a useful but short description of your message.
## good
[CS 498] Grade feedback question
## bad
## improper format
## non-descriptive subject
[cs498] hi
## bad
## improper format
[CS 498] Grade feedback question
## bad
## improper format
## subject too long
## information found in syllabus or website
[CS 498]when is the exam and what is covered on the exam?
If your email is sent between 9:00 AM Monday and 11:59 PM Thursday, and you follow the above directions, we will try our best to respond within 24 hours. Questions about an assessment sent the same day the assessment is due will likely not receive a response before the assessment is due. Plan accordingly.
Code Discussion
Course Staff Emails
Role | Name | |
---|---|---|
Instructor | David Dalpiaz | dalpiaz2@illinois.edu |
Teaching Assistant | Veda Kailasam | vedak2@illinois.edu |
Course Technology
Use of Python is required to complete the course. Visual Studio Code will be our recommended IDE, but alternative tools may be used as a substitute.
Beyond that, we will use several related technologies throughout the course. As they are discussed installation and usage instructions will be provided.
Assessments
Assessments in CS 498 will be centered around three machine problems (MPs). Additionally, there will be a final project, and weekly lecture / reading quizzes.
- Lecture and Reading Quizzes
- Python Package MP
- Machine Learning API MP
- Web Application MP
- Final Project
Quizzes
Quizzes (Q) will be short, unlimited attempt, PrairieLearn assessments. They will be a mix of multiple choice, checkbox, numeric, and the occasional coding question. They are meant to check your understanding of the lecture material.
The additional Reading Quizzes (RQ) will only apply to those registered for section DDG. These will be similar PrairieLearn style quizzes based on additional readings posted for those in section DDG.
Machine Problems
Each MP will come with detailed instructions and grading information. We plan for them to completed individually. Students registered for section DDG may have additional requirements with each MP.
Final Project
For a final project, you will repeat one (or some combination) of general tasks of the previous MPs, but with a purpose and data of your choosing. We plan for the final project to be completed individually.
Grading
Assessment Weights
Assessment | Percentage |
---|---|
Quizzes | 40 |
Python Package MP | 15 |
Machine Learning API MP | 15 |
Web Application MP | 15 |
Final Project | 15 |
Your quiz score will be the average of your quiz grades.
No quizzes will be dropped. Instead, we will use a buffer point strategy. Each quiz will have multiple deadlines.
- One Week: 105% (Buffer Points)
- Two Weeks: 100%
- Three Weeks: 75%
Grading Scale
A | B | C | D | |
---|---|---|---|---|
Plus | 99 | 87 | 77 | 67 |
Neutral | 93 | 83 | 73 | 63 |
Minus | 90 | 80 | 70 | 60 |
The instructor reserves the right to lower, but not raise, 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.
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.
You may not simply ask for a re-grade, but instead 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.6 Grade disputes over trivial points will likely be met with frustration.7
After one week, grading is final except for exceptional circumstances.
All grade disputes must be approved by the course instructor. Teaching Assistants do not have authority to modify grades.
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 in particular outlines behavior which is considered an infraction of academic integrity. These sections of the Student Code will be upheld in this course. 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 gray 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, you may visit 1207 S. Oak St., Champaign, call 217-333-4603, email disability@illinois.edu or go to 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.
The Extended Syllabus
For some thoughts on teaching philosophy, some explanation of policies, and some general tips for success, please see The Extended Syllabus.
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
I list David in the syllabus since that is my official name that you’ll see in University systems, but please call me Dave.↩︎
If you aren’t already, you should get into the habit of checking your University email at least once a day.↩︎
A total of four suggested times.↩︎
Accounts registered with an email other than an
@illinois.edu
account will be removed.↩︎Depending on the situation, failure to follow this rule may make a response impossible.↩︎
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. The generous buffer points should more than make up for a single point deduction on a single assignment.↩︎