Desirable Characteristics for AI Teaching Assistants in Programming Education | Synapse