I’ve tried looking through the course notes, and I could never find an explanation there, either (they touch on something called blur, but as far as I can tell they never explain it).
I had the same question again and looked further at the implementation. It is actually implemented as a simple average from a 2x2 kernel (a padding is added to keep same image dimensions).
It could be of any size but I guess 2x2 works pretty well.