I'm really glad you're doing this. If there's anything I can do to help with the project, I'd be happy to do so. If the pace ends up feeling too fast, you could always break up the lessons you have planned.
I'll throw out a few ideas in no particular order:
Disambiguation of the flags and the operands that use them. As long as I thought BEQ was "branch on equal", I wasn't really understanding what that operand did. I had several CMP #$00 commands which were totally redundant.
Perhaps some collision detection with the other objects in the ball game.
Stack usage. I don't think this ever gets covered in Nerdy Nights, not even to protect your registers during NMI.
Optimization of code. This would be a later tutorial, but I think it would be helpful to address general ways to improve programming for the system, perhaps as a wrap-up. Sometimes writing efficient code in assembly is much different than a higher level language, and sometimes a new potential developer may not have experience with programming at all. You could show some ways to replace operands with others that take less clock cycles, as well as structure, such as creating unrolled loops, something that you'd almost never do with a higher language, and why/when you would do things like that in assembly. I'm putting together a spreadsheet of the operands, and their various clock cycles and byte lengths if that's useful for a download file.
This is probably covered all too well in other articles online, but general best practices in programming would be useful for anyone like myself who hasn't had classical training. Conventions for naming variables, commenting on code, indenting, structuring blocks of code might be helpful. Just a link to another article would be plenty.
Nerdy Nights doesn't really go into animation. This might be useful, especially for someone who's never programmed before.
Programming enemy AI perhaps. That would be a more advanced topic.
For me, and I'd imagine a lot of people, I can read stuff a lot but it doesn't usually click until I do it a few times. I'm not really sure how this information would come in to play, as it would be the reader's responsibility to read, practice, and then come back and reread, but maybe you could pose completing a program and then review the completion in the next article. Nerdy Nights gives incomplete programs but doesn't really go over and say, "let's review that task and see how you did"
Operands that confused me most at the start:
AND, OR, EOR - The first thing I tried to do with one of these was to:
That obviously didn't work. I thought about these commands from their higher-level language uses. I had to look at and break down the functions of the seven logic gates in a very simple manner before I actually got this.
BIT - This kind of goes with the last one, as those without assembly experience probably won't be used to the idea of directly working with the 1s and 0s of a byte. Most people who really use computers probably know a bit is a 0 or 1, and that a byte is 8 bits, but how just those two options create a functioning computer system didn't really start to come in for focus for me until I started doing this.
Anything to do with the flags - I didn't get these at first, and I feel like it helped a lot to understand that every branch instruction is checking these flags. In a higher level language, you're controlling all of your branching with variable values, but here, all of the variable values are controlling the flags which control your program flow. I think because of that they deserve more attention than they get.