  Graph coloring is one of the most famous computational problems with
applications in a wide range of areas such as planning and scheduling, resource
allocation, and pattern matching. So far coloring problems are mostly studied
on static graphs, which often stand in stark contrast to practice where data is
inherently dynamic and subject to discrete changes over time. A temporal graph
is a graph whose edges are assigned a set of integer time labels, indicating at
which discrete time steps the edge is active. In this paper we present a
natural temporal extension of the classical graph coloring problem. Given a
temporal graph and a natural number $\Delta$, we ask for a coloring sequence
for each vertex such that (i) in every sliding time window of $\Delta$
consecutive time steps, in which an edge is active, this edge is properly
colored (i.e. its endpoints are assigned two different colors) at least once
during that time window, and (ii) the total number of different colors is
minimized. This sliding window temporal coloring problem abstractly captures
many realistic graph coloring scenarios in which the underlying network changes
over time, such as dynamically assigning communication channels to moving
agents. We present a thorough investigation of the computational complexity of
this temporal coloring problem. More specifically, we prove strong
computational hardness results, complemented by efficient exact and
approximation algorithms. Some of our algorithms are linear-time
fixed-parameter tractable with respect to appropriate parameters, while others
are asymptotically almost optimal under the Exponential Time Hypothesis (ETH).
