CS 5008 — Data Structures, Algorithms, and Their Applications within Computer Systems

4 semester hoursGraduateLectureusually offered: fall, springArlington, VABostonOakland, CAOnlinePortland, MaineSeattle, WASilicon Valley, CAVancouver, CanadaHybridLive CastOnlineTraditional

Presents an integrated approach to the study of data structures, algorithms, and their application within systems topics. Introduces a variety of fundamental algorithmic techniques (divide-and-conquer, dynamic programming, graph algorithms) and systems topics (models of computation, computer architecture, compilation, system software, networking). Demonstrates the integration of topics through programming assignments in the C language that implement fundamental data structures (lists, queues, trees, maps, graphs) and algorithms as they are applied in computer systems. Additional breadth topics include programming applications that expose students to primitives of different subsystems using threads and sockets.

Prerequisites

Corequisites (same term)

Offering history

TermSectionsEnrolledCapacityFullOpen seats/section
Fall 2023617934752%28.0
Spring 20241761376680%9.0
Fall 202437911569%12.0
Spring 20251432452062%14.0
Fall 202566322428%26.8
Spring 2026920736756%17.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 25% · T 31% · W 38% · Th 8% · F 1%

Common patterns: W (34% of sections), T (29% of sections), M (21% of sections), R (6% of sections), async (5% of sections), MW (4% 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.

Links

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