I've noticed the example code for drawing a rectangle in lecture 4.8 is stated as printing a rectangle 16 pixels wide by RAM[0] pixels high. The conditional jump in the LOOP label to end the program is set to 0; JGT (i.e. i>n), and as such, results in a rectangle that is RAM[0]+1 high instead. I believe the jump function should be JEQ rather than JGT.
This bug had been picked up some time ago by another user (see
here).
The course and book have been amazing so far, great job!