  We develop an algebraic approach to the branching of representations of the
general linear Lie superalgebra $\mathfrak{gl}_{p|q}({\mathbb C})$, by
constructing certain super commutative algebras whose structure encodes the
branching rules. Using this approach, we derive the branching rules for
restricting any irreducible polynomial representation $V$ of
$\mathfrak{gl}_{p|q}({\mathbb C})$ to a regular subalgebra isomorphic to
$\mathfrak{gl}_{r|s}({\mathbb C})\oplus \mathfrak{gl}_{r'|s'}({\mathbb C})$,
$\mathfrak{gl}_{r|s}({\mathbb C})\oplus\mathfrak{gl}_1({\mathbb C})^{r'+s'}$ or
$\mathfrak{gl}_{r|s}({\mathbb C})$, with $r+r'=p$ and $s+s'=q$. In the case of
$\mathfrak{gl}_{r|s}({\mathbb C})\oplus\mathfrak{gl}_1({\mathbb C})^{r'+s'}$
with $s=0$ or $s=1$ but general $r$, we also construct a basis for the space of
$\mathfrak{gl}_{r|s}({\mathbb C})$ highest weight vectors in $V$; when $r=s=0$,
the branching rule leads to explicit expressions for the weight multiplicities
of $V$ in terms of Kostka numbers.
