Spring 2027

Programming I

Programming I introduces fundamental CS concepts through incremental development of small programs. It covers problem abstraction, flow control, functions, and I/O, targeting students with no prior programming experience.

offering recorded3 credits
Recorded instructors · Spring 2027 Andrew Kuemmel3.8/5

Summary

1 / 6

Past student reviews · Andrew Kuemmel

Homework was due Monday through Thursday, often involving participation tasks that took significant time. Students also faced weekly Friday quizzes, with midterms scheduled on Sundays.

What you’ll be able to do

  • Design and implement a standalone program that can interact with the user via prompts and or menus, access and edit data stored in an array or list structure, and use and further process the data found in those structures.

  • Trace code to determine output or results.

  • Implement a given program design and choose correct control structures for implementing algorithms expressed in pseudocode.

  • Interpret a variety of diagram types used to express programming concepts and results: truth tables, memory model diagrams, control flow charts (activity diagrams), class diagrams, object diagrams, and use-case diagrams.

  • List, describe, use the basic I/O operations for reading and writing text files to and from the computer’s hard drive.

  • Manipulate quantitative information to create models, and/or devise solutions to problems using multi-step arguments, based on and supported by quantitative information.

  • Evaluate models and arguments using quantitative information.

  • Express and interpret in context models, solutions and/or arguments using verbal, numerical, graphical algorithmic, computational or symbolic techniques.

Source: UW Guide

Grade history

↗
average GPA
letter grades
A
AB
B
BC
C
D
F

All recorded terms · compare terms & instructors

Prerequisites

Course map

Satisfied Quantitative Reasoning (QR) A or declared in the Capstone Certificate in Computer Sciences for Professionals

    • Satisfied Quantitative Reasoning (QR) A
    • declared in the Capstone Certificate in Computer Sciences for Professionals
    take one
COMPSCI 200 used by

“Used by” includes alternatives; linked courses may have other requirements. This is a best-effort interpretation; check the catalog requirements above.

Prerequisite text tree
  • Any of
    • Satisfied Quantitative Reasoning (QR) A
    • declared in the Capstone Certificate in Computer Sciences for Professionals

Professors

Spring 2027
Adjusted rating
RMP difficulty
captured reviews
About this rating

Raw average: 3.83/5 from 53 quality ratings. The adjusted rating blends this with the UW review average (3.66/5), weighted as 20 additional ratings. Smaller samples stay closer to that average. Each captured review is counted once in the prior; this does not correct who chooses to leave a review.

For this course: 3.1/5 raw quality · 2.8/5 difficulty · 16 reviews

RMP profile ↗ · All captured review dates; profile matched by name.

Past student reviews · Andrew Kuemmel

Andrew Kuemmel taught this introductory Java course with a hybrid structure relying heavily on online textbooks and weekly Friday quizzes. While students found his explanations accessible for beginners and noted his availability for help, others described the lectures as boring and the course design as poorly structured. Some reviews criticized the reliance on busy work and inconvenient quiz timing, though others appreciated the clear slides and effective concept delivery.

Recent recorded grades — Fall 2024: 3.54 GPA, 71.4% A/AB (n=175 letter grades); Fall 2025: 3.52 GPA, 75.0% A/AB (n=492 letter grades); Spring 2026: 3.47 GPA, 64.0% A/AB (n=136 letter grades). Includes jointly taught sections.

Historical instructors & teaching patterns

Past student reviews · Jim Williams, Marc Renault

Past students found Jim Williams' course time-consuming, with some reporting over 12 hours of weekly homework, while others noted exams were easy if you kept up. Marc Renault's assignments were described as long and tedious, but his exams featured puzzle-like questions. Students emphasized that lab material often appeared on tests, and consistent effort was required to succeed.

ANDREW KUEMMEL is recorded teaching in Fall 2024, Fall 2025, Spring 2026. Recorded history may be incomplete and does not establish a future schedule.

MARC RENAULT is recorded teaching in Fall 2017, Spring 2018, Fall 2018, Spring 2019, Fall 2019, Fall 2020. Recorded history may be incomplete and does not establish a future schedule.

Recorded history may be incomplete and does not establish a future schedule.

Calendar & sections

Spring 2027

Schedule loads here as you scroll.

SectionModeEnrolled / capacityWaitlist
LEC 001Classroom Instruction0 / 1760
LAB 311Classroom Instruction0 / 440
LAB 312Classroom Instruction0 / 440
LAB 313Classroom Instruction0 / 440
LAB 314Classroom Instruction0 / 440

Times are Central. Select a meeting for details; export includes recorded dates for the selected sections. Enrollment reflects scan time.

Meeting source records

Student experience

the class

Past student reviews · Andrew Kuemmel

Andrew Kuemmel teaches this Java introduction with accessible explanations for beginners. Students found the course structure effective for learning core concepts without prior coding experience.

Recent recorded grades — Spring 2025: 3.54 GPA, 73.7% A/AB (n=255 letter grades); Fall 2025: 3.52 GPA, 75.0% A/AB (n=492 letter grades); Spring 2026: 3.47 GPA, 64.0% A/AB (n=136 letter grades).

difficulty & workload

Past student reviews · Andrew Kuemmel

Homework was due Monday through Thursday, often involving participation tasks that took significant time. Students also faced weekly Friday quizzes, with midterms scheduled on Sundays.

Past student reviews · Andrew Kuemmel

Students found Kuemmel accommodating and helpful, noting he provided clear slides and often previewed midterm content. Some described his demeanor as caring, though others found the weekly quizzes annoying.

Topics

  • Problem abstraction, decomposition, edit-compile-run cycle, data types, flow control, testing, debugging, functions, and I/O.
  • Quantitative modeling and multi-step problem solving.

Skills

  • Problem abstraction, decomposition, edit-compile-run cycle, variable usage, flow control, testing, debugging, function definition, and I/O processing.
  • Consistent coding style and meaningful documentation.
  • Interpreting truth tables, memory models, control flow charts, class diagrams, object diagrams, and use-case diagrams.

Grades

Historical instructor

Spring 2027 · Projected

Before grades are released

– average GPA

Approximate 80% prediction interval

About this estimate

The course’s semester-average GPA, not an individual student’s grade. The center uses 5 same-season terms, weighted toward recent results.

The range uses the finite-sample 80th-percentile rank of absolute errors from earlier same-season forecasts. Each forecast uses only records from earlier terms. At least four forecasts are required; bounds are rounded outward and limited to 0–4. This is an empirical estimate: changing instructors or grading policies can reduce its coverage.

7 earlier forecasts · 0.19 GPA average error.

Grades over time

Through Spring 2027

More grade details Grade mix, volume & source data

Where this course fits relative to

Latest available grades · Spring 2026 · all course levels

GPA

Higher than % of other courses in this group.

Course GPAs · red marks this course’s range

letter grades

More recorded grades than % of other courses in this group.

Typical course in this group: letter grades.

About this comparison

1280 courses over the same term, each with at least 30 recorded letter grades. Cross-listed courses count once. GPA is not a measure of difficulty or teaching quality. The typical course is the median by recorded grade count; tied values are not counted as lower. Grade counts describe course scale, not unique students or typical section size.

Descriptions compare GPA with this group’s average: at least 0.20 higher or lower; otherwise close to average. Section size uses median recorded enrollment: small up to 30, mid-sized 31–99, large 100+. Lectures and discussion/lab sections are described separately.

Sources & history

UW–Madison

Catalog & offerings

Descriptions, prerequisites, and recorded course offerings.

Catalog observation history

Observations at scan time; dates do not imply when a catalog change took effect.

Selected offering source records
COMPSCI 200 · Spring 2027

Programming I

Recorded 2026-10-14
Raw records
[
  {
    "run_id": "20261014T203208-0851c9a1",
    "semester": "1274",
    "observed_at": "2026-10-14 17:50:09.728220+00:00",
    "offering_id": "1274:266:024794",
    "course_id": "COMPSCI 200",
    "course_uid": "course_9b1d5f832c492d1c4a3ce19c",
    "term_id": "1274",
    "source_course_id": "024794",
    "source_subject_id": "266",
    "title": "Programming I",
    "credits_min": 3,
    "credits_max": 3,
    "typically_offered": "Fall, Spring, Summer"
  }
]
Rate My Professors

Student reviews

Original comments behind the course and instructor summaries.

Read original reviews
Madgrades

Grade history

Recorded grade distributions by term, section, and instructor.

Explore recorded grades
Model outputs & technical records
Qwen/Qwen3.8-27B
LLM outputs across runs
Full model traces

Recorded model configuration, reasoning, and tool conversations.

Model & dataset provenance
{
  "model": "Qwen/Qwen3.8-27B",
  "model_revision": "1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0",
  "task_version": "17",
  "output_id": "208b3228709d5d508c90fa46795b185cc7ec01bd232eac8f153965339d0273c1",
  "requirements_status": "needs_review",
  "dataset_revision": "fc1811fa52e581ea57a35c0cf3343f8740a8ffbf",
  "observed_at": "2026-10-14 17:50:09.728220+00:00"
}