CS 3620 — Building Extensible Systems
4 semester hoursUndergraduateLectureNUpath WIusually offered: springtypical days: M/W/ThBostonTraditional
Deals with the design of extensible software systems, which enable clients to add functionality both statically as well as dynamically. Examples of such systems are operating systems, game servers, and Web browsers. Describes the classic systems built on C-like languages with unsafe, manual memory control and the more recent systems built on Java-like languages with safe, automated memory management. Introduces the Rust programming language, which combines the efficiency of C with safe manual memory control via type specifications and compiler constraints. Offers students an opportunity to build systems using all three settings but focuses on the Rust approach. Students also have an opportunity to evaluate their work via essays and memos.
Prerequisites
- all of:
Offering history
| Term | Sections | Enrolled | Capacity | Full | Open seats/section |
|---|---|---|---|---|---|
| Spring 2024 | 1 | 20 | 48 | 42% | 28.0 |
| Spring 2025 | 1 | 23 | 30 | 77% | 7.0 |
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 53% · T 47% · W 53% · Th 53% · F 47%
Common patterns: MWR (53% of sections), TF (47% of sections) — in patterns, R means Thursday
Professors
Spring
- Michael Ballantyne (53% of students) · reviews
- Samuel Caldwell (47% of students) · reviews
Percentages are each professor's average share of the season's enrolled students in recent terms.
Links
Official catalog (CS course descriptions) · Student reviews on RateMyHusky · All CS courses · Plan it at numap.app