Pensieve header: Producing polynomials with generic coefficients.

?Map

Join@@(Permutations /@ IntegerPartitions[5+3,{3}])-1

Flatten[Permutations /@ IntegerPartitions[5,{3}]]

GenericPolynomial[d_Integer, vars_List, gc_] := Total[Map[
(Subscript[gc, Sequence@@#])Times@@((vars^(#)))&,
Join@@(Permutations /@ IntegerPartitions[d+Length@vars,{Length@vars}])-1
]]

GenericPolynomial[3,{x,y,z},c]

Split[{1,1,2,1,1,2,1}]

GenericPolynomial[0,{x,y,z},c]

Table[GenericPolynomial[d,Table[(Subscript[x, i]),{i,n}],c], {d,0,3},{n,0,3}]//MatrixForm