As a rule of thumb, I tend to put all classes in their own files. Very rarely, I will leave a helper class in the same file if it’s generally only referenced within that class. Of course, in those cases I almost always enclose those helper classes within the class.
That does not mean that Andrew is in the wrong. It’s common during the prototyping phase as we build our classes from the ground up to keep associated non-MonoBehaviour classes with the MonoBehaviour that uses them. You can always move the class to another script at any time, or as you continue the course, you can move them to their own files as Andrew creates them. Just remember not to have them descend from MonoBehaviours or you won’t be able to use them.