After learning about vectorization and NumPy dot operators and the many benefits they confer, I’m curious as to why the examples and hints in the graded assignment fallback to the iterative, non-parallel approach for calculating *z* for logistic regression.

That is, instead of using `np.dot`

to compute `x dot w`

, the examples suggest looping through all the rows in the matrix and manually summing `w[j] * X[i][j]`

(I don’t think we can post solutions here so I’ve omitted the exact example).

Is it done this way to drive a certain point home? Are there times when this more verbose approach is more appropriate than np.dot?