CS 3100 — Program Design and Implementation 2
4 semester hoursUndergraduateLectureNUpath ADNUpath NDusually offered: fall, springtypical days: MBostonOakland, CATraditional
Builds on foundations introduced in CS 2100 to examine program design at increasing scales of complexity. Reviews abstraction, encapsulation, inheritance, and interfaces in statically typed object-oriented languages. Presents a comparative approach to software design patterns and paradigms, including object-oriented and functional programming. Offers students an opportunity to obtain a deeper understanding of the principles of program design including interface design, test-driven development, graphical design notations, reusable software components, and open-source ecosystems. Illustrates the impact of design-time decisions on software correctness including accessibility, changeability, performance, reusability, and privacy. Students collaborate throughout the semester to design and implement a large software project.
Prerequisites
Corequisites (same term)
Offering history
| Term | Sections | Enrolled | Capacity | Full | Open seats/section |
|---|---|---|---|---|---|
| Fall 2025 | 3 | 469 | 480 | 98% | 3.7 |
| Spring 2026 | 6 | 421 | 461 | 91% | 6.7 |
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 65% · T 29% · W 30% · Th 36% · F 0%
Common patterns: M (35% of sections), MWR (30% of sections), T (29% of sections), R (6% of sections) — in patterns, R means Thursday
Professors
Fall
- Lucia Nunez (100% of students) · reviews
Spring
- Ferdinand Vesely (43% of students) · reviews
- Jonathan Bell (26% of students) · reviews
- Ellen Spertus (18% of students) · reviews
- Amit Shesh (12% of students) · reviews
Percentages are each professor's average share of the season's enrolled students in recent terms.
Unlocks
CS 3650, CS 4130, CS 4150, CS 4160, CS 4180, CS 4220, CS 4300, CS 4360, CS 4400, CS 4500, CS 4520, CS 4530, CS 4545, CS 4550, CS 4610, CS 4973, CS 4991, CS 4992, CY 4973, DS 4300, DS 4973, MUST 4600
Courses that list CS 3100 in their prerequisites.
Links
Official catalog (CS course descriptions) · Student reviews on RateMyHusky · All CS courses · Plan it at numap.app