CS 5010 — Programming Design Paradigm

4 semester hoursGraduateLectureusually offered: fall, springtypical days: T/FArlington, VABostonMiami, FLOakland, CAOnlinePortland, MaineSeattle, WASilicon Valley, CAVancouver, CanadaHybridLive CastOnlineTraditional

Introduces modern program design paradigms. Starts with functional program design, introducing the notion of a design recipe. The latter consists of two parts: a task organization (ranging from the description of data to the creation of a test suite) and a data-oriented approach to the organization of programs (ranging from atomic data to self-referential data definitions and functions as data). The course then progresses to object-oriented design, explaining how it generalizes and contrasts with functional design. In addition to studying program design, students also have an opportunity to practice pair-programming and public code review techniques, as found in industry today.

Corequisites (same term)

Offering history

TermSectionsEnrolledCapacityFullOpen seats/section
Fall 20231137263159%23.5
Spring 2024823536664%16.4
Fall 20241039557369%17.8
Spring 20251030849862%19.0
Fall 20251253791759%31.7
Spring 2026921340952%21.8

Snapshots from scheduled scrapes — not live seat availability. "Full" can exceed 100% when sections over-enroll.

Meeting times

Share of recent sections by weekday: M 11% · T 67% · W 13% · Th 6% · F 58%

Common patterns: TF (55% of sections), W (12% of sections), T (10% of sections), M (10% of sections), R (4% of sections), F (3% of sections) — in patterns, R means Thursday

Professors

Fall

Spring

Percentages are each professor's average share of the season's enrolled students in recent terms.

Unlocks

CS 5400, CS 5500, CS 6510, CS 7980

Courses that list CS 5010 in their prerequisites.

Links

Official catalog (CS course descriptions) · Student reviews on RateMyHusky · All CS courses · Plan it at numap.app