Students regularly use applications that depend on multicore processors, remote services,
asynchronous events, large data streams and libraries that hide complex computation. Yet many do
not learn these ideas formally until advanced electives, if at all.
This volume responds with a practical adoption guide for instructors, course coordinators,
departments and academic leaders. Rather than only arguing that introductory courses should be
modernized, it provides classroom-tested, modular course materials that can be adopted at
different scales.
The goal is not to turn introductory computing students into parallel programmers,
but to help them develop an early conceptual model in which computation may involve multiple
workers, remote data, performance trade-offs and coordination among interacting components —
all while ensuring that the basic CS1 learning outcomes are preserved.