Programming II covers Object-Oriented Programming, introducing array-based and linked data structures like lists, stacks, and queues to solve complex problems.
The course involved a large amount of busy work, some of which was challenging. Projects varied heavily in time consumption, and some students encountered more exams than anticipated.
What you’ll be able to do
List and describe common operations for List, Stack, Queue, Priority Queue, Tree.
Analyze the time-complexity and compare the Big-Oh O(n) worse case complexity of different ADT implementations, and the complexity for any data structures and algorithms used to implement those operations.
Identify and properly test all boundary conditions for comprehensive testing of their programs.
Interpret and create a variety of diagrams: Call Stack trace; Stack, Queue, and Tree Data Structures; Recursive call (list or tree), control flow charts, class diagrams, object diagrams, and use-case diagrams.
Implement Object-Oriented (multi-class) standalone programs that manage a variety of data storage and retrieval operations (Program development skills and experience).
Evaluate models and arguments using quantitative information.
Satisfied QR-A and (COMP SCI 200, 220, 310, 301, or placement into COMP SCI 300) or (E C E/COMP SCI 252 and E C E 203); graduate/professional standing; declared in Capstone Certificate in COMP SCI. Not open to students with credit for COMP SCI 367.
“Used by” includes alternatives; linked courses may
have other requirements. This is a best-effort interpretation; check the
catalog requirements above.
Raw average: 2.98/5 from 155
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.8/5 raw quality · 3.3/5 difficulty · 6
reviews
RMP profile ↗ · All captured review dates; profile matched by name.
Past student reviews · Jim Williams
Jim Williams taught an organized course with helpful lectures, though students disagreed on clarity and test consistency. The workload included required topHat participation and projects that varied heavily in time consumption. Some found lectures slow, preferring to learn through projects and zybook activities, while others found the lectures informational.
Raw average: 1.69/5 from 70
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.
RMP profile ↗ · All captured review dates; profile matched by name.
No course-specific feedback yet.
Historical instructors & teaching patterns
Past student reviews · Alexander Brooks, Laura Legault
Alexander Brooks taught a class where automated grading felt tough and harsh, though he was available outside class for struggling students. Laura Legault described her lectures as fun and thorough, noting that most grades came from three tests, with weekly projects and quizzes also contributing to the final mark.
ALEXANDER BROOKS is recorded teaching in Spring 2018, Fall 2018. Recorded history may be incomplete and does not establish a future schedule.
BLERINA GKOTSE is recorded teaching in Fall 2024. Recorded history may be incomplete and does not establish a future schedule.
GARY DAHL is recorded teaching in Fall 2017, Spring 2018, Fall 2018, Spring 2019, Fall 2019, Spring 2020. Recorded history may be incomplete and does not establish a future schedule.
JEFF NYHOFF is recorded teaching in Fall 2022. Recorded history may be incomplete and does not establish a future schedule.
LAURA LEGAULT is recorded teaching in Spring 2020, Fall 2020, Fall 2021, Spring 2022, Fall 2022, Spring 2023, Fall 2023, Spring 2024, Fall 2024, Spring 2025, Fall 2025, Spring 2026. Recorded history may be incomplete and does not establish a future schedule.
MARK MANSI is recorded teaching in Fall 2023. Recorded history may be incomplete and does not establish a future schedule.
MOUNA AYARI BEN HADJ KACEM is recorded teaching in Spring 2018, Fall 2018, Spring 2019, Fall 2019, Spring 2020, Fall 2020, Fall 2021, Spring 2022, Fall 2022, Spring 2023, Fall 2023, Spring 2024, Spring 2025. 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.
Section
Mode
Enrolled / capacity
Waitlist
LEC 001
Classroom Instruction
0 / 250
0
LEC 002
Classroom Instruction
0 / 250
0
Times are Central. Select a meeting for
details; export includes recorded dates for the selected sections. Enrollment reflects scan time.
Professor Williams was very nice and willing to help, making the class enjoyable for students who did not mind coding despite its difficulty.
Recent recorded grades — Spring 2025: 3.00 GPA, 40.1% A/AB (n=593 letter grades); Fall 2025: 3.37 GPA, 62.9% A/AB (n=556 letter grades); Spring 2026: 3.17 GPA, 48.3% A/AB (n=478 letter grades).
difficulty & workload
Past student reviews · Jim Williams
The course involved a large amount of busy work, some of which was challenging. Projects varied heavily in time consumption, and some students encountered more exams than anticipated.
Past student reviews · Jim Williams
Some students found lectures boring and learned more through projects and zybook activities. Others felt the class was not well put together and tests were confusing.
Topics
Object-oriented design and interfaces
Abstract data types including trees and heaps
Searching and sorting algorithms
File I/O, exception handling, and CLI arguments
Skills
Object-Oriented Programming with classes and objects
Array-based and linked data structures implementation
Complexity analysis and recursion
Generic interfaces and test method design
Grades
Historical instructor
Spring 2027 · Projected
Before grades are released
2.812.81–3.573.57average GPA
Approximate 80% prediction interval
0.04.0
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.23 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
3.173.17GPA
Higher than 1010% of other courses in this group.
Course GPAs · red marks this course’s range
478478letter grades
More recorded grades than 9797% of other courses in this group.
Typical course in this group: 66.066.0 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.