Simplistically you could use Binomial and Array, and then interleave zero rows. (See the edit history of this post for an example.) A better method is to craft a function using Binomial that returns the right value directly, which would be useful if you don't want to generate the entire array at once. The function below indexes from zero, which is unusual in Mathematica but aligns with Binomial.
f1 = If[OddQ @ #, 0, Binomial[#/2, #2]] &;
A 7 x 7 matrix:
Array[f1, {7, 7}, 0] // MatrixForm

For large matrices you will find that other methods to generate the underlying triangle are faster:
f2[n_] :=
With[{pt = NestList[{0, ##} + {##, 0} & @@ # &, {1}, n - 1]},
ArrayFlatten @
Riffle[{{PadRight[pt, {n, 2 n - 1}]}} ~Transpose~ {3, 2, 1}, {{0}}]
]
This function builds the full array to a specified degree:
f2[4] // MatrixForm

It is significantly faster than the first function:
Array[f1, {1500, 1500}, 0]; // Timing // First
f2[1500]; // Timing // First
2.668
0.687
There are going to be faster methods using the symmetry of the triangle and compilation but I will not elaborate unless asked, as the question does not mention performance.