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

Offering history

TermSectionsEnrolledCapacityFullOpen seats/section
Spring 20241204842%28.0
Spring 20251233077%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

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