The Impact of Large Language Models on Programming Education and Student Learning Outcomes | Synapse