For our purposes, an interactive computation is a persistent computer program that runs with a “human in the loop,” where the primary mode of interaction is through the same human iteratively writing/running blocks of code and looking at the results.
First, these programs are persistent and stateful: the program has working memory which records the results of previous computations, and which are available in subsequent computations. Second, the user provides input to the program by writing code instead of using graphical, touch or other interfaces. Third, in contrast to graphical user interfaces (GUIs) or most of software engineering, in this flavor of interactive computing, a single human is both the user and author of the program. Fourth, in contrast to software engineering, there is no externally specified goal or design target. Instead, the user explores and discovers their goal as they gain understanding from iteratively executing the code and thinking about the results and their data.