EECS 690 (3 credit hours) Special topics: Data Science • Spring 2026
Meets in person, Tuesdays and Thursdays, 11:00 am - 12:15 pm, LEEP2 2425
Teaching website: people.eecs.ku.edu/~saiedian/Teaching
This course delivers a thorough, hands-on exploration of the core concepts in data science, utilizing essential programming languages such as Python, R, SQL, and Unix shell. Students navigate the entire data science lifecycle—from data collection and cleaning to analysis, visualization, and data-driven decision-making. They master key techniques including data mining, statistical analysis, and predictive modeling (including classification, regression, and clustering). Real-world case studies in science, engineering, and business present opportunities to tackle diverse challenges by formulating questions, gathering and analyzing data, and developing deployable models. Students also explore critical topics such as ethics, privacy, security, and big data architecture. Prerequisites include experience in Python programming and an introduction to statistics.
There are no required textbooks for this course, but contents from the following texts will be used.
![]() |
Tiffany Timbers, Trevor Campbell, and Melissa Lee, Data Science: A First Introduction, Taylor and Francis, 2024. |
|
|
|
![]() |
Joel Grus, Data Science from Scratch, O'Reilly, 2019 |
🎯Exams: 50%
🗂️Mini-Projects: 40%
📈Term-Projects: 10%
Assignments. Assignments may take a variety of forms, including labs, homework exercises, in‑class activities, or mini‑projects. Students are expected to complete assigned work both inside and outside the classroom as appropriate for the course. In courses that include hands‑on laboratory components (such as software engineering course), certain lab activities must be completed during scheduled lab sessions under TA supervision to ensure academic integrity; work completed outside the lab in these cases will not receive credit. Full assignment descriptions, requirements, and due dates are provided on Canvas.
Exams and quizzes. Exams and quizzes will be conducted in person and administered through Canvas. All exams and quizzes are closed-book and closed-notes.
Students must bring a laptop or tablet with a sufficiently large screen capable of accessing Canvas. During an exam or quiz, the only permitted application is the Canvas app or a web browser with a single tab open to Canvas. All other applications, files, browser tabs, windows, and electronic resources must be closed before the assessment begins and may not be accessed during the assessment.
To maintain academic integrity, students must remain focused on the exam window for the entire assessment. Canvas records instances of "Stopped viewing the quiz-taking page", and such instances may be reviewed and investigated as potential academic integrity violations.
Only devices and applications explicitly required for taking the assessment are permitted. Smartphones, smartwatches, earbuds, headphones, Bluetooth devices other than a mouse or stylus, remote-access software, screen-sharing software, generative AI tools, and similar technologies are prohibited unless expressly authorized by the instructor. Because these technologies can facilitate communication, information access, or other unauthorized assistance, their use is not permitted during exams or quizzes.
Screen brightness must remain at a normal, visible level throughout the assessment. The use of display dimmers, screen-darkening software, privacy overlays, or any method intended to obscure screen contents is not permitted.
Violations of the above testing requirements may be treated as violations of the University's academic integrity policy and may result in disciplinary action.
Submission format policy. All course work—including
assignments, reports, and projects—must be typeset and
submitted electronically via Canvas. Please note that
“typeset” refers to work composed using digital tools
(e.g., word processors,
,
image editing software, etc.).
Handwritten or hand-drawn submissions will not be accepted.
Students are responsible for engaging with all course materials, including lecture slides, topics covered in class discussions, assigned readings, and supplementary resources (e.g., handouts, code samples, or project guidelines) distributed during class sessions. All materials will be posted on Canvas, and students are expected to regularly check Canvas for updates to ensure they remain informed and prepared. Active engagement with these resources is critical for success in assignments, projects, and exams, and aligns with the course’s emphasis on professional responsibility and self-directed learning.
Course announcements (Canvas)
Lecture slides (Canvas)
Readings (Canvas)
Project resources (Canvas)
Throughout the semester, we may host guest speakers who bring
valuable insights and real-world perspectives related to the
course material. Attendance during these sessions is especially
important, as guest speakers may not provide lecture slides
or written materials. Students are expected to take careful
notes and engage respectfully. These sessions may include
content relevant to assignments or exams.
This course is not curved in the traditional sense. I do not
set a fixed class average (e.g., a "B") and scale grades to fit
a predetermined distribution. Instead, I ask one fundamental
question: “Has this student mastered the material?”
If every student demonstrates clear mastery of the course
content, then every student earns an A. Grades are not a
measure of relative ranking—they are a reflection of your
personal understanding and engagement with the work.
I encourage you to shift your focus away from grade
anxiety. Instead, concentrate on being present, asking
questions, exploring ideas, and participating fully in the
learning process. In return, I promise to be fair, transparent,
and extra supportive. We are in this together, and I want each of
you to succeed—not just by earning a grade, but by growing
as scholars and professionals.
I am genuinely invested in your progress, and nothing would
make me happier than seeing every student earn an A through
honest work and intellectual curiosity.
The above said, final course grades will be determined by
the total percentage of points earned. The following standard
scale will be used: Grading philosophy and scale
All lecture notes (slides) are on Canvas
Week 1: January 20 and January 22
Course introduction
Big data
Data life cycle:
Data collection and pre-processing,
Data cleaning,
Data integration,
Data transformation,
Data discretization
Structured vs semi-structured vs unstructured data
Week 2: January 27 and January 29
What is data science: Big data characteristics
Applicaitons of data science
Data science relation to other fields:
Statistics,
Computer science,
Engineering,
Business analytics,
Social sciences
Data collection and pre-processing (with a case study)
➡️Case study: Excessive wine consumption and mortality
➡️Case study: Canadian languages
Learning objectives: You’ll practice the core data‑science skill of preprocessing a real dataset using domain knowledge and visual inspection. Working with 1973 U.S. crime statistics, you’ll identify missing values, detect unusual patterns or outliers, and decide which issues matter for analysis. This project emphasizes the judgment‑based side of data cleaning—learning how to spot problems, reason about whether they are plausible given the domain, and prepare the dataset for meaningful exploration in later projects. Due: See Canvas for the full project description and due date.
Week 3: February 3 and February 5
Using Pandas and Altair (with a case study)
Load and explore a dataset
Apply data frame selection, filtering,
transformation
Visualization and customization
Data science techniques
Descriptive analysis (presented with multiple
case studies)
Exploratory analysis (presented with a case study)
Predictive analytics
Inferential analysis
Causal analysis
Mechanistic analysis
➡️Case study: Canadian languages
Learning objectives: Explore a real case study from sports science to build your first skills in loading, inspecting, and visualizing data with Pandas and Altair. Using performance records from recreational runners, you’ll examine how factors such as age, BMI, and training habits relate to 10 km race times. Through targeted visualizations, you’ll practice identifying patterns, comparing groups, and developing intuition for how human‑performance data behaves before moving on to more advanced modeling. Due: See Canvas for the full project description and due date.
Week 4: February 10 and February 12
Tuesday February 10: Exam 1
Tools and skills for data science
Reading data in varying format and sources
Reading data from the web and from a database
Intro to data cleaning and wrangling
Web scraping
➡️Case study: Canadian languages (continued)
Learning objectives: You’ll explore how different data formats influence the way we load, inspect, and visualize information. Using global happiness data, you’ll practice reading multiple file types, comparing their structure, and understanding how format choices affect workflow and clarity. This project emphasizes the practical judgment data scientists use when deciding how to store, share, and analyze real‑world datasets. Due: See Canvas for full details.
Learning objectives: Learn how data scientists work with information stored in databases by using the ibis library to query a real SQLite dataset. Instead of loading a flat file into memory, you’ll practice filtering, aggregating, and transforming data directly inside the database—an essential skill when working with large or operational datasets. Using flight records from Boston Logan Airport, you’ll explore delay patterns while experiencing how ibis provides a clean interface for database operations. This project builds intuition for when and why database‑backed workflows matter in modern data science. Due: See Canvas for full details.
Week 5: February 17 and February 19
Data cleaning and wrangling
Common wrangling functions
Common statistical summaries
Python data structures
Pandas data frames, Tidy data format
Extracting and merging rows, columns,
advanced selections
Aggregating data, summary statistics,
group calculations
➡️Case study: Canadian languages: Exploring untidy datasets
Learning objectives: You’ll deepen your data‑wrangling skills by working with real avocado sales and pricing data. You’ll practice reshaping tables, handling inconsistent structure, and preparing variables for analysis—tasks that mirror the messy reality of most industry datasets. By cleaning and reorganizing the data, you’ll uncover seasonal patterns and regional differences that would be impossible to see without thoughtful preprocessing. This project emphasizes the practical judgment required to turn raw, imperfect data into something ready for meaningful exploration. Due: See Canvas for full project details.
Week 6: February 24 and February 26
Data science visualization
Fundamentals of Grammar of Graphics
Saving visualizations (raster vs vector)
Visualization guidelines
Altair, ggplot2, Vega-Lite libraries
When to choose scatter, line, bar, histogram, ...
➡️Case study: Mauna Loa CO2: Studying concentration of atmospheric CO2 change
➡️Case study: Old Faithful geyser: Relationship between the waiting time/eruption duraiton
➡️Case study: Earth landmass: Are the continents Earth’s seven largest landmasses?
➡️Case study: Speed‑of‑light measurements from Michelson’s 1879 experiments
Learning objectives: Move beyond basic charts and learn how to build richer, multi‑layered visualizations that reveal deeper structure in the data. Using Altair, you’ll experiment with faceting, layering, interactive elements, and more expressive encodings to tell a clearer story with your data.
Week 7: March 3 and March 5
A preliminary introduction to ML
Why modeling, optimization models
Domain analysis/understanding
Cancer basics (for the case study)
Thursday March 5: Exam 2
Week 8: March 10 and March 12
Tools and skills for data science
Supervised learning
Classification (training and predicting)
Advanced classification (balancing, evaluation
and tuning)
➡️ Case study: Cancer study and dataset
Week 9: March 17 and March 19
Spring break (March 16 - March 22)Week 10: March 24 and March 26
Tools and skills for data science (continued)
Classification: K-nearest neighbors
Classification: linear regression
➡️ Case study: Real estate transactions in Sacramento, CA
Learning objectives: Build and evaluate a simple tumor classifier on the Wisconsin Diagnostic Breast Cancer dataset to understand how modeling choices translate into real clinical trade‑offs by training a baseline model, preparing features, splitting data, and fitting at least one classifier such as logistic regression or a decision tree. As you interpret predictions on real medical features, use evaluation metrics to explain why each matters in healthcare settings, especially given the stakes of misclassification where false negatives and false positives carry very different consequences. Due: See Canvas for full project details.
Week 11: March 31 and April 2
Tools and skills for data science (continued)
Classification: evaluation and tuning
Regression analysis: linear regression
Week 12: April 7 and April 9
Tools and skills for data science (continued)
Regression: linear regression
Unsupervised learning
➡️ Case study: Penguin dataset from Palmer Station, Antarctica Ecological Research
Thursday April 09: Exam 3
Learning objectives: You’ll explore when regression is appropriate and how different regression methods behave on real data. Using marathon‑training records, you’ll investigate whether weekly training distance predicts race‑finish times. You’ll implement KNN regression, compare it with simple linear regression, and interpret the outputs of both models. This project highlights how modeling assumptions shape predictions and helps you build intuition for choosing the right regression approach in practice. Due: See Canvas for full project details.
Week 13: April 14 and April 16
Tools and skills for data science (continued)
Clustering techniques and analysis
Conceptual and logical data modeling
Database and SQL processing for data science
Week 14: April 21 and April 23
Statistical inference
Statitical sampling, sample distribution
Statitical Bootstrapping
Statitical Bootstrap distribution
➡️ Case study: Airbnb listings
➡️
Case study: New illness, new drug, few patients
Learning objectives:
Use unsupervised learning with K‑means on chemical
profiles of hopped craft beers to discover structure
without labels and reflect on how clustering supports
scientific classification and product segmentation by
standardizing features, fitting models across several
values of K, and choosing a reasonable number of
clusters using simple diagnostics such as elbow or
silhouette intuition. As you interpret cluster centers
as chemical profiles and connect them to plausible style
families, visualize the resulting groups through a 2D
projection, pairwise plot, or radar chart of centroids
to show how clusters separate in feature space. The goal
is to communicate what clustering can and cannot tell
us about category boundaries in real data, culminating
in a short interpretation of what differentiates the
clusters chemically and why those differences might
matter for brewers, retailers, or sensory studies,
along with one clear limitation such as sensitivity
to scaling or linear boundaries, supported by a figure
that clearly conveys cluster structure.
Due:
See Canvas for full project details.
Week 15: April 28 and April 30
Data science tools and techniques revisited
Data collection evaluation,
comparing models, A/B testing
Learning objectives:
Explore the core ideas of statistical inference by
creating and sampling from a simulated population
of seniors. Because real‑world analysts
rarely have access to full‑population data, you’ll
use this controlled setting to see how sampling
variability arises and how estimates fluctuate from
sample to sample. This mirrors the challenges faced
in public health, policy, and social science, where
decisions must be made from limited information. By
experimenting with repeated samples, you’ll build
intuition for uncertainty, estimation, and the logic
behind inferential methods.
Due:
See Canvas for full project details.
Week 16: May 5 and May 7
Model evaluation
Learning objectives:
You’ll use R—one of the most widely used languages
for statistical modeling—to explore sampling and
inference in a hands‑on way. R’s ecosystem is
designed for statistical computation, making it ideal
for generating simulated populations, drawing repeated
samples, and visualizing sampling distributions. By
working through these tasks in R, you’ll see how
statisticians use code to quantify uncertainty and
reason about population parameters when full data
is unavailable.
Due: See Canvas for full project details.
Learning objectives:
You’ll use Linux command‑line
tools to analyze real‑world, messy tabular data
in CSV format—one of the most common formats
for public datasets. By working directly in a Unix
environment, you’ll gain hands‑on experience
parsing, cleaning, and summarizing categorical data
using reproducible workflows. Particular emphasis is
placed on the challenges of correctly handling CSV
files that contain quoted fields and embedded commas,
and on using appropriate tools (e.g., csvkit) to ensure
accurate analysis. Through this project, you’ll see
how systems tools support reliable data exploration and
how careful preprocessing influences analytical results.
You will investigate a dataset of New York City causes of
death (2010), exploring demographic patterns (such as sex
and ethnicity) and identifying the most frequent causes of
death through command‑line queries. The project reinforces
key skills in data wrangling, aggregation, and reproducible
analysis while highlighting the importance of correct parsing
in real‑world datasets.
Due: See Canvas for
full project details.
Week 17: May 14 only
iClicker is an interactive classroom response system that
allows students to engage actively by answering questions
and participating in polls. The University of Kansas has
secured an iClicker subscription for classroom use, and the
EECS department is incorporating this system into its courses
to boost student engagement. Participation in the iClicker
community is mandatory for this course.
When an iClicker notification is sent, students are briefly
polled to confirm receipt. If a student encounters a technical
issue or need more time, they should raise their hand to be
acknowledged and if the issue is not resolved, meet with the
instructor immediately after class to manually adjust the
iClicker record.
Responding to iClicker notifications when not physically
present in the classroom is strictly prohibited.
It constitutes a deliberate act of academic dishonesty
and a direct violation of the University of Kansas code of
conduct. Logging attendance or submitting responses while
absent undermines the integrity of our learning environment
and disrespects both the instructor and fellow students who
are fully participating.
Violations will result in a mandatory meeting
with the EECS department chair to address the misconduct and
its implications.
Generative AI tools, such as ChatGPT, GitHub Copilot, Gemini,
and others, can be valuable resources for learning. When used
appropriately, they may assist in brainstorming, exploring
ideas, and refining drafts. However, they must never
replace your own intellectual work.
These tools are akin to the writing center consultants, the EECS
programming tutors, and lab assistants: they can guide and support
but must not generate final submissions. Submitting
content primarily generated by AI is a violation of academic
integrity, comparable to submitting work completed
by someone else.
Unless explicitly permitted, all coursework must reflect
your original understanding, reasoning, and
expression.
Use of generative AI tools is not permitted for any assignment
unless the instructor explicitly authorizes it for that specific
assignment; where such use is authorized, it must be disclosed
via a brief reflection describing how and why the tool was used,
the specific prompts entered, how the output was validated
and revised, and any challenges or limitations encountered.
Failure to disclose use of AI tools or submitting AI-generated
work as your own will be treated as academic
misconduct. Minimum consequences include a zero on
the assignment. Depending on severity, further penalties may
include failure in the course and formal
referral to the School of Engineering disciplinary
committee.
This course is designed to build your skills—not evaluate
the performance of generative tools. Authentic
engagement with course challenges leads to meaningful
growth. Overreliance on AI undermines both your learning and
the integrity of our academic community.
Intellectual honesty is not optional; it defines your
identity as an engineer, a scholar, and a professional.
The University of Kansas, the School of Engineering, and the
Department of Electrical Engineering & Computer Science (EECS)
maintain a zero-tolerance policy toward academic dishonesty
and misconduct. All students enrolled in this course are
expected to uphold the highest standards of integrity and
professionalism in their academic work.
Academic dishonesty includes, but is not limited to:
The minimum consequence for an academic integrity violation
is a zero on the item in question (e.g., lab, assignment,
quiz, or exam). Depending on severity, penalties may include
a grade reduction, a failing grade for the course, and formal
referral to the School of Engineering's disciplinary committee
for further review and sanctions.
Please also see KU's
academic misconduct policy
LMS features.
During exams or quizzes, only one device should be used,
with solely the Canvas app or a single browser tab for Canvas
open. Having any other tab, app or file open will be considered a
violation of academic integrity.
To further facilitate academic integrity, the following features
of Canvas will be utilized:
Code of student rights and responsibility:
Code of Student Rights and Responsibilities
Attendance expectation. Regular attendance is essential for success in
this course. Attendance will be recorded throughout the semester via iClicker
for classroom meetings (and, if the course includes a lab component, via a
sign-up attendance sheet for lab sessions). More than three unexcused absences
(in classrooms or labs) will result in a one‑letter reduction in the final
course grade, which will be applied when grades are posted at the end of the
term. Course-specific attendance policy (EECS 581). Because this course
meets once per week, a single absence carries the weight of two regular
sessions. Accordingly, no more than two unexcused absences will be permitted
(equivalent to four regular sessions under the standard format); a third
unexcused absence will result in the one-letter grade reduction described
above. This applies to the Tuesday classroom sessions; TA/Scrum-meeting
participation is assessed separately, using the project rubric posted on
Canvas. Late-work, makeup policy. Late work and make‑up opportunities
for labs, quizzes, and exams are available exclusively for students with
excused, documented, and approved absences, ensuring full support for those
with qualifying circumstances. Excused absence requests. Requests for excused absences must be
submitted in advance and approved by the instructor, except in cases of
emergency. Supporting documentation must accompany all requests. For
emergencies, notify the instructor as soon as possible following the
absence.
Examples of excusable absences include: If a student experiences a confidential personal or family situation that
does not fall under the above categories, they may consult CAPS or their
academic advisor, who can then contact me on their behalf. Make-up poloicy and integrity.
For excused absences, quizzes and exams must be made up before
the content is reviewed or the answer key is released. Labs,
assignments, or homework are due within one week of the
absence. Additional flexibility will be provided for special circumstances.
By taking a make-up assessment, you affirm that you have an
excused absence and have not sought or received any information
about its content from prior test-takers. Violating this
pledge is academic misconduct (see above).
Responsibility for missed work. Students who miss class are
responsible for obtaining any missed materials.
Classroom conduct policy:
Students are expected to arrive on time, remain attentive, and
conduct themselves professionally. Please avoid behaviors that
disrupt the learning environment or instructor presentations,
and note that profanity is strictly prohibited. Additionally,
students are encouraged to actively engage during class
sessions by asking questions, contributing to discussions,
and providing feedback.
Canvas announcements.
Important course updates will be posted via Canvas
Announcements. You are responsible for checking Canvas
regularly; email notifications may also be sent depending on
your account settings.
Email communications
Grade and absence clarification or correction.
We want to ensure your records are accurate and fair. If
you believe a grade on an assignment, lab, quiz, or exam is
incorrect, you must submit an grade correction request within one
week of receiving the graded work. Similarly, if you need to
submit documentation for an excused absence after the fact, you
must do so within one week of the absence. Failure to address
these matters within this one-week timeframe will result in
the decision becoming final, ensuring timely resolution and
consistency for the entire class.
Technical problems.
Submit a support request help at:
https://tsc.ku.edu/request-support-engineering-tsc.
Electronic device policy:
Cell phones must be silenced before entering the
classroom. While laptops, tablets, and phones are welcome for
note-taking and approved tools like iClicker, non-academic uses
(such as social media or web surfing) must be avoided to prevent
distractions. Audio should remain turned off. Additionally,
devices may be used to photograph whiteboard notes or projects,
provided the shots exclude the instructor and other students.
Incomplete grade policy.
An Incomplete ("I") grade is reserved for exceptional
circumstances beyond your control and must be resolved within
the instructor's timeframe (up to one year before automatically
converting to an "F" or "U"). For full details please review KU policies:
here and
here.
Accommodations for students with disabilities.
The University of Kansas is committed to equal opportunity
and accessible learning. Requests for special accommodations
should be made through KU Student Access Services.
Nondiscrimination and equal opportunity.
KU strictly prohibits discrimination based on protected
characteristics across all programs and activities. For
full institutional policies, please review KU's statements
on nondiscrimination and the racial and ethnic harassment policy.
Sexual harassment.
KU prohibits sexual harassment and is committed
to preventing, correcting, and disciplining
unlawful harassment and assault. Please review KU's statement on sexual harassment for
details.
Mandatory reporter statement.
As a faculty member and KU employee, I am a mandatory reporter
required to share disclosures of discrimination, harassment,
or sexual violence with the Office of Civil Rights and
Title IX. For confidential support options (such as CAPS,
Watkins Health Care, or the Ombuds Office), please review KU's statement on mandatory reporting.
Commercial note-taking ventures.
Pursuant to KU's commercial note-taking policy,
selling lecture notes or course materials for commercial
gain is strictly prohibited and subject to disciplinary
action. Note-taking provided as an official ADA accommodation
for a student with a disability is exempt.
Concealed handguns.
Individuals choosing to carry concealed handguns must do so
safely and in strict compliance with state/federal laws and KU
weapons policy, which requires that handguns remain under
constant control, fully concealed, holstered with the trigger
covered, and carried with the safety on and no round in the
chamber.
Professors and instructors at the KU School of Engineering
are aware that students sometimes post or access course
assignments, labs, and exam questions on EdTech platforms
(such as Chegg).
Please note that agreeing to an EdTech service's "terms
of service" does not protect you if an academic misconduct
investigation is initiated. Platforms like Chegg retain and
release traceable user data upon request.
Using these services constitutes academic misconduct,
violates the School of Engineering Rules & Regulations,
and can lead to a failing grade in the course, a
transcript citation, and expulsion from the University of
Kansas. Instead, please utilize authorized resources such
as instructor office hours, TAs, and tutoring.
As computing and engineering professionals, you are
expected to know and apply the professional codes of ethics
throughout your academic and professional careers:
As the ACM preamble notes: "Computing professionals'
actions change the world. To act responsibly, they should
reflect upon the wider impacts of their work, consistently
supporting the public good."
Mini-Project 7: Clustering Craft Beers Using Chemical
Profiles (Domain: Food Science)
Unix tools for data science
Data science with R
Mini-Project 8: Simulating Populations for
Statistical Inference (Domain: Public Health)
Classification evaluation measures
Sensitivity and specificity
Methods for model evaluation
An application of model evaluation
Emerging trends in data science
Course review
Mini-Project 9: Statistical Inference in
R (Domain: Statistics / Social Science Methods)
Mini-Project 10:
Linux Data Analysis of Public Health Data (Domain: Health Science / Systems Tools)
Comprehensive final May 14 10:30-1:00 pm
Classroom engagement via
LLM and generative AI tools
Academic integrity policy
Attendance, late work, and makeup policies
Common policies
As an engineering student at the University of Kansas,
all written communications should reflect professional
standards. Please note:
The School of Engineering statement on EdTech
Ethical foundations for technical
professionals
Professor Hossein Saiedian
Electrical Engineering & Computer Science
Eaton Hall 3012
University of Kansas
1520 W 15th St
Lawrence, KS 66045-7621
+1 785 864-8812
saiedian at eecs.ku.edu