What is the relation between arithmetic circuits and straight line programs?
Straight-line programs and arithmetic circuits are two equivalent ways of describing the same computational model. A straight-line program typically has the following instructions:


Reading the input: $t_i \gets x_j$.
Initialization by constants: $t_i \gets r$ for all $r$ in the ambient field.
Addition, subtraction, multiplication, division: $t_t \gets t_j \pm t_k$ and so on.
Output: $o_i \gets t_j$.


The input and output instructions aren't really necessary. The inputs are $x_1,\ldots,x_n$ and the outputs are $o_1,\ldots,o_m$.

Exercise: show that (multiple-output) arithmetic circuits and straight-line programs are equivalent: they compute the same functions with the same size complexity (if you define size in the correct way, and allow the same sets of gates and lines).