UW-Madison · CS220 · Data Science Programming I

CS220: ace the component, not just read the notes

Your complete guide to University of Wisconsin-Madison's data science programming i course. See where the marks are, work real practice questions, and study with an AI tutor that knows CS220.

4 credit points Elementary undergrad Offered Fall / Spring Department of Computer Sciences

Sia generates CS220 practice questions, walks through python fundamentals and working with real datasets step by step, and quizzes you on the material the component that weights most heavily.

Spot the bug

Find what is wrong

Multiple choice · the fix is revealed after you answer

You load a dataset of 50,000 customer records and find that the 'age' column contains some values of -1 and some of 999. What should you do before computing the mean age?

The fix

Recognise the pattern: -1 and 999 are sentinel values, conventions for missing or unknown, not real ages.

Averaging them in drags the result in both directions by an unknown amount, so the number would be wrong without appearing wrong.
Decide on a treatment and write it down: exclude, or impute with a stated method. Either can be defensible; leaving it undocumented is not.
Then compute the statistic on the treated column, and report what was excluded.

The trap: Deleting rows reflexively. Dropping whole records throws away every other column for those customers and can bias the sample if missingness is not random. The course names reproducibility as an outcome for exactly this reason: the decision matters less than making it explicit and repeatable. classic slip!

Overview

What CS220 is, and where it sits

COMP SCI 220 is the Python entry point to data science at UW-Madison. It assumes no previous programming experience, carries 4 credits, and emphasises analysing real datasets in a variety of forms alongside visual communication.

It is an alternative to COMP SCI 200 as the first programming course, and either can lead into COMP SCI 300. The difference is orientation rather than difficulty: COMP SCI 200 builds toward software construction in Java, while COMP SCI 220 builds toward working with data in Python.

The six published outcomes are unusually broad for an introductory course. They cover integrating concepts from mathematics, computer science and statistics; competency with the tools and processes needed for data management and reproducibility; producing meaning from data through modelling; critical thinking about data science concepts and methods; oral, written and visual communication; and manipulating quantitative information to build models and solve problems with multi-step arguments. Reproducibility and communication being named outcomes tells you the assessment is not only about whether the code runs.

How it differs from its first-year siblings. COMP SCI 220 and COMP SCI 200 are alternative first programming courses; 220 is Python and data-led, 200 is Java and software-led. COMP SCI 320 is the direct continuation on the data science side.

Always treat your own course outline and the exam timetable as authoritative.

Difficulty & time commitment

Is CS220 hard, and how much time does it take?

CS220 is manageable if you keep a weekly rhythm and treat the back half as the main event. The pattern is consistent: it starts gently and steepens, and the heaviest assessment is the part that separates grades.

Difficulty
3.1 / 5
Moderate. Gentle early, demanding back half. Hard to fail with steady work; a top grade takes consistent practice.
Coursework
0%
Coursework carries most of the grade. The heaviest single component is the component at 0%.
First thirdPython fundamentals
Middle thirdTabular analysis of real datasets
Final thirdModelling and visual communication

The difficulty curve and the assessment weighting point the same way: the back half is harder and worth more. Front-loading effort there is the highest-return decision in the course.

Is this course for you

Who tends to do well, and who tends to struggle

You will likely do well if

  • You are curious about datasets rather than only about code.
  • You document as you work, since reproducibility is an assessed outcome.
  • You can explain a finding to someone who has not seen your notebook.
  • You look at data before modelling it.

You may struggle if

  • You want a pure programming course; a third of the outcomes are about interpretation and communication.
  • You skip the cleaning stage and go straight to results.
  • You produce plots without a point.
  • You underestimate four credits of continuous project work.
do this ↘
What top students do differently
  • Write down every cleaning decision as you make it; that habit is what the reproducibility outcome rewards.
  • For each plot, state in one sentence what it shows and what it does not.
  • Rerun your whole analysis from a clean environment before submitting.
  • Practise explaining a result aloud, since communication is examined.

Syllabus

The 7 topics, topic by topic

The exam-weight marker on each topic shows where the marks concentrate. The amber topics carry the highest exam weight.

T1

T1 · Python fundamentals

Course description

Variables, control flow and functions in Python, taught from zero experience.

T2

T2 · Working with real datasets

Course description

Data in a variety of forms, which in practice means data that is messy before it is useful.

T3

T3 · Tabular analysis

Course description

Selecting, filtering, grouping and summarising, the operations most data work is actually made of.

T4

T4 · Data management and reproducibility

Learning outcome 2

A named outcome: the tools and processes that let someone else, or future you, rerun the analysis and get the same answer.

T5

T5 · Modelling strategies

Learning outcome 3

Producing meaning from data rather than only describing it.

T6

T6 · Visual communication

Learning outcome 5

Plotting and presenting results so the argument is visible. Assessed as an outcome, not treated as decoration.

T7

T7 · Critical thinking about methods

Learning outcome 4

Judging whether a method suits the data and the question, which is what separates analysis from output.

How it's assessed

Assessment structure

If you read nothing else

A component-by-component weighting breakdown is not published for this course. Rather than estimate one, we publish only what the course itself states. Check your current course outline for the exact percentages.

No component weighting is published. The university catalogue publishes course description, credits, requisites, course designation and learning outcomes, but not assessment weights, and instructor syllabi carrying them are set per section and per term. Rather than estimate a breakdown or reuse a superseded one, none is asserted here. Check the syllabus your instructor posts for this term. Not published in the catalogue. Format is set per section by the instructor.

How to actually pass it

A weekly rhythm, two checklists, and the traps to avoid

The course rewards consistency over cramming, and practice over re-reading. Here is the loop that works, then what to have nailed before each exam.

The weekly loop

Before class
Skim the week's technique so class time is spent applying it.
Same week
Apply it to a dataset that was not used in class.
Same week
Write one paragraph interpreting your own output.
Every fortnight
Rerun an earlier analysis end to end to check it still reproduces.

Before the mid-semester checklist

  • Python fundamentals: control flow, functions, data types
  • Loading and inspecting real data
  • Tabular operations: filter, group, summarise
  • Identifying and handling missing or sentinel values

Before the final heaviest topics

  • Modelling strategies and when each applies
  • Visual communication of a result
  • Reproducible workflow from raw data to output
  • Critical evaluation of a method's fit to a question

The mistakes that cost marks

01

Averaging sentinel values. Codes like -1 or 999 are conventions for missing data. Including them corrupts a statistic silently.

02

Undocumented cleaning. An analysis nobody can rerun is not a result. Reproducibility is a named outcome of this course.

03

Plots without an argument. Visual communication is assessed on whether the reader sees the point, not on how many charts were produced.

04

Modelling before looking. Fitting a model to data you have not inspected produces confident output from broken input.

Formula & concept sheet

The vocabulary and formulas you must own

Tabular data
Data organised in rows and columns, the dominant form in applied data work.
Data cleaning
Detecting and treating missing, malformed or sentinel values before analysis.
Sentinel value
A placeholder such as -1 or 999 that encodes missing or unknown rather than a real measurement.
Reproducibility
The property that an analysis can be rerun by someone else with the same result; a named outcome here.
Modelling strategy
An approach for producing meaning from data rather than only summarising it.
Visual communication
Presenting results so the argument is legible; assessed in this course.
Exploratory analysis
Inspecting a dataset's structure and quirks before committing to a method.

Common acronyms: {'term': 'QR-B', 'def': 'Quantitative Reasoning Part B designation'} · {'term': 'ADT', 'def': 'Abstract data type'} · {'term': 'L&S', 'def': 'College of Letters & Science'}.

Where it fits

Prerequisites, related courses & why it matters

Requires satisfied Quantitative Reasoning Part A, or declaration in the Professional Capstone Program in Computer Sciences. No previous programming experience is required. Not open to students with credit for COMP SCI 301.

Why it matters beyond the grade. Python plus tabular analysis plus the ability to communicate a result is the entry-level data analyst skill set, and this course is the first step of the data science sequence.

FAQ

Frequently asked questions

Do I need programming experience?

No. The course states no previous programming experience is required, and it teaches Python from the start.

Should I take COMP SCI 220 or COMP SCI 200?

They are alternative first courses. COMP SCI 220 is Python and data-oriented at 4 credits; COMP SCI 200 is Java and software-oriented at 3 credits. Either can lead into COMP SCI 300.

What does reproducibility mean here?

It is a published outcome: demonstrating competency with tools and processes necessary for data management and reproducibility, so that an analysis can be rerun and checked.

Is communication assessed?

Yes. One outcome is demonstrating oral, written and visual communication skills related to data science.

How is it graded?

No weighting is published in the catalogue; assessment is set per section.

Is it still running?

Yes. The catalogue records it as last taught in Summer 2026.

Study CS220 with Sia

Work through python fundamentals, working with real datasets, tabular analysis and the rest of the course with a tutor that knows it and quizzes you on the topics the assessments weight most heavily.

Start studying with Sia